<?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>blog de gin &#187; planeta linux</title>
	<atom:link href="http://blog.mbrenes.com/?feed=rss2&amp;tag=planet-linux" rel="self" type="application/rss+xml" />
	<link>http://blog.mbrenes.com</link>
	<description>Just another Geek weblog</description>
	<lastBuildDate>Fri, 25 Jun 2010 19:39:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Convertir un pulsación de la tecla ENTER en un TAB con Javascript</title>
		<link>http://blog.mbrenes.com/?p=240</link>
		<comments>http://blog.mbrenes.com/?p=240#comments</comments>
		<pubDate>Fri, 04 Jun 2010 17:47:40 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[planeta codigo]]></category>
		<category><![CDATA[planeta linux]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=240</guid>
		<description><![CDATA[Bueno, en este caso el usuario es el que manda y si quiere que un puto ENTER lo mande a otro campo pues así se hará, aunque no veo que tiene de malo la tecla tabulador(en mis tiempos&#8230;), pues ambas estan normalmente en los extremos del teclado&#8230; mmm&#8230; será por complacer a las mayorías en [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, en este caso el usuario es el que <em>manda</em> y si quiere que un puto ENTER lo mande a otro campo pues así se hará, aunque no veo que tiene de malo la tecla tabulador(en mis tiempos&#8230;), pues ambas estan <em>normalmente</em> en los extremos del teclado&#8230; mmm&#8230; será por complacer a las mayorías en lugar de los <em>zurdos</em>, y si es un zurdo el único que va a usar el sistema, bah!.</p>
<p>El caso es que si usamos jQuery, colocamos este capturador del evento, al presionar alguna tecla:</p>
<pre class="brush: jscript;">
$(document).ready(function() {
/* Aquí podría filtrar que controles necesitará manejar,
 * en el caso de incluir un dropbox $('input, select');
 */
tb = $('input');

if ($.browser.mozilla) {
	$(tb).keypress(enter2tab);
} else {
	$(tb).keydown(enter2tab);
}
});
</pre>
<p>Esta función hace que un ENTER se comporte como un TAB, esto hará que al dar ENTER el elemento siguiente obtenga el foco.</p>
<pre class="brush: jscript;">
function enter2tab(e) {
	if (e.keyCode == 13) {
		cb = parseInt($(this).attr('tabindex'));

		if ($(':input[tabindex=\'' + (cb + 1) + '\']') != null) {
			$(':input[tabindex=\'' + (cb + 1) + '\']').focus();
			$(':input[tabindex=\'' + (cb + 1) + '\']').select();
			e.preventDefault();

			return false;
		}
	}
}
</pre>
<p>El código original(base de este) se encuentra <a href="http://codeigniter.com/forums/viewthread/121358/">aquí</a>, sin embargo, mi versión opera utilizando la propiedad <strong>tabindex</strong> de los elementos HTML, lo cual es lo que necesitaba.</p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 3, 2010 -- <a href="http://blog.mbrenes.com/?p=236" title="<!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:-->"><!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=217" title="<!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:-->"><!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:--></a> (0)</li><li>Mayo 11, 2010 -- <a href="http://blog.mbrenes.com/?p=211" title="<!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:-->"><!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=218" title="<!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:-->"><!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:--></a> (0)</li><li>Mayo 8, 2010 -- <a href="http://blog.mbrenes.com/?p=200" title="Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird">Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird</a> (2)</li><li>Abril 23, 2010 -- <a href="http://blog.mbrenes.com/?p=177" title="FLISOL 2010">FLISOL 2010</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=240</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actualizar Trac en Debian Etch usando Backports</title>
		<link>http://blog.mbrenes.com/?p=236</link>
		<comments>http://blog.mbrenes.com/?p=236#comments</comments>
		<pubDate>Thu, 03 Jun 2010 16:41:41 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[planeta codigo]]></category>
		<category><![CDATA[planeta linux]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=236</guid>
		<description><![CDATA[Si, soy bien guevón por tener un servidor con Etch aún, pero no tengo nada crítico allí.
Lo primero, agregar el repo para APT.

printf &#34;\ndeb http://www.backports.org/debian etch-backports main contrib non-free&#34; \
 &#62;&#62; /etc/apt/sources.list

Actualizar la lista de repositorios.

apt-get update
apt-get install debian-backports-keyring

e instalar Trac.

apt-get update
apt-get -t etch-backports install trac

Y por último, como ya tenía creado algunos proyectos, pues [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Si, soy bien <em>guevón</em> por tener un servidor con Etch aún, pero no tengo nada crítico allí.</p></blockquote>
<p>Lo primero, agregar el <em>repo</em> para APT.</p>
<pre class="brush: bash;">
printf &quot;\ndeb http://www.backports.org/debian etch-backports main contrib non-free&quot; \
 &gt;&gt; /etc/apt/sources.list
</pre>
<p>Actualizar la lista de repositorios.</p>
<pre class="brush: bash;">
apt-get update
apt-get install debian-backports-keyring
</pre>
<p>e instalar Trac.</p>
<pre class="brush: bash;">
apt-get update
apt-get -t etch-backports install trac
</pre>
<p>Y por último, como ya tenía creado algunos proyectos, pues actualizarlos.</p>
<pre class="brush: bash;">
trac-admin /var/lib/trac/project_1 upgrade
</pre>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 4, 2010 -- <a href="http://blog.mbrenes.com/?p=240" title="<!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:-->"><!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:--></a> (0)</li><li>Junio 2, 2010 -- <a href="http://blog.mbrenes.com/?p=233" title="<!--:es-->Instalación de Subversion + Trac<!--:-->"><!--:es-->Instalación de Subversion + Trac<!--:--></a> (1)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=217" title="<!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:-->"><!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:--></a> (0)</li><li>Mayo 11, 2010 -- <a href="http://blog.mbrenes.com/?p=211" title="<!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:-->"><!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=218" title="<!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:-->"><!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:--></a> (0)</li><li>Mayo 8, 2010 -- <a href="http://blog.mbrenes.com/?p=200" title="Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird">Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=236</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalación de Subversion + Trac</title>
		<link>http://blog.mbrenes.com/?p=233</link>
		<comments>http://blog.mbrenes.com/?p=233#comments</comments>
		<pubDate>Wed, 02 Jun 2010 22:23:06 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[chuletas]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[planeta linux]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=233</guid>
		<description><![CDATA[Esta anotación es para recordar como crear un repositorio de control de versiones con Subversion y Trac(como sistema de seguimiento de errores y gestión de proyectos), siempre normalmente uso Debian para estos menesteres.

sudo apt-get install -y trac apache2 libapache2-mod-python \
	libapache2-svn python-setuptools subversion-tools \
	python-subversion python-dev build-essential graphviz \
	htmldoc enscript;

La ubicación esta a criterio de donde ocupen [...]]]></description>
			<content:encoded><![CDATA[<p>Esta anotación es para recordar como crear un repositorio de control de versiones con Subversion y Trac(como sistema de seguimiento de errores y gestión de proyectos), <del datetime="2010-06-02T23:04:53+00:00">siempre</del> normalmente uso Debian para estos menesteres.</p>
<pre class="brush: bash;">
sudo apt-get install -y trac apache2 libapache2-mod-python \
	libapache2-svn python-setuptools subversion-tools \
	python-subversion python-dev build-essential graphviz \
	htmldoc enscript;
</pre>
<p>La ubicación esta a criterio de donde ocupen donde este.</p>
<pre class="brush: bash;">
sudo mkdir /var/lib/trac;
sudo mkdir /var/lib/svn;
</pre>
<p>El esqueleto del proyecto.</p>
<pre class="brush: bash;">
sudo mkdir /tmp/project;
sudo mkdir /tmp/project/branches;
sudo mkdir /tmp/project/tags;
sudo mkdir /tmp/project/trunk;
</pre>
<p>Se crean el/los proyectos, se hace el <em>import</em> inicial.</p>
<pre class="brush: bash;">
sudo svnadmin create /var/lib/svn/project_1 --fs-type fsfs;
sudo svn import /tmp/project file:///var/lib/svn/project_1 -m &quot;initial import&quot;;
rm -Rf /tmp/project;
</pre>
<p>Se crean los usuarios.</p>
<pre class="brush: bash;">
sudo htpasswd -cm /etc/apache2/dav_svn.passwd admin;

sudo htpasswd -m /etc/apache2/dav_svn.passwd user1;
sudo htpasswd -m /etc/apache2/dav_svn.passwd user2;
sudo htpasswd -m /etc/apache2/dav_svn.passwd user3;
</pre>
<p>Se asignan permisos para la lista de usuarios.</p>
<pre class="brush: bash;">
sudo chown www-data:www-data /etc/apache2/dav_svn.passwd;
</pre>
<p>Se procede a la configuración mínima del proyecto con Trac.</p>
<pre class="brush: bash;">
/usr/bin/trac-admin /var/lib/trac/project_1 initenv;
</pre>
<p>Se asignan permisos a el/los repositorios.</p>
<pre class="brush: bash;">
sudo find /var/lib/svn/project_1 -type f -exec chmod 660 {} \;
sudo find /var/lib/svn/project_1 -type d -exec chmod 2770 {} \;

sudo find /var/lib/trac/project_1 -type f -exec chmod 660 {} \;
sudo find /var/lib/trac/project_1 -type d -exec chmod 2770 {} \;

sudo chown -R root:www-data /var/lib/trac;
sudo chown -R root:www-data /var/lib/svn;
</pre>
<p>Este seria la configuración del VirtualHost usando Apache: <strong>/etc/apache2/sites-enabled/trac</strong> (que debería ser un enlace simbólico apuntando a <strong>/etc/apache2/sites-available/trac</strong>).</p>
<pre class="brush: plain;">
&lt;VirtualHost *:80&gt;
	ServerAdmin webmaster@localhost
	ServerName localhost
	DocumentRoot /var/www
	ErrorLog /var/log/apache2/error.trac.log
	CustomLog /var/log/apache2/access.trac.log combined

	&lt;LocationMatch /trac&gt;
		SetHandler mod_python
		PythonInterpreter main_interpreter
		PythonHandler trac.web.modpython_frontend
		PythonOption TracEnvParentDir /var/lib/trac/
		PythonOption TracUriRoot /trac/
		PythonOption PYTHON_EGG_CACHE /tmp/
	&lt;/LocationMatch&gt;

	&lt;LocationMatch &quot;/trac/[^/]+/login&quot;&gt;
		AuthType Basic
		AuthName &quot;Trac&quot;
		AuthUserFile /etc/apache2/dav_svn.passwd
		Require valid-user
	&lt;/LocationMatch&gt;
&lt;/VirtualHost&gt;
</pre>
<p>Para la autenticación.</p>
<pre class="brush: bash;">
/etc/apache2/mods-available/dav_svn.conf
</pre>
<pre class="brush: plain;">
&lt;Location /svn&gt;
	DAV svn
	SVNParentPath /var/lib/svn
	SVNListParentPath On
	AuthType Basic
	AuthName &quot;Repositorio subversion&quot;
	AuthUserFile /etc/apache2/dav_svn.passwd
	SVNAutoversioning on
	Require valid-user
&lt;/Location&gt;
</pre>
<p>Habilitamos módulos necesarios para Apache.</p>
<pre class="brush: bash;">
sudo a2enmod dav;
sudo a2enmod dav_fs;
sudo a2enmod python;
sudo a2dissite default;
sudo a2ensite trac;
</pre>
<p>Reiniciamos Apache si es necesario.</p>
<pre class="brush: bash;">
sudo /etc/init.d/apache2 reload;
</pre>
<p>o</p>
<pre class="brush: bash;">
sudo /etc/init.d/apache2 force-reload;
</pre>
<p>en última instancia :(.</p>
<pre class="brush: bash;">
sudo /etc/init.d/apache2 restart;
</pre>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 3, 2010 -- <a href="http://blog.mbrenes.com/?p=236" title="<!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:-->"><!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=218" title="<!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:-->"><!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:--></a> (0)</li><li>Junio 4, 2010 -- <a href="http://blog.mbrenes.com/?p=240" title="<!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:-->"><!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=217" title="<!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:-->"><!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:--></a> (0)</li><li>Mayo 11, 2010 -- <a href="http://blog.mbrenes.com/?p=211" title="<!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:-->"><!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:--></a> (0)</li><li>Abril 23, 2010 -- <a href="http://blog.mbrenes.com/?p=177" title="FLISOL 2010">FLISOL 2010</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=233</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Utilizando ficheros alternativos de configuración con CodeIgniter</title>
		<link>http://blog.mbrenes.com/?p=217</link>
		<comments>http://blog.mbrenes.com/?p=217#comments</comments>
		<pubDate>Tue, 01 Jun 2010 22:51:57 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[code igniter]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[planeta codigo]]></category>
		<category><![CDATA[planeta linux]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=217</guid>
		<description><![CDATA[Es muy incómodo tener un solo fichero de configuración para almacenar variables que necesitemos reutilizar, en CI, podemos distribuirlas en diferentes ficheros y tener mejor organizado nuestro proyecto.
Lo común en usar la clase Config para obtener estas variables de config/config.php

$config['index_page'] = &#34;index.php&#34;;

y en el controlador hacemos:

echo $this-&#62;config-&#62;item('index_page');

Si queremos un fichero diferente, para guardar preferencias particulares, [...]]]></description>
			<content:encoded><![CDATA[<p>Es muy incómodo tener un solo fichero de configuración para almacenar variables que necesitemos reutilizar, en CI, podemos distribuirlas en diferentes ficheros y tener mejor organizado nuestro proyecto.</p>
<p>Lo común en usar la clase Config para obtener estas variables de <strong>config/config.php</strong></p>
<pre class="brush: php;">
$config['index_page'] = &quot;index.php&quot;;
</pre>
<p>y en el controlador hacemos:</p>
<pre class="brush: php;">
echo $this-&gt;config-&gt;item('index_page');
</pre>
<p>Si queremos un fichero diferente, para guardar preferencias particulares, lo guardamos en el directorio config, por ejemplo: config/site.php</p>
<pre class="brush: php;">
&lt;?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$config['site_title']	= &quot;Lo que sea&quot;;

/* End of file site.php */
/* Location: ./system/application/config/site.php */
</pre>
<p>Y le decimos a CI que lo cargue automáticamente, esto se lo indicamos en config/autoload.php, donde le pasamos un array a la variable $autoload['config'] con el nombre de los ficheros que tengamos(sin la extensión .php).</p>
<pre class="brush: php;">
$autoload['config'] = array('site');
</pre>
<p>Asi, ya podemos extraer nuestra variable.</p>
<pre class="brush: php;">
echo $this-&gt;config-&gt;item('site_title');
</pre>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 4, 2010 -- <a href="http://blog.mbrenes.com/?p=240" title="<!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:-->"><!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:--></a> (0)</li><li>Junio 3, 2010 -- <a href="http://blog.mbrenes.com/?p=236" title="<!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:-->"><!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=218" title="<!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:-->"><!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:--></a> (0)</li><li>Mayo 11, 2010 -- <a href="http://blog.mbrenes.com/?p=211" title="<!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:-->"><!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:--></a> (0)</li><li>Mayo 8, 2010 -- <a href="http://blog.mbrenes.com/?p=200" title="Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird">Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird</a> (2)</li><li>Abril 23, 2010 -- <a href="http://blog.mbrenes.com/?p=177" title="FLISOL 2010">FLISOL 2010</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=217</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Organizando la estructura de directorios de CodeIgniter</title>
		<link>http://blog.mbrenes.com/?p=218</link>
		<comments>http://blog.mbrenes.com/?p=218#comments</comments>
		<pubDate>Tue, 01 Jun 2010 21:43:01 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[chuletas]]></category>
		<category><![CDATA[code igniter]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[planeta codigo]]></category>
		<category><![CDATA[planeta linux]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=218</guid>
		<description><![CDATA[CI es un framework, con el cual me ha gustado bastante desarrollar aplicaciones escritas en PHP. No requiere de mucho manoseo para hacerlo funcionar, es decir, no necesitas instalar paquetes de más o de una configuración complicada para empezar a trabajar, simplemente: descargas y descomprimes.
Sin embargo, muchos tenemos diferentes formas de hacer las cosas(o como [...]]]></description>
			<content:encoded><![CDATA[<p>CI es un framework, con el cual me ha gustado bastante desarrollar aplicaciones escritas en PHP. No requiere de mucho <em>manoseo</em> para hacerlo funcionar, es decir, no necesitas instalar paquetes de más o de una configuración complicada para empezar a trabajar, simplemente: descargas y descomprimes.</p>
<p>Sin embargo, muchos tenemos diferentes formas de hacer las cosas(o como dice mi tata: <em>Cada quien se saca los mocos como puede.</em>), y CI te deja hacer prescisamente eso, lo cual es una ventaja.</p>
<p>En mi caso, en particular no me agrada usar CI de la manera en que viene por defecto:</p>
<p><center><a href="wp-content/uploads/ci_ds_default.jpg" rel="lightbox"><img src="wp-content/uploads/ci_ds_default-300x245.jpg" alt="alt" style="margin: 5px 5px 5px 5px;" /></a></center></p>
<p>Sino, que lo utilizo de esta manera, notese que <strong>system/</strong> lo renombro como <strong>ci/</strong> y <strong>application/</strong> lo subo a la raíz, además de renombarlo como <strong>app/</strong>:</p>
<p><center><a href="wp-content/uploads/ci_ds_my.jpg" rel="lightbox"><img src="wp-content/uploads/ci_ds_my-300x211.jpg" alt="alt" style="margin: 5px 5px 5px 5px;" /></a></center></p>
<p>En la raíz, tambien suelo poner los recursos de <em>acceso <del datetime="2010-06-01T21:17:34+00:00">púbico</del> público</em> como las imágenes, hojas de estilo y demás scripts(img/, css/, js/).</p>
<p>Los direcorios app y ci van con su .htaccess(mínimo):</p>
<pre class="brush: plain;">
deny from all
</pre>
<p>Lo anterior requiere unos cambios en el index.php:</p>
<pre class="brush: php;">
$system_folder = &quot;ci&quot;;
$application_folder = &quot;app&quot;;
</pre>
<p>en lugar de:</p>
<pre class="brush: php;">
$system_folder = &quot;system&quot;;
$application_folder = &quot;application&quot;;
</pre>
<p>Demasiado complicado!, pero si no lo apunto en algún lado se me olvida.</p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=217" title="<!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:-->"><!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:--></a> (0)</li><li>Junio 4, 2010 -- <a href="http://blog.mbrenes.com/?p=240" title="<!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:-->"><!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:--></a> (0)</li><li>Junio 3, 2010 -- <a href="http://blog.mbrenes.com/?p=236" title="<!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:-->"><!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:--></a> (0)</li><li>Junio 2, 2010 -- <a href="http://blog.mbrenes.com/?p=233" title="<!--:es-->Instalación de Subversion + Trac<!--:-->"><!--:es-->Instalación de Subversion + Trac<!--:--></a> (1)</li><li>Mayo 11, 2010 -- <a href="http://blog.mbrenes.com/?p=211" title="<!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:-->"><!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:--></a> (0)</li><li>Abril 23, 2010 -- <a href="http://blog.mbrenes.com/?p=177" title="FLISOL 2010">FLISOL 2010</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=218</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacer que NetBeans guarde nuestros ficheros fuente en UTF8</title>
		<link>http://blog.mbrenes.com/?p=211</link>
		<comments>http://blog.mbrenes.com/?p=211#comments</comments>
		<pubDate>Tue, 11 May 2010 21:48:45 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[planeta codigo]]></category>
		<category><![CDATA[planeta linux]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=211</guid>
		<description><![CDATA[Una forma de guardar por defecto nuestros ficheros fuente en alguna codificación de caracteres en especial si usamos Netbeans(esto a raíz de una consulta en solocodigo), sería indicandoselo en su fichero de configuración, que se encuentra en /etc/netbeans.conf.
En el parámetro:

netbeans_default_options

Agregamos dentro de las comillas el valor:

-J-Dfile.encoding=UTF-8

En este caso le indicamos que lo guarde en UTF8.
Mas [...]]]></description>
			<content:encoded><![CDATA[<p>Una forma de guardar por defecto nuestros ficheros fuente en alguna codificación de caracteres en especial si usamos Netbeans(esto a raíz de una consulta en <a href="http://foros.solocodigo.com/viewtopic.php?f=36&#038;t=43042">solocodigo</a>), sería indicandoselo en su fichero de configuración, que se encuentra en <strong>/etc/netbeans.conf</strong>.</p>
<p>En el parámetro:</p>
<pre class="brush: plain;">
netbeans_default_options
</pre>
<p>Agregamos dentro de las comillas el valor:</p>
<pre class="brush: plain;">
-J-Dfile.encoding=UTF-8
</pre>
<p>En este caso le indicamos que lo guarde en UTF8.</p>
<p><strong>Mas información:</strong></p>
<p><a href="http://wiki.netbeans.org/FaqNetbeansConf">http://wiki.netbeans.org/FaqNetbeansConf</a></p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 4, 2010 -- <a href="http://blog.mbrenes.com/?p=240" title="<!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:-->"><!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:--></a> (0)</li><li>Junio 3, 2010 -- <a href="http://blog.mbrenes.com/?p=236" title="<!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:-->"><!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=217" title="<!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:-->"><!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=218" title="<!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:-->"><!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:--></a> (0)</li><li>Mayo 8, 2010 -- <a href="http://blog.mbrenes.com/?p=200" title="Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird">Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird</a> (2)</li><li>Abril 23, 2010 -- <a href="http://blog.mbrenes.com/?p=177" title="FLISOL 2010">FLISOL 2010</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=211</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird</title>
		<link>http://blog.mbrenes.com/?p=200</link>
		<comments>http://blog.mbrenes.com/?p=200#comments</comments>
		<pubDate>Sat, 08 May 2010 03:14:01 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[musica]]></category>
		<category><![CDATA[planeta codigo]]></category>
		<category><![CDATA[planeta linux]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=200</guid>
		<description><![CDATA[Primero decir que twitter0 es un cliente de terminal para Twitter, y debido a que permite enviar mensajes utilizando como contenido la canción que escuchamos en el momento y aún uso Songbird es que me he hecho un plugin.
En este momento soporta algunos reproductores, este plugin es para enviar un twitt si usamos Songbird.
Instalamos dependencias [...]]]></description>
			<content:encoded><![CDATA[<p>Primero decir que <a href="http://www.codigounix.com.ar/?p=1958">twitter0</a> es un cliente de terminal para Twitter, y debido a que permite enviar mensajes utilizando como contenido la canción que escuchamos en el momento y aún uso Songbird es que me he hecho un plugin.</p>
<p>En este momento soporta algunos reproductores, este plugin es para enviar un <em>twitt</em> si usamos Songbird.</p>
<p>Instalamos dependencias y utilitarios:</p>
<pre class="brush: bash;">
# apt-get install mercurial dbus python-twitter python-dbus python2.6
</pre>
<p>Para ello he usado la versión de desarrollo, que obtenemos del repositorio.</p>
<pre class="brush: bash;">
$ cd $HOME
$ hg clone https://twittero-client.googlecode.com/hg/ twittero-client
</pre>
<p>Ejecutamos el cliente, aquí creará un fichero de configuración mínimo, en el cual editamos las opciones <strong>username</strong>, <strong>password</strong> y <strong>player</strong>:</p>
<pre class="brush: bash;">
$ python2.6 twittero-client/main/twittero
</pre>
<pre class="brush: bash;">
$ vim ~/.twittero/twittero.conf
</pre>
<pre class="brush: plain;">
[account]
username = mi-usuario
password = mi-clave

[options]
player = songbird
cache = 0
timeout = 60
useragent = Twittero
</pre>
<p>Plugin:</p>
<p>Este lo guardamos como <strong>~/.twittero/scripts/.songbird.sh</strong> con permisos de ejecución.</p>
<pre class="brush: python;">
#!/usr/bin/python

# -----------------------------------------------------------
# Twittero - Powerful Twitter client
# Songbird Script for Twittero
# -----------------------------------------------------------
# $author: Moises Brenes &lt;moises.brenes@gmail.com&gt;
# $license: BSD License - $depends: songbird - dbus - mpris
# -----------------------------------------------------------

import dbus

try:
	bus = dbus.SessionBus()
	o = bus.get_object('org.mpris.songbird', '/Player')
except:
	print 'noplaying'
	exit(1)

data = o.GetMetadata()
print '{0} by {1} from {2}'.format(data['title'], data['artist'], data['album'])
</pre>
<p>Lo último que falta es instalarle el plugin <a href="http://addons.songbirdnest.com/addon/1626">mpris</a> a Songbird(y reiniciarlo) para obtener el reporte de la pieza reproducida.</p>
<p>Y así mandamos un <em>twitt </em>con la canción que escuchamos.</p>
<pre class="brush: bash;">
$ python2.6 twittero-client/main/twittero --listening
</pre>
<p><strong>Enlaces de interés:</strong></p>
<p><a href="http://code.google.com/p/twittero-client/">http://code.google.com/p/twittero-client/</a><br />
<a href="http://code.google.com/p/twittero-client/wiki/ManualUsuario">http://code.google.com/p/twittero-client/wiki/ManualUsuario</a></p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 4, 2010 -- <a href="http://blog.mbrenes.com/?p=240" title="<!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:-->"><!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:--></a> (0)</li><li>Junio 3, 2010 -- <a href="http://blog.mbrenes.com/?p=236" title="<!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:-->"><!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=217" title="<!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:-->"><!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:--></a> (0)</li><li>Mayo 11, 2010 -- <a href="http://blog.mbrenes.com/?p=211" title="<!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:-->"><!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=218" title="<!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:-->"><!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:--></a> (0)</li><li>Abril 23, 2010 -- <a href="http://blog.mbrenes.com/?p=177" title="FLISOL 2010">FLISOL 2010</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=200</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Corregido bug en plugin de retardo para el dataTable</title>
		<link>http://blog.mbrenes.com/?p=193</link>
		<comments>http://blog.mbrenes.com/?p=193#comments</comments>
		<pubDate>Mon, 03 May 2010 17:45:47 +0000</pubDate>
		<dc:creator>gin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[planeta codigo]]></category>
		<category><![CDATA[planeta linux]]></category>

		<guid isPermaLink="false">http://blog.mbrenes.com/?p=193</guid>
		<description><![CDATA[Si estabas usando la versión 1.62 de dataTable junto con el plugin fnSetFilteringDelay(v 2.2.0), habrás notado que al parametrizar el tiempo de retardo, este no surtía efecto y siempre quedaba en 250 milisegundos.


$('#data_table').dataTable().fnSetFilteringDelay(750);

Bueno, esto ya ha sido corregido en la version 2.2.1 gracias a Allan por atender a este pequeño bug. ;D ya que lo [...]]]></description>
			<content:encoded><![CDATA[<p>Si estabas usando la versión 1.62 de <a href="http://datatables.net/">dataTable</a> junto con el plugin <a href="http://datatables.net/plug-ins/api#fnSetFilteringDelay">fnSetFilteringDelay</a>(v 2.2.0), habrás notado que al parametrizar el tiempo de retardo, este no surtía efecto y siempre quedaba en 250 milisegundos.</p>
<p><center><a href="wp-content/uploads/jtab_delay.png" rel="lightbox"><img src="wp-content/uploads/jtab_delay-300x125.png" alt="alt" style="margin: 5px 5px 5px 5px;" /></a></center></p>
<pre class="brush: jscript;">
$('#data_table').dataTable().fnSetFilteringDelay(750);
</pre>
<p>Bueno, esto ya ha sido corregido en la version 2.2.1 gracias a Allan por atender a este pequeño <a href="http://datatables.net/forums/comments.php?DiscussionID=1821&#038;page=1#Item_0">bug</a>. ;D ya que lo estaba usando en proyecto.</p>
<pre class="brush: diff;">
Index: trunk/js/jquery/jtab.fn_set_filtering_delay.js
===================================================================
--- a/trunk/js/jquery/jtab.fn_set_filtering_delay.js
+++ b/trunk/js/jquery/jtab.fn_set_filtering_delay.js
@@ -3,5 +3,5 @@
          * Type:        Plugin for DataTables (www.datatables.net) JQuery plugin.
          * Name:        dataTableExt.oApi.fnSetFilteringDelay
-         * Version:     2.2.0
+         * Version:     2.2.1
          * Description: Enables filtration delay for keeping the browser more
          *              responsive while searching for a longer keyword.
@@ -18,8 +18,11 @@
          * Contact:     zygimantas.berziunas /AT\ hotmail.com
          */
-        var _that = this;
+        var
+                _that = this,
+                iDelay = (typeof iDelay == 'undefined') ? 250 : iDelay;
+
         this.each( function ( i ) {
                 $.fn.dataTableExt.iApiIndex = i;
-                var     iDelay = (iDelay &amp;&amp; (/^[0-9]+$/.test(iDelay)) ? iDelay : 750),
+                var
                         $this = this,
                         oTimerId = null,
</pre>
<p>El plugin en mención, añade un retardo al tipear el parámetro de búsqueda para filtrar datos que serán listados, con lo cual se evita sobrecargar al servidor de peticiones(al menos las reduce, ya que por defecto filtra en tiempo <em>real</em>).</p>
<h4  class="related_post_title">También te puede interesar:</h4><ul class="related_post"><li>Junio 4, 2010 -- <a href="http://blog.mbrenes.com/?p=240" title="<!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:-->"><!--:es-->Convertir un pulsación de la tecla ENTER en un TAB con Javascript<!--:--></a> (0)</li><li>Junio 3, 2010 -- <a href="http://blog.mbrenes.com/?p=236" title="<!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:-->"><!--:es-->Actualizar Trac en Debian Etch usando Backports<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=217" title="<!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:-->"><!--:es-->Utilizando ficheros alternativos de configuración con CodeIgniter<!--:--></a> (0)</li><li>Junio 1, 2010 -- <a href="http://blog.mbrenes.com/?p=218" title="<!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:-->"><!--:es-->Organizando la estructura de directorios de CodeIgniter<!--:--></a> (0)</li><li>Mayo 11, 2010 -- <a href="http://blog.mbrenes.com/?p=211" title="<!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:-->"><!--:de-->Saving unsere Quelldateien als UTF8 mit NetBeans<!--:--><!--:en-->Saving our source files as UTF8 with NetBeans<!--:--><!--:es-->Hacer que NetBeans guarde nuestros ficheros fuente en UTF8<!--:--></a> (0)</li><li>Mayo 8, 2010 -- <a href="http://blog.mbrenes.com/?p=200" title="Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird">Plugin para twittear lo que estás reproduciendo con Twitter0 + Songbird</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.mbrenes.com/?feed=rss2&amp;p=193</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
