<?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>Otro Blog Geek &#187; web</title>
	<atom:link href="http://www.otrobloggeek.com/blog/category/programacion/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.otrobloggeek.com/blog</link>
	<description>Mis andanzas como geek de las tecnologÃ­as, la web y GNU/Linux</description>
	<lastBuildDate>Fri, 12 Feb 2010 00:41:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>no_script_name en Symfony (1.2)</title>
		<link>http://www.otrobloggeek.com/blog/2009/10/no_script_name-en-symfony-1-2/</link>
		<comments>http://www.otrobloggeek.com/blog/2009/10/no_script_name-en-symfony-1-2/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 10:33:21 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=861</guid>
		<description><![CDATA[SÃ³lo un pequeÃ±o y corto apunte para recordarme a mÃ­ mismo un problema que acabo de tener desarrollando con Symfony.
Recordad, para usar no_script_name en Symfony es necesario que mod_rewrite estÃ© activo en Apache 2.
Para activarlo en un servidor con ubuntu:



sudo a2enmod rewrite



Via: Symfony forum


No hay posts relacionados.


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>SÃ³lo un pequeÃ±o y corto apunte para recordarme a mÃ­ mismo un problema que acabo de tener desarrollando con Symfony.</p>
<p>Recordad, para usar no_script_name en Symfony es necesario que mod_rewrite estÃ© activo en Apache 2.</p>
<p>Para activarlo en un servidor con ubuntu:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> a2enmod rewrite</div>
</li>
</ol>
</div>
<p>Via: <a href="http://forum.symfony-project.org/index.php/m/44225/">Symfony forum</a></p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2009/10/no_script_name-en-symfony-1-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Google Reader se me ha muerto</title>
		<link>http://www.otrobloggeek.com/blog/2009/07/google-reader-se-me-ha-muerto/</link>
		<comments>http://www.otrobloggeek.com/blog/2009/07/google-reader-se-me-ha-muerto/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 17:51:34 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=854</guid>
		<description><![CDATA[Pues sÃ­, acabo de entrar en Google Reader con Firefox 3.5 desde Leopard y resulta que el lector de feeds se ha quedado &#8220;frito&#8221;. No sÃ© muy bien cÃ³mo explicarlo, asÃ­ que lo mejor es que veÃ¡is una imagen.
Â¿A alguien mÃ¡s le ha pasado esto? No he conseguido reproducir el problema con Safari, Opera ni [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Pues sÃ­, acabo de entrar en Google Reader con Firefox 3.5 desde Leopard y resulta que el lector de feeds se ha quedado &#8220;frito&#8221;. No sÃ© muy bien cÃ³mo explicarlo, asÃ­ que lo mejor es que veÃ¡is una imagen.</p>
<div id="attachment_857" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.otrobloggeek.com/blog/wp-content/uploads/2009/07/google-reader.jpg"><img class="size-medium wp-image-857" title="Google Reader &quot;frito&quot;" src="http://www.otrobloggeek.com/blog/wp-content/uploads/2009/07/google-reader-300x182.jpg" alt="Google Reader &quot;frito&quot;" width="300" height="182" /></a><p class="wp-caption-text">Google Reader &quot;frito&quot;</p></div>
<p>Â¿A alguien mÃ¡s le ha pasado esto? No he conseguido reproducir el problema con Safari, Opera ni Google Chrome&#8230; asÃ­ que me da por pensar que es un problema mÃ­o.</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2009/07/google-reader-se-me-ha-muerto/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Detener el registro de bots en Wordpress</title>
		<link>http://www.otrobloggeek.com/blog/2009/05/detener-el-registro-de-bots-en-wordpress/</link>
		<comments>http://www.otrobloggeek.com/blog/2009/05/detener-el-registro-de-bots-en-wordpress/#comments</comments>
		<pubDate>Sun, 24 May 2009 11:31:57 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=844</guid>
		<description><![CDATA[Ãšltimamente una cantidad enorme de bots spammers se estÃ¡n registrando en Otro Blog Geek&#8230; no le di importancia hasta que me di cuenta de que prÃ¡cticamente todos los usuarios registrados del blog son spammers. Una pena que Akismet no se haga cargo de esto, sin embargo hay vida mÃ¡s allÃ¡ de Akismet y no es [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Ãšltimamente una cantidad enorme de bots spammers se estÃ¡n registrando en Otro Blog Geek&#8230; no le di importancia hasta que me di cuenta de que prÃ¡cticamente todos los usuarios registrados del blog son spammers. Una pena que Akismet no se haga cargo de esto, sin embargo hay vida mÃ¡s allÃ¡ de Akismet y no es tan difÃ­cil deshacerse de estos bots.</p>
<p>Lo primero ha sido comprobar unas cuantas de las direcciones y eliminarlas buscando el e-mail de los usuarios registrados en <a title="Stop Forum Spam" href="http://www.stopforumspam.com/">Stop Forum Spam</a>. Una vez que los usuarios ya estaban eliminados, lo importante es evitar que no se vuelvan a registrar este tipo de bots. Para esto he encontrado <a title="Sabre" href="http://didier.lorphelin.free.fr/blog/index.php/wordpress/sabre/">Sabre</a>, un plugin para Wordpress que es bastante completo y se encarga de evitar de un montÃ³n de formas que los bots se registren.</p>
<p>Los mÃ©todos que Sabre utiliza son bastante variados:</p>
<ul>
<li>Captchas.</li>
<li>Preguntas lÃ³gicas a los usuarios (operaciones matemÃ¡ticas simples, etc.)</li>
<li>Requerir una activaciÃ³n por parte de los usuarios (o del administrador)</li>
<li>Comprobar si el navegador dispone de soporte javascript.</li>
</ul>
<p>Yo por ahora he activado el soporte para activaciÃ³n por parte del usuario, ya que me ha parecido el menos invasivo para los usuarios que quieran registrarse.</p>
<p>Por cierto, si alguno ha perdido su usuario reguistrado (que lo dudo) lo siento muchÃ­simo.</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2009/05/detener-el-registro-de-bots-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nomina a Symfony en los premios SourceForge.net</title>
		<link>http://www.otrobloggeek.com/blog/2009/05/nomina-a-symfony-en-los-premios-sourceforgenet/</link>
		<comments>http://www.otrobloggeek.com/blog/2009/05/nomina-a-symfony-en-los-premios-sourceforgenet/#comments</comments>
		<pubDate>Fri, 15 May 2009 14:05:27 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=841</guid>
		<description><![CDATA[
Via: symfony.es


No hay posts relacionados.


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p><a href="http://sourceforge.net/community/cca09/nominate/?project_name=symfony PHP framework&amp;project_url=http://www.symfony-project.org/"><img src="http://sourceforge.net/images/cca/cca_nominate.png" border="0" alt="" /></a></p>
<p>Via: <a title="Nomina a Symfony en los premios sourceforge.net" href="http://www.symfony.es/2009/05/15/nomina-a-symfony-en-los-premios-sourceforgenet/">symfony.es</a></p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2009/05/nomina-a-symfony-en-los-premios-sourceforgenet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO: Cambiar el look&amp;feel de netbeans 6.5.1 en Ubuntu</title>
		<link>http://www.otrobloggeek.com/blog/2009/05/howto-cambiar-el-lookfeel-de-netbeans-651-en-ubuntu/</link>
		<comments>http://www.otrobloggeek.com/blog/2009/05/howto-cambiar-el-lookfeel-de-netbeans-651-en-ubuntu/#comments</comments>
		<pubDate>Sun, 03 May 2009 12:37:13 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[look&feel]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=836</guid>
		<description><![CDATA[Otro cortito. Los desarrolladores de Ubuntu (o los de netbeans, no lo sÃ© muy bien) parece que no se han dado cuenta, que con el look&#38;feel por defecto de Netbeans la ventana de depuraciÃ³n tiene el mismo color de fondo que la tipografÃ­a que se usa para los valores de las variables&#8230; por lo tanto [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Otro cortito. Los desarrolladores de Ubuntu (o los de netbeans, no lo sÃ© muy bien) parece que no se han dado cuenta, que con el look&amp;feel por defecto de Netbeans la ventana de depuraciÃ³n tiene el mismo color de fondo que la tipografÃ­a que se usa para los valores de las variables&#8230; por lo tanto es muy difÃ­cil o casi imposible depurar cÃ³modamente.</p>
<p>Veamos como cambiar este look&amp;feel.</p>
<ol>
<li>Editamos el fichero <code>etc/netbeans.conf</code> que estÃ¡ en el directorio de instalaciÃ³n de netbeans</li>
<li>AÃ±adimos <code>--laf javax.swing.plaf.metal.MetalLookAndFeel</code> al final de la variable <strong>netbeans_default_options</strong></li>
<li>Rearrancamos el IDE y ya tendremos un look&amp;feel mucho mÃ¡s agradable para la depuraciÃ³n</li>
</ol>
<div id="attachment_837" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.otrobloggeek.com/blog/wp-content/uploads/2009/05/captura_debug_netbeans.png"><img class="size-medium wp-image-837" title="Vista de variables locales depurando PHP con netbeans" src="http://www.otrobloggeek.com/blog/wp-content/uploads/2009/05/captura_debug_netbeans-300x196.png" alt="Vista de variables locales depurando PHP con netbeans" width="300" height="196" /></a><p class="wp-caption-text">Vista de variables locales depurando PHP con netbeans</p></div>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2009/05/howto-cambiar-el-lookfeel-de-netbeans-651-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HOWTO: Configurar xdebug para depurar scripts PHP en Ubuntu Jaunty</title>
		<link>http://www.otrobloggeek.com/blog/2009/05/howto-configurar-xdebug-para-depurar-scripts-php-en-ubuntu-jaunty/</link>
		<comments>http://www.otrobloggeek.com/blog/2009/05/howto-configurar-xdebug-para-depurar-scripts-php-en-ubuntu-jaunty/#comments</comments>
		<pubDate>Sun, 03 May 2009 12:19:53 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[jaunty]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=832</guid>
		<description><![CDATA[Vamos manos a la obra directamente, por que es bien sencillo.

Instalamos xdebug en Ubuntu (previamente necesitamos tener php, apache, etc. instalado)



sudo aptitude install php5-xdebug



Editamos el archivo de configuraciÃ³n de xdebug /etc/php5/conf.d/xdebug.ini y aÃ±adimos las siguientes lineas



xdebug.remote_enable=on


xdebug.remote_handler=dbgp


xdebug.remote_mode=req


xdebug.remote_host=localhost


xdebug.remote_port=9000



Reiniciamos apache



sudo /etc/init.d/apache2 restart




Ya podemos depurar PHP con nuestro IDE preferido, como Eclipse o Netbeans


No hay posts relacionados.


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Vamos manos a la obra directamente, por que es bien sencillo.</p>
<ol>
<li>Instalamos xdebug en Ubuntu (previamente necesitamos tener php, apache, etc. instalado)</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> aptitude <span class="kw2">install</span> php5-xdebug</div>
</li>
</ol>
</div>
<li>Editamos el archivo de configuraciÃ³n de xdebug <code>/etc/php5/conf.d/xdebug.ini</code> y aÃ±adimos las siguientes lineas</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">xdebug.remote_enable=on</div>
</li>
<li class="li1">
<div class="de1">xdebug.remote_handler=dbgp</div>
</li>
<li class="li1">
<div class="de1">xdebug.remote_mode=req</div>
</li>
<li class="li1">
<div class="de1">xdebug.remote_host=localhost</div>
</li>
<li class="li2">
<div class="de2">xdebug.remote_port=<span class="nu0">9000</span></div>
</li>
</ol>
</div>
<li>Reiniciamos apache</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> /etc/init.d/apache2 restart</div>
</li>
</ol>
</div>
</ol>
<p>Ya podemos depurar PHP con nuestro IDE preferido, como Eclipse o Netbeans</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2009/05/howto-configurar-xdebug-para-depurar-scripts-php-en-ubuntu-jaunty/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HOWTO: Symfony Framework 1.2 en Ubuntu Jaunty 9.04</title>
		<link>http://www.otrobloggeek.com/blog/2009/05/howto-symfony-framework-12-en-ubuntu-jaunty-904/</link>
		<comments>http://www.otrobloggeek.com/blog/2009/05/howto-symfony-framework-12-en-ubuntu-jaunty-904/#comments</comments>
		<pubDate>Sat, 02 May 2009 18:00:54 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=819</guid>
		<description><![CDATA[Symfony es un framework para desarrollar aplicaciones web basÃ¡ndonos en el patrÃ³n MVC.
La instalaciÃ³n es bastante cÃ³moda y se puede realizar a travÃ©s de PEAR. El proceso es muy simple:

Instalamos Apache. TambiÃ©n es posible usar otros servidores, pero yo me siento cÃ³modo con Apache. Yo tengo la mala costumbre de usar para ello un mÃ©todo [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.symfony-project.org">Symfony</a> es un framework para desarrollar aplicaciones web basÃ¡ndonos en el patrÃ³n <a href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador">MVC</a>.</p>
<p>La instalaciÃ³n es bastante cÃ³moda y se puede realizar a travÃ©s de <a href="http://pear.php.net/">PEAR</a>. El proceso es muy simple:</p>
<ol>
<li>Instalamos Apache. TambiÃ©n es posible usar otros servidores, pero yo me siento cÃ³modo con Apache. Yo tengo la mala costumbre de usar para ello un mÃ©todo bastante &#8220;cutre&#8221; que consiste en instalar <a href="http://www.phpmyadmin.net/">phpmyadmin</a>, ya que asÃ­ se resuelven todas las dependencias necesarias para Apache, PHP y MySQL de una vez.
<p>Durante la instalaciÃ³n nos preguntarÃ¡ quÃ© servidor queremos usar con PHPMyAdmin, seleccionamos Apache y listo.</p>
<p>Yo instale y configurÃ© previamente MySQL manualmente, pero usando este mÃ©todo es posible que os guÃ­e durante la configuraciÃ³n.</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> aptitude <span class="kw2">install</span> phpmyadmin</div>
</li>
</ol>
</div>
<li>Instalamos pear:</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> aptitude <span class="kw2">install</span> php-pear</div>
</li>
</ol>
</div>
<li>AÃ±adimos el canal de Symfony:</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> pear channel-discover pear.symfony-project.com</div>
</li>
</ol>
</div>
<li>Instalamos Symfony mediante PEAR:</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> pear <span class="kw2">install</span> symfony/symfony</div>
</li>
</ol>
</div>
</ol>
<p>Por Ãºltimo solo nos resta configurar Apache. Yo he configurado un host virtual con un log separado, asÃ­ podrÃ© testear y depurar cÃ³modamente. Veamos como hacerlo por pasos.</p>
<ol>
<li>AÃ±adimos la entrada con el dominio que queramos a <code>/etc/hosts</code>. Yo he elegido <code>dominio.com</code> para el ejemplo, pero se puede elegir otro</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;127.0.0.1 dominio.com&quot;</span> &gt;&gt; /etc/hosts</div>
</li>
</ol>
</div>
<li>Ahora creamos una entrada en <code>/etc/apache2/sites-available/dominio.com</code> con el siguiente contenido:</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;VirtualHost *:<span class="nu0">80</span>&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">ServerName</span> dominio.com</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">ServerAdmin</span> webmaster@dominio.com</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">DocumentRoot</span> /var/www/web</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">DirectoryIndex</span> index.php</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">Alias</span> /sf /usr/share/php/data/symfony/web/sf</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;Directory /sf&gt;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw1">AllowOverride</span> <span class="kw1">All</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Allow</span> <span class="kw1">from</span> <span class="kw1">All</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;/Directory&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">## Cambiamos esta ruta por la que nos convenga</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">ErrorLog</span> /path/al/log/fichero.log</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Possible values include: debug, info, notice, warn, error, crit,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># alert, emerg.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">## Podemos cambiar tambiÃ©n el nivel de log por el que mÃ¡s nos convenga</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">LogLevel</span> debug</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">CustomLog</span> /path/al/log/fichero.log combined</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">ServerSignature</span> <span class="kw2">On</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="co1">#Configuracion de symfony</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;Directory <span class="st0">&quot;/var/www/web&quot;</span>&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">AllowOverride</span> <span class="kw1">All</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">Allow</span> <span class="kw1">from</span> <span class="kw1">All</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;/Directory&gt;</div>
</li>
<li class="li2">
<div class="de2">&lt;/VirtualHost&gt;</div>
</li>
</ol>
</div>
<li>Por Ãºltimo activamos el host virtual, mod_rewrite y reiniciamos apache</li>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> a2ensite dominio.com</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> a2enmod rewrite</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> /etc/init.d/apache2/reload</div>
</li>
</ol>
</div>
</ol>
<p>Solo falta editar el archivo <code>/etc/php5/apache2/php.ini</code> y cambiar la linea <code>magic_quotes_gpc = Off</code> por <code>magic_quotes_gpc = <strong>On</strong></code></p>
<p>Para comenzar a desarrollar podemos acudir a la pÃ¡gina de Symfony y seguir su increÃ­ble <a href="http://www.symfony-project.org/book/1_2/">&#8220;tutorial&#8221; escrito en forma de libro</a> o en <a href="http://www.librosweb.es/symfony_1_2/">librosweb</a> si preferÃ­s el libro en espaÃ±ol.</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2009/05/howto-symfony-framework-12-en-ubuntu-jaunty-904/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.otrobloggeek.com/blog/2008/10/evitar-problemas-con-las-peticiones-ajax-y-la-cache-en-internet-explorer/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/10/evitar-problemas-con-las-peticiones-ajax-y-la-cache-en-internet-explorer/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 17:15:48 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[explorer]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=282</guid>
		<description><![CDATA[Desde hace unos días tengo algunos problemas con un módulo en Javascript que estoy desarrollando en el trabajo. El script hace una petición AJAX y obtiene un XML. El problema es que Internet Explorer cachea el XML cuando le apetece y eso provoca que a veces el módulo no cargue como debería. La solución es [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Desde hace unos días tengo algunos problemas con un módulo en Javascript que estoy desarrollando en el trabajo. El script hace una petición AJAX y obtiene un XML. El problema es que Internet Explorer cachea el XML cuando le apetece y eso provoca que a veces el módulo no cargue como debería. La solución es tan sencilla como añadir un nuevo argumento aleatorio a la petición, evitando así que Internet Explorer la cargue desde la caché la siguiente vez.</p>
<p>El siguiente ejemplo está basado en <a href="http://www.prototypejs.org">Prototype</a></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">var</span> ajaxRequest = <span class="kw2">new</span> Ajax.<span class="me1">Request</span><span class="br0">&#40;</span><span class="st0">&#8217;sample.xml&#8217;</span>, <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; method: <span class="st0">&#8216;get&#8217;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="co1">//Extra parameter on request</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; parameters: <span class="br0">&#123;</span> &nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; differentiator: Math.<span class="me1">floor</span><span class="br0">&#40;</span>Math.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span>*<span class="nu0">50000</span><span class="br0">&#41;</span> &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span>, </div>
</li>
<li class="li1">
<div class="de1">&nbsp; onSuccess: <span class="kw2">function</span><span class="br0">&#40;</span>response<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; whatever<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Solución via: <a href="http://arsenalist.com/2007/05/02/ajax-prototype-scriptaculous-caching-ie-internet-explorer/">The Arsenalist</a></p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/10/evitar-problemas-con-las-peticiones-ajax-y-la-cache-en-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>bind() y bindAsEventListener() en Prototype, como utilizarlos</title>
		<link>http://www.otrobloggeek.com/blog/2008/10/bind-y-bindaseventlistener-en-prototype-como-utilizarlos/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/10/bind-y-bindaseventlistener-en-prototype-como-utilizarlos/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 22:13:20 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=276</guid>
		<description><![CDATA[Desde que empecÃ© a trabajar mi funciÃ³n principal es la de desarrollador web. BÃ¡sicamente me peleo todo el dÃ­a con Prototype y con AJAX. DespuÃ©s de unas cuantas semana Prototype se ha convertido en parte en un gran aliado, pero tambiÃ©n en un enemigo a batir. Conocer el framework con profundidad es esencial para trabajar [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Desde que empecÃ© a trabajar mi funciÃ³n principal es la de desarrollador web. BÃ¡sicamente me peleo todo el dÃ­a con <a href="http://www.prototypejs.org/">Prototype</a> y con AJAX. DespuÃ©s de unas cuantas semana Prototype se ha convertido en parte en un gran aliado, pero tambiÃ©n en un enemigo a batir. Conocer el framework con profundidad es esencial para trabajar con Ã©l y a veces no es fÃ¡cil. Una de las cosas que mas trabajo me costÃ³ entender fue la utilidad de las funciones <code>bind()</code> y <code>bindAsEventListener()</code>. Ambas son muy potentes y muy Ãºtiles cuando se utilizan bien, pero comprender su uso puede ser difÃ­cil y a veces nos pueden dar quebraderos de cabeza.</p>
<p>Voy a intentar explicar de forma clara y simple como se usan estas dos funciones y para quÃ© sirven. Vayamos por partes.</p>
<ol>
<li><code>bind()</code>: Es una de las estrellas en Prototype y tambiÃ©n es una de las mÃ¡s trabajo suele costar entender. Imaginemos un objeto que tiene mÃ©todos para acceder a sus datos miembro. Usando <code>bind()</code> podemos hacer que esos objetos accedan a datos miembro de otros objetos en lugar de a los del objeto original. Veamos un ejemplo:
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> Clase1 = <span class="kw2">Class</span>.<span class="me1">create</span><span class="br0">&#40;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; initialize: <span class="kw2">function</span><span class="br0">&#40;</span>msg<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">mensaje</span> = msg;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="br0">&#125;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; log: <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; console.<span class="me1">log</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">mensaje</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">var</span> objeto1 = <span class="kw2">new</span> Clase1<span class="br0">&#40;</span><span class="st0">&quot;Mensaje, Objeto1&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> objeto2 = <span class="kw2">new</span> Clase1<span class="br0">&#40;</span><span class="st0">&quot;Mensaje, Objeto2&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">objeto1.<span class="me1">log</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="co1">//Genera -&gt; Mensaje, Objeto1</span></div>
</li>
<li class="li1">
<div class="de1">objeto2.<span class="me1">log</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="co1">//Genera -&gt; Mensaje, Objeto2</span></div>
</li>
<li class="li2">
<div class="de2"><span class="co1">//Creamos el bind de alerta para que se ejecute en el</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//contexto del objeto2.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> log_bind = objeto1.<span class="me1">log</span>.<span class="me1">bind</span><span class="br0">&#40;</span>objeto2<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">log_bind<span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="co1">//Genera -&gt; Mensaje, Objeto2</span></div>
</li>
</ol>
</div>
<p>Como vemos, la llamada a <code>log_bind()</code> realiza la llamada a <code>objeto1.bind()</code> usando el contexto del <code>objeto2</code>, lo cual en terminos prÃ¡cticos equivale a hacer <code>objeto2.bind()</code></p>
<p>TambiÃ©n podemos usar <code>bind()</code> para aÃ±adir argumentos a la llamada a una funciÃ³n. Veamos un ejemplo de esto.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">var</span> Clase2 = <span class="kw2">Class</span>.<span class="me1">create</span><span class="br0">&#40;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; initialize: <span class="kw2">function</span><span class="br0">&#40;</span>msg<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">mensaje</span> = msg;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span>,</div>
</li>
<li class="li2">
<div class="de2">&nbsp; log: <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; console.<span class="me1">log</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">mensaje</span> + <span class="st0">&#8216; &#8216;</span> + $A<span class="br0">&#40;</span>arguments<span class="br0">&#41;</span>.<span class="me1">join</span><span class="br0">&#40;</span><span class="st0">&#8216;, &#8216;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">var</span> objeto3 = <span class="kw2">new</span> Clase2<span class="br0">&#40;</span><span class="st0">&quot;Mensaje, Objeto3&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">objeto3.<span class="me1">log</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> log_bind_mas_argumentos = objeto3.<span class="me1">log</span>.<span class="me1">bind</span><span class="br0">&#40;</span>objeto3,<span class="nu0">1</span>,<span class="nu0">2</span>,<span class="nu0">3</span>,<span class="nu0">4</span>,<span class="st0">&#8216; lo que sea&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">log_bind_mas_argumentos<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Esta vez no cambiamos el contexto de la funciÃ³n, pero aÃ±adimos varios argumentos extra que luego se extraen usando <code>$A(arguments)</code>, convirtiÃ©ndolos asÃ­ en un <a href="http://www.prototypejs.org/api/array">Array</a> de Prototype.</li>
<li><code>bindAsEventListener()</code>: Una vez hemos comprendido el uso que tiene <code>bind()</code> es fÃ¡cil entender la dinÃ¡mica de <code>bindAsEventListener()</code>. Su funcionamiento es el mismo que el de la funciÃ³n <code>bind()</code> pero con adaptaciones especÃ­ficas para un contexto concreto, el de la captura de eventos.Este es el mismo ejemplo que hay en el API de Prototype pero un poco retocado:
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">var</span> obj = <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">name</span>: <span class="st0">&#8216;Un bonito ejemplo&#8217;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">function</span> handler<span class="br0">&#40;</span>evento<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">var</span> tag = Event.<span class="me1">element</span><span class="br0">&#40;</span>evento<span class="br0">&#41;</span>.<span class="me1">tagName</span>.<span class="me1">toLowerCase</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">var</span> data = $A<span class="br0">&#40;</span>arguments<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; data.<span class="me1">shift</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; console.<span class="me1">log</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="kw3">name</span> + <span class="st0">&#8216;<span class="es0">\n</span>Has clickado en &#8216;</span> + tag + <span class="st0">&#8216;<span class="es0">\n</span>Otros argumentos: &#8216;</span> + data.<span class="me1">join</span><span class="br0">&#40;</span><span class="st0">&#8216;, &#8216;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">$<span class="br0">&#40;</span><span class="st0">&#8216;elemento&#8217;</span><span class="br0">&#41;</span>.<span class="me1">observe</span><span class="br0">&#40;</span><span class="st0">&#8216;click&#8217;</span>, handler.<span class="me1">bindAsEventListener</span><span class="br0">&#40;</span>obj, <span class="nu0">1</span>, <span class="nu0">2</span>, <span class="nu0">3</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Por partes, el objeto <code>obj</code> tiene una propiedad <code>name</code> y la funciÃ³n <code>handler(evento)</code> se encarga de manejar el evento una vez se ha disparado. Esta funciÃ³n extrae el nombre del elemento de la pÃ¡gina que ha disparado el evento, los argumentos extra pasados a la funciÃ³n y los muestra todos por la consola de facebook. La clave de todo el ejemplo es la lÃ­nea:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">$<span class="br0">&#40;</span><span class="st0">&#8216;elemento&#8217;</span><span class="br0">&#41;</span>.<span class="me1">observe</span><span class="br0">&#40;</span><span class="st0">&#8216;click&#8217;</span>, handler.<span class="me1">bindAsEventListener</span><span class="br0">&#40;</span>obj, <span class="nu0">1</span>, <span class="nu0">2</span>, <span class="nu0">3</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Esta lÃ­nea asigna la funciÃ³n <code>handler(evento)</code> como manejadora del evento <code>onclick</code> del elemento y ademÃ¡s cambia su contexto al del objeto <code>obj</code> y le pasa 3 nÃºmeros como argumento. Pero echando un segundo vistazo a la funciÃ³n vemos que en ningÃºn momento le pasamos el argumento <code>evento</code>. Esa es precisamente la funciÃ³n <em>especial</em> de <code>bindAsEventListener()</code> pasar como primer argumento el objeto de la clase <a href="http://www.prototypejs.org/api/event">Event</a> que representa al evento que se ha disparado.</p>
<p>Usando bindAsEventListener() siempre recibiremos el objeto Event como primer argumento, sin necesidad de pasar ese evento de forma <em>manual</em>.</li>
</ol>
<p>Espero que despuÃ©s de este par de ejemplo quede todo un poco mÃ¡s claro, como siempre se aceptan preguntas, dudas y sugerencias <img src='http://www.otrobloggeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  y para todo el cÃ³digo que necesitÃ©is pegar podÃ©is usar <a href="http://pastie.org/">Pastie</a></p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/10/bind-y-bindaseventlistener-en-prototype-como-utilizarlos/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Colabora para que NetBeans soporte Symfony</title>
		<link>http://www.otrobloggeek.com/blog/2008/09/colabora-para-que-netbeans-soporte-symfony/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/09/colabora-para-que-netbeans-soporte-symfony/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 21:37:40 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.otrobloggeek.com/blog/?p=272</guid>
		<description><![CDATA[Acabo de leer en el blog de Symfony en espaÃ±ol que la versiÃ³n 6.5 de netbeans incluirÃ¡ soporte para PHP y que ademÃ¡s se espera que soporte algÃºn framework PHP. Los desarrolladores de netbenas han decidido someter a votaciÃ³n que 2 frameworks serÃ¡n soportados en esta nueva versiÃ³n.
En este post del blog en espaÃ±ol de [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Acabo de leer en el blog de Symfony en espaÃ±ol que la versiÃ³n 6.5 de netbeans incluirÃ¡ soporte para PHP y que ademÃ¡s se espera que soporte algÃºn framework PHP. Los desarrolladores de netbenas han decidido someter a votaciÃ³n que 2 frameworks serÃ¡n soportados en esta nueva versiÃ³n.</p>
<p>En <a title="Blog de Symfony en espaÃ±ol" href="http://www.symfony.es/2008/09/10/colabora-para-que-netbeans-soporte-symfony/">este post</a> del blog en espaÃ±ol de Symfony explican como dar nuestro voto a Symfony <img src='http://www.otrobloggeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/09/colabora-para-que-netbeans-soporte-symfony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebug pasa a formar parte de la fundaciÃ³n Mozilla</title>
		<link>http://www.otrobloggeek.com/blog/2008/07/firebug-pasa-a-formar-parte-de-la-fundacion-mozilla/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/07/firebug-pasa-a-formar-parte-de-la-fundacion-mozilla/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 11:12:21 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://otrobloggeek.com/blog/?p=334</guid>
		<description><![CDATA[Lo acabo de leer en anieto2k y la verdad es que me ha parecido una noticia genial. John Resig lo anunciÃ³ el jueves en su blog.
El equipo de Firebug estÃ¡ realizando un gran trabajo con la versiÃ³n 1.2 y la verdad es que estoy impaciente por saber quÃ© es lo que le depara el futuro [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Lo acabo de leer en <a href="http://www.anieto2k.com/2008/07/18/firebug-pasa-a-ser-parte-del-proyecto-mozilla/">anieto2k</a> y la verdad es que me ha parecido una noticia genial. <a href="http://ejohn.org/blog/firebuggin/">John Resig</a> lo anunciÃ³ el jueves en su blog.</p>
<p>El equipo de <a href="http://getfirebug.com/">Firebug</a> estÃ¡ realizando un gran trabajo con la versiÃ³n 1.2 y la verdad es que estoy impaciente por saber quÃ© es lo que le depara el futuro a esta genial extensiÃ³n. Desde luego seguro que todavÃ­a no lo hemos visto todo acerca de Firebug y en los prÃ³ximos meses darÃ¡ mucho que hablar.</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/07/firebug-pasa-a-formar-parte-de-la-fundacion-mozilla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comentarios en Tumblr</title>
		<link>http://www.otrobloggeek.com/blog/2008/06/comentarios-en-tumblr/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/06/comentarios-en-tumblr/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 09:55:48 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[disqus]]></category>
		<category><![CDATA[tumblr]]></category>

		<guid isPermaLink="false">http://otrobloggeek.com/blog/?p=326</guid>
		<description><![CDATA[
Como he dicho en mi anterior apunte, he comenzado a escribir un tumblelog. La idea me parece muy interesante, pero lamentablemente Tumblr, la plataforma que uso para el tlog, no dispone de comentarios.
Buscando un poco he encontrado Disqus, una sistema de comentarios que permite agregar comentarios a Tumblr y a otras plataformas. Con la ventaja [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.tumblr.com'><img src="http://otrobloggeek.com/blog/wp-content/uploads/2008/06/tumblr-logo.jpg" alt="Tumblr" title="Tumblr" width="271" height="79" class="alignright size-full wp-image-327" style="border: none;" /></a></p>
<p>Como he dicho en mi anterior apunte, he comenzado a escribir un <a href="http://tlog.otrobloggeek.com">tumblelog</a>. La idea me parece muy interesante, pero lamentablemente <a href="http://www.tumblr.com">Tumblr</a>, la plataforma que uso para el tlog, no dispone de comentarios.</p>
<p>Buscando un poco he encontrado Disqus, una sistema de comentarios que permite agregar comentarios a Tumblr y a otras plataformas. Con la ventaja de que no necesita registro para los comentaristas y que permite usar cuentas de OpenID.</p>
<p>Agregarlo a un tlog de Tumbler es sencillÃ­simo, solo hay que darse de alta y seguir las instrucciones que dan. CÃ³modo y rÃ¡pido.</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/06/comentarios-en-tumblr/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HOWTO: Obtener el tipo MIME de un archivo mediante PHP</title>
		<link>http://www.otrobloggeek.com/blog/2008/06/howto-obtener-el-tipo-mime-de-un-archivo-mediante-php/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/06/howto-obtener-el-tipo-mime-de-un-archivo-mediante-php/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 17:13:38 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[mime]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://otrobloggeek.com/blog/?p=324</guid>
		<description><![CDATA[Edito sÃ¡bado, 09 de agosto de 2008: Corregido un error en el nombre del paquete de PEAR en Ubuntu. Gracias david.
Sigo peleÃ¡ndome con mi proyecto fin de carrera, y mi Ãºltima batalla ha consistido en obtener el tipo MIME de un archivo mediante PHP. Tras un vistazo al manual de PHP me encontrÃ© con esta [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p><strong>Edito sÃ¡bado, 09 de agosto de 2008</strong>: Corregido un error en el nombre del paquete de PEAR en Ubuntu. Gracias <a href="#comments">david</a>.</p>
<p>Sigo peleÃ¡ndome con mi proyecto fin de carrera, y mi Ãºltima batalla ha consistido en obtener el tipo <a href="http://es.wikipedia.org/wiki/MIME">MIME</a> de un archivo mediante PHP. Tras un vistazo al manual de PHP me encontrÃ© con esta <a href="http://pecl.php.net/package/Fileinfo">extensiÃ³n de PHP</a> que hace lo que necesito y mucho mÃ¡s.</p>
<p>Se puede instalar mediante PEAR, para ello seguimos el siguiente procedimiento.</p>
<ol>
<li>Instalamos PEAR, las librerÃ­as para desarrollo de PHP y de libmagic.
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> aptitude <span class="kw2">install</span> php-pear php5-dev libmagic-dev</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
</li>
<li>Usamos el comando pecl para instalar la extensiÃ³n
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> pecl <span class="kw2">install</span> fileinfo</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
</li>
<li>
AÃ±adimos la extensiÃ³n a nuestro php.ini, para ello accedemos creamos un nuevo archivo llamado <code>extensiones.ini</code> en la carpeta <code>/etc/php5/conf.d</code> y aÃ±adimos dentro la linea:</p>
<pre>
extension=fileinfo.so
</pre>
</li>
<li>Por Ãºltimo reiniciamos apache
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> /etc/init.d/apache2 restart</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
</li>
</ol>
<p>Ya tenemos la extensiÃ³n instalada, ahora para obtener el tipo mime podemos usar un cÃ³digo parecido a este.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$finfo</span> = <span class="kw2">new</span> finfo<span class="br0">&#40;</span>FILEINFO_MIME, <span class="st0">&quot;/usr/share/misc/magic&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$filename</span> = <span class="st0">&#8216;/ruta/al/archivo.jpg&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$mime_type</span> = <span class="re0">$finfo</span>-&gt;<span class="me1">file</span><span class="br0">&#40;</span><span class="re0">$filename</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Tras esto tendremos el tipo MIME almacenado en la variable <code>mime_type</code>. Para mÃ¡s ejemplos de uso de la extensiÃ³n se puede acudir a la pÃ¡gina del manual de PHP.</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/06/howto-obtener-el-tipo-mime-de-un-archivo-mediante-php/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Enlaces Ãºtiles para comenzar con Symfony Framework</title>
		<link>http://www.otrobloggeek.com/blog/2008/06/enlaces-utiles-para-comenzar-con-symfony-framework/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/06/enlaces-utiles-para-comenzar-con-symfony-framework/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 09:19:10 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[enlaces]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://otrobloggeek.com/blog/?p=321</guid>
		<description><![CDATA[Como el nombre del post indica, ahÃ­ va una lista de enlaces que pueden ser bastante Ãºtiles a la hora de comenzar a desarrollar aplicaciones con Symfony.

Symfony, la guÃ­a definitiva: El libro oficial de Symfony. Cubre prÃ¡cticamente todas las caracterÃ­sticas de este framework, desde las bases de su implementaciÃ³n de MVC hasta cÃ³mo realizar test [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p>Como el nombre del post indica, ahÃ­ va una lista de enlaces que pueden ser bastante Ãºtiles a la hora de comenzar a desarrollar aplicaciones con Symfony.</p>
<ul>
<li><a href="http://www.librosweb.es/symfony/">Symfony, la guÃ­a definitiva</a>: El libro oficial de Symfony. Cubre prÃ¡cticamente todas las caracterÃ­sticas de este framework, desde las bases de su implementaciÃ³n de MVC hasta cÃ³mo realizar test unitarios a nuestras aplicaciones.</li>
<li><a href="http://www.symfony-project.org/askeet/1_0/es/">The Askeet Tutorial</a>: Un conjunto de 24 tutoriales que te guÃ­an para crear una aplicaciÃ³n web con Symfony desde cero.</li>
<li><a href="http://www.symfony.es/">El blog de Symfony en espaÃ±ol</a>: Un buen recurso para mantenernos al dÃ­a sobre Symfony.</li>
<li><a href="http://www.symfony-project.org/api/1_0/">La documentaciÃ³n del API (en inglÃ©s)</a></li>
<li><a href="http://www.prototypejs.org/api">La documentaciÃ³n del API de Prototype (en inglÃ©s)</a>: Muy Ãºtil, ya que Symfony se integra a la perfecciÃ³n con este Framework para AJAX.</li>
<li><a href="http://trac.symfony-project.com/wiki">El WIKI de Symfony (en inglÃ©s)</a>: En Ã©l podemos encontrar montones de artÃ­culos interesantes que nos pueden venir de perlas en algÃºn momento.</li>
<li><a href="http://trac.symfony-project.com/wiki/CheatSheets">Las &#8220;chuletas&#8221; de symfony</a>: Un montÃ³n de chuletas con un montÃ³n de informaciÃ³n acerca de las 3 capas del modelo MVC, AJAX, ORM y muchas otras cosas, es muy buena idea tenerlas a mano.</li>
</ul>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/06/enlaces-utiles-para-comenzar-con-symfony-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ExtensiÃ³n de Firefox: Split Browser</title>
		<link>http://www.otrobloggeek.com/blog/2008/06/extension-de-firefox-split-browser/</link>
		<comments>http://www.otrobloggeek.com/blog/2008/06/extension-de-firefox-split-browser/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 21:54:22 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[extensiones]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://otrobloggeek.com/blog/?p=318</guid>
		<description><![CDATA[
Hoy he encontrado una extensiÃ³n bastante curiosa para Firefox. Estoy hablando de Split Browser. Esta extensiÃ³n nos permite dividir la ventana del navegador para mostrar varias webs a la vez. El sistema de pestaÃ±as de firefox es muy potente, pero a veces es algo incÃ³modo, por ejemplo cuando quieres ver la vista previa de una [...]


No hay posts relacionados.]]></description>
			<content:encoded><![CDATA[<p><a href='http://otrobloggeek.com/blog/wp-content/uploads/2008/06/pantallazo.png'><img src="http://otrobloggeek.com/blog/wp-content/uploads/2008/06/pantallazo-150x150.png" alt="Split Browser en Firefox 3.0" title="Split Browser en Firefox 3.0" width="150" height="150" class="alignleft size-thumbnail wp-image-319" /></a></p>
<p>Hoy he encontrado una extensiÃ³n bastante curiosa para Firefox. Estoy hablando de <a href="https://addons.mozilla.org/en-US/firefox/addon/4287">Split Browser</a>. Esta extensiÃ³n nos permite dividir la ventana del navegador para mostrar varias webs a la vez. El sistema de pestaÃ±as de firefox es muy potente, pero a veces es algo incÃ³modo, por ejemplo cuando quieres ver la vista previa de una entrada mientras posteas. En la imagen se puede ver lo que permite esta extensiÃ³n.</p>


<p>No hay posts relacionados.</p>]]></content:encoded>
			<wfw:commentRss>http://www.otrobloggeek.com/blog/2008/06/extension-de-firefox-split-browser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

