<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>El espacio de Jaime...</title>
	<atom:link href="http://elespaciodejaime.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://elespaciodejaime.wordpress.com</link>
	<description>Java, Linux, PHP...</description>
	<lastBuildDate>Mon, 09 Nov 2009 22:25:58 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='elespaciodejaime.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/5cf312c7a4f342e88ac9ba76a2500a78?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>El espacio de Jaime...</title>
		<link>http://elespaciodejaime.wordpress.com</link>
	</image>
			<item>
		<title>Integrando Twitter con Joomla</title>
		<link>http://elespaciodejaime.wordpress.com/2009/10/25/integrando-twitter-con-joomla/</link>
		<comments>http://elespaciodejaime.wordpress.com/2009/10/25/integrando-twitter-con-joomla/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 19:45:41 +0000</pubDate>
		<dc:creator>elespaciodejaime</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[simpletwitter]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://elespaciodejaime.wordpress.com/?p=123</guid>
		<description><![CDATA[Integrar twitter con joomla con el módulo simpletwitter<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=123&subd=elespaciodejaime&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Cuándo escuché por primera vez de twitter pensé que se trataba de otra red social más como hi5.com o facebook.com, ahora después de conocerlo más puedo afirmar que se trata de un concepto de comunicación realmente distinto, microblogging: .</p>
<p><a href="http://es.wikipedia.org/wiki/Microblogging" target="_blank">http://es.wikipedia.org/wiki/Microblogging</a></p>
<p>Bueno, pero estamos aquí para aprender a instalar un módulo para mostrar nuestros últimos tweets en una página basada en Joomla.</p>
<p>El método rápido, te bajas el módulo de aquí:</p>
<p><a href="http://joomlacode.org/gf/project/simpletwitter" target="_blank">http://joomlacode.org/gf/project/simpletwitter</a></p>
<p>y lo instalas desde el panel de administración de Joomla.</p>
<p>Si no tienes mucha experiencia con Joomla derepente te sirva el método más largo, bueno, de todas formas necesitas descargar el módulo desde el vínculo de arriba, después te dirijes al panel de administración en la pestaña &#8220;Extensiones&#8221; eliges la opción &#8220;Instalar/desinstalar&#8221;,  subes el módulo y listo, la primera parte ha sido completada.</p>
<p>Ahora procedemos a activar el módulo, nuevamente pestaña &#8220;Extensiones&#8221;, luego la opción &#8220;Gestor de módulos&#8221; y después ubicas el módulo &#8220;Simple Twitter&#8221;. Dentro de éste podrás ver las opciones de configuración.</p>
<p><img class="aligncenter size-full wp-image-188" title="Módulo simpletwitter" src="http://elespaciodejaime.files.wordpress.com/2009/10/screenshot.png?w=550&#038;h=198" alt="Módulo simpletwitter" width="550" height="198" /></p>
<p>La activación de la caché puede ser útil para que tu servidor no le haga una petición al servidor de twitter cada vez que tengas un visitante en tu página (ésto mejorará el desempeño y la velocidad a la que cargue tu página).</p>
<p>El campo de &#8220;Sufijo de la clase&#8221; puede servir para hacer personalizaciones en la manera en la apariencia del módulo, si sabes algo de CSS entenderás a que me refiero. No olvides activar el módulo en el menú de la izquierda, además de asignarle una posición en la pantalla (left, right, etc).</p>
<p>Para tener correctamente traducidos los parámetros de configuración del módulo puedes descargar mis propias traducciones para éste módulo:</p>
<p><a href="http://www.2shared.com/file/8521671/b67d0e15/simpletwitter_translations.html" target="_blank">http://www.2shared.com/file/8521671/b67d0e15/simpletwitter_translations.html</a></p>
<p>Y copiar el archivo: <span style="text-decoration:underline;">es-ES.mod_simpletwitter.ini</span> en la carpeta <span style="text-decoration:underline;">(joomla_folder)/language/es-ES</span> y el archivo <span style="text-decoration:underline;">en-GB.mod_simpletwitter.ini</span> en la carpeta <span style="text-decoration:underline;">(joomla_folder)/language/en-GB. </span>Por cierto la modificación de los archivos de traducción también se puede realizar desde el panel de control.</p>
<div id="attachment_197" class="wp-caption aligncenter" style="width: 316px"><img class="size-full wp-image-197" title="administrar_traducciones_joomla" src="http://elespaciodejaime.files.wordpress.com/2009/10/administrar_traducciones_joomla.png?w=306&#038;h=239" alt="Componentes &gt; Administrar traducciones" width="306" height="239" /><p class="wp-caption-text">Componentes &gt; Administrar traducciones</p></div>
<p>Después de instalar el módulo y de asignarle una posición en nuestra página, este quedará con una apariencia parecida a la siguiente:</p>
<p><img class="aligncenter size-full wp-image-198" title="simple_twitter_joomla_module" src="http://elespaciodejaime.files.wordpress.com/2009/10/simple_twitter_joomla_module.png?w=299&#038;h=402" alt="simple_twitter_joomla_module" width="299" height="402" />Está claro que debemos modificarlo, porque por defecto este módulo viene con un mensaje que nos insta a hacerlo:</p>
<p><strong><em><span style="font-family:Verdana,Arial,Helvetica,sans-serif;color:#000000;font-size:x-small;">Edit how this looks in the mod_simpletwitter.php file</span></em></strong></p>
<p>Bueno, entonces vamos al directorio de instalación de joomla, y sin miedo de romper algo nos dirigimos a la carpeta modules, donde podremos ver cada módulo tiene asignada una carpeta con el nombre en este formato mod_(nombre del modulo), así es como joomla administra los módulos instalados. Ahora nos dirigimos a modules/mod_simpletwitter y en ésta carpeta veremos los siguientes archivos:</p>
<p><img class="aligncenter size-full wp-image-199" title="mod_simpletwitter" src="http://elespaciodejaime.files.wordpress.com/2009/10/mod_simpletwitter.png?w=283&#038;h=114" alt="mod_simpletwitter" width="283" height="114" /></p>
<p>Al cargar el módulo joomla buscara un archivo con éste formato: mod_(nombre módulo).php y así nuestro módulo cargara a partir de ese punto.</p>
<p>Si revisamos ese archivo, en la primera línea veremos</p>
<p>&lt;?php defined( &#8216;_JEXEC&#8217; ) or die( &#8216;Restricted access&#8217; );</p>
<p>Ésta línea previene que nadie pueda acceder a ejecutar este archivo php directamente indicando su url, así:</p>
<p>http://localhost/joomla/modules/mod_simpletwitter/mod_simpletwitter.php</p>
<p>porque la variable _JEXEC se define al comienzo de la aplicacion en el archivo http://localhost/joomla/index.php y por lo tanto, si alguien accede a la url de manera directa esta variable (o constante) aún no estará definida y solo recibirá el mensaje:</p>
<p>Restricted access.</p>
<p>Bueno, regresando a nuestro módulo, en el hay varias cosas que podemos hacer, la primera que yo sugeriría es crear un archivo index.html en la carpeta modules/mod_simpletwitter para evitar que cualquiera liste el contenido de esa carpeta, ésta es una medida de seguridad.</p>
<p>A ver, ahora veremos como eliminar el mensaje:</p>
<p><strong><em><span style="font-family:Verdana,Arial,Helvetica,sans-serif;color:#000000;font-size:x-small;">Edit how this looks in the mod_simpletwitter.php file</span></em></strong></p>
<p>Para ésto iremos a a la línea 23 del archivo mod_simpletwitter.php y simplemente la eliminaremos.</p>
<p><img class="aligncenter size-full wp-image-200" title="delete_line_23" src="http://elespaciodejaime.files.wordpress.com/2009/10/delete_line_23.png?w=550&#038;h=76" alt="delete_line_23" width="550" height="76" /></p>
<p>Nuevamente si conocen algo de html y css modificar la apariencia del módulo será bastante sencillo.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elespaciodejaime.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elespaciodejaime.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elespaciodejaime.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elespaciodejaime.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elespaciodejaime.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elespaciodejaime.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elespaciodejaime.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elespaciodejaime.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elespaciodejaime.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elespaciodejaime.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=123&subd=elespaciodejaime&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://elespaciodejaime.wordpress.com/2009/10/25/integrando-twitter-con-joomla/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c7334fec2cc6128a2627f1de3605503c?s=96&#38;d=monsterid" medium="image">
			<media:title type="html">elespaciodejaime</media:title>
		</media:content>

		<media:content url="http://elespaciodejaime.files.wordpress.com/2009/10/screenshot.png" medium="image">
			<media:title type="html">Módulo simpletwitter</media:title>
		</media:content>

		<media:content url="http://elespaciodejaime.files.wordpress.com/2009/10/administrar_traducciones_joomla.png" medium="image">
			<media:title type="html">administrar_traducciones_joomla</media:title>
		</media:content>

		<media:content url="http://elespaciodejaime.files.wordpress.com/2009/10/simple_twitter_joomla_module.png" medium="image">
			<media:title type="html">simple_twitter_joomla_module</media:title>
		</media:content>

		<media:content url="http://elespaciodejaime.files.wordpress.com/2009/10/mod_simpletwitter.png" medium="image">
			<media:title type="html">mod_simpletwitter</media:title>
		</media:content>

		<media:content url="http://elespaciodejaime.files.wordpress.com/2009/10/delete_line_23.png" medium="image">
			<media:title type="html">delete_line_23</media:title>
		</media:content>
	</item>
		<item>
		<title>Pruebas unitarias usando mock objects</title>
		<link>http://elespaciodejaime.wordpress.com/2009/10/11/pruebas-unitarias-usando-mock-objects/</link>
		<comments>http://elespaciodejaime.wordpress.com/2009/10/11/pruebas-unitarias-usando-mock-objects/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 20:42:22 +0000</pubDate>
		<dc:creator>elespaciodejaime</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://elespaciodejaime.wordpress.com/?p=174</guid>
		<description><![CDATA[easymock,jmock, unit testing, java<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=174&subd=elespaciodejaime&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hoy comenzaré el día escribiendo un post después de casi dos meses lejos del blog, ha sido un tiempo largo pero ha sido aprovechado para aprender nuevas tecnologías e historias que compartir por aquí.</p>
<p>El tema de hoy será como escribir pruebas unitarias usando mock objects, pero, ¿qué son los mock objects? Yo los definiría como objetos programables para que se comporten de una manera determinada en runtime. ¿Y para qué puede servirnos esto al hacer pruebas unitarias? Nos servirá para probar las clases aisladas de sus dependencias, así, si una de las clases de las que nuestra clase depende falla, entonces este error no afectará la prueba unitaria de nuestra clase y deberemos identificar y solucionar ese problema en la otra clase (que debería tener escritas algunas pruebas unitarias).</p>
<p>Veamos un ejemplo en el que las depedencias pueden fallar.</p>
<p><img class="aligncenter size-full wp-image-175" title="Clases con dependencias " src="http://elespaciodejaime.files.wordpress.com/2009/10/clases_con_dependencias.png?w=550&#038;h=280" alt="Clases con dependencias " width="550" height="280" />La clase que queremos probar es ManejoDeUsuariosImpl, una implementación de la interface ManejoDeUsuarios, ésta clase se compone de instancias de LDAPAccesibleImpl, esto significa que si algo falla en LDAPAccesibleImpl nuestra clase también fallará probablemente y al hacer pruebas unitarias lo que queremos es <strong>someter a prueba exclusivamente el comportamiento de una clase independientemente del correcto funcionamiento de sus dependencias</strong>. Para darnos una mejor idea&#8230; ¿Qué podría fallar en LDAPAccesibleImpl? Hmm creo que todo, podría fallar la conexión de red al servidor LDAP, podría suceder que hayan eliminado al usuario que pensabamos usar para nuestras pruebas unitarias, etc.</p>
<p>Bueno, veamos un ejemplo de prueba unitaria para nuestra clase ManejoDeUsuariosImpl que es la implementación de ManejoDeUsuarios.</p>
<p>ManejoDeUsuarioImplTest.java</p>
<pre class="brush: java;">
package com.imageneureka;

import org.junit.Test;

import static org.easymock.EasyMock.*;

public class ManejoDeUsuariosImplTest {

 private static final String USUARIO_ACTIVO = &quot;active&quot;;
 private static final String USUARIO_NO_EXISTENTE = &quot;inactive&quot;;

 @Test
 public void hacerAlgoConUnUsuarioActivoTestHappyPath()
 throws Exception {
 // primer paso: creamos el mock, usando el metodo
 //estatico org.easymock.EasyMock.createMock
 LDAPAccesible foo = createMock(LDAPAccesible.class);
 // segundo paso: establecemos el comportamiento
 //, parametros -&gt; respuesta
 expect(foo.esUnUsuarioActivo(USUARIO_ACTIVO)).
 andReturn(Boolean.TRUE).anyTimes();
 // invocamos replay sobre el mock
 replay(foo);
 ManejoDeUsuariosImpl bar = new ManejoDeUsuariosImpl();
 // necesitamos esta linea para establecer la instancia
 //de LDAPAccesible que usara
 // nuestra clase a probar, en este caso el mock
 bar.setMyLDAPAccesibleImpl(foo);
 bar.hacerAlgoConUnUsuarioActivo(USUARIO_ACTIVO);
 // invocamos verify sobre el mock
 verify(foo);
 }

 @Test(expected=IllegalArgumentException.class)
 public void hacerAlgoConUnUsuarioActivoTestLLamadaIncorrecta()
 throws Exception {
 // primer paso: creamos el mock, usando el metodo estatico
 //.easymock.EasyMock.createMock
 LDAPAccesible foo = createMock(LDAPAccesible.class);
 // segundo paso: establecemos el comportamiento,
 //parametros -&gt; respuesta
 expect(foo.esUnUsuarioActivo(USUARIO_NO_EXISTENTE)).
 andReturn(Boolean.FALSE).anyTimes();
 // invocamos replay sobre el mock
 replay(foo);
 ManejoDeUsuariosImpl bar = new ManejoDeUsuariosImpl();
 // necesitamos esta linea para establecer la instancia
 //de LDAPAccesible que usara
 // nuestra clase a probar, en este caso el mock
 bar.setMyLDAPAccesibleImpl(foo);
 bar.hacerAlgoConUnUsuarioActivo(USUARIO_NO_EXISTENTE);
 // invocamos verify sobre el mock
 verify(foo);
 }
}
</pre>
<p>Antes de que revisemos el ejemplo les sugiero bajarse el ejemplo completo para que puedan ver la dependencia entre las clases de implementacion y asi puedan darse una idea mas clara de qué es lo que pretende testear esta prueba unitaria.</p>
<p><a title="Ejemplo" href="http://www.2shared.com/file/8369937/d643442b/easyMockTest.html" target="_blank">http://www.2shared.com/file/8369937/d643442b/easyMockTest.html</a></p>
<p>En el archivo que bajarán encontrarán una carpeta con un archivo pom.xml, éste es el project object model de maven, para los que no conocen maven, es un manejador de dependencias y proyectos muy útil, con él solamente necesitan el pom.xml y las dependencias (jars) se bajan de internet automáticamente, además ya se está convirtiendo en el estándar para gestionar proyectos, por lo tanto: <a title="Maven tutorial" href="http://www.chuidiang.com/java/herramientas/maven.php" target="_blank">http://www.chuidiang.com/java/herramientas/maven.php</a> además tiene muy buena integración con los IDEs que conozco, a saber Netbeans y Eclipse, en Netbeans tan solo tiene que ir a instalar plugins seleccionar el plugin para maven y ya esta, listo para usar.</p>
<p>Regresando a los nuestro, en esta prueba unitaria hay dos métodos de prueba, uno de ellos (hacerAlgoConUnUsuarioActivoTestHappyPath() ) prueba la clase bajo circuntancias favorables (usuario válido) y el otro (hacerAlgoConUnUsuarioActivoTestLLamadaIncorrecta()) prueba la llamada al método ManejoDeUsuariosImpl.hacerAlgoConUnUsuarioActivo() con un usuario incorrecto, circunstancia bajo la cual éste metodo debería responder con una excepción IllegalArgumentException y el proceso de emulación del comportamiento de la dependencia de la clase a testear se detalla como comentarios en el ejemplo.</p>
<p>Por último, cabe mencionar que easyMock no es el único framework para crear mock objects, también existe JMock, el cual implementa ésta funcionalidad aunque con un estilo <a title="Domain specific languages" href="http://www.agile-spain.com/lenguajededominioespecifico" target="_blank">DSL</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elespaciodejaime.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elespaciodejaime.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elespaciodejaime.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elespaciodejaime.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elespaciodejaime.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elespaciodejaime.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elespaciodejaime.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elespaciodejaime.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elespaciodejaime.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elespaciodejaime.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=174&subd=elespaciodejaime&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://elespaciodejaime.wordpress.com/2009/10/11/pruebas-unitarias-usando-mock-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c7334fec2cc6128a2627f1de3605503c?s=96&#38;d=monsterid" medium="image">
			<media:title type="html">elespaciodejaime</media:title>
		</media:content>

		<media:content url="http://elespaciodejaime.files.wordpress.com/2009/10/clases_con_dependencias.png" medium="image">
			<media:title type="html">Clases con dependencias </media:title>
		</media:content>
	</item>
		<item>
		<title>RSS feeds joomla detras de un proxy</title>
		<link>http://elespaciodejaime.wordpress.com/2009/07/16/rss-feeds-joomla-detras-de-un-proxy/</link>
		<comments>http://elespaciodejaime.wordpress.com/2009/07/16/rss-feeds-joomla-detras-de-un-proxy/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 14:31:31 +0000</pubDate>
		<dc:creator>elespaciodejaime</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://elespaciodejaime.wordpress.com/?p=151</guid>
		<description><![CDATA[Solucionar problemas con joomla para cargar las entradas RSS de un sitio externo<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=151&subd=elespaciodejaime&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Estaba experimentando un problema con joomla para cargar las entradas RSS de un sitio externo, recibía este mensaje de error:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Al revisar el log de Apache en /var/log/httpd/error_log pude ver que el error se estaba disparando en SimplePie.php. En Joomla 1.5 este fichero se usa para realizar las tareas relacionadas a la sindicación RSS.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">El servidor se encuentra detrás de un proxy, sin acceso directo a internet, por lo tanto tenemos que indicarle a cURL de alguna manera que use el proxy para conectarse a internet, encontré una solución para realizar ésto en Windows y una más simple para hacerlo en Linux, ésto debido a que no pude hallar el archivo de configuración de inicio de apache en Windows, /etc/sysconfig/httpd, si sabes dónde está dimelo por favor.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Solución Windows:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">1. Activar la extensión cURL, en el caso de que ésta se encuentre desactivada.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Abrir php.ini</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Descomentar la siguiente línea:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">
<pre class="brush: plain;">&lt;/pre&gt;
&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position:absolute;left:-10000px;top:0;width:1px;height:1px;&quot;&gt;extension=php_curl.dll&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot; style=&quot;position:absolute;left:-10000px;top:0;width:1px;height:1px;&quot;&gt;</pre>
</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">extension=php_curl.dll</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Steps to resolve:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">I enabled the cUrl extension in php.ini (running on a IIS platform)</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Changed the code around line 6536:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">curl_setopt($fp, CURLOPT_PROXY, $ip); curl_setopt($fp, CURLOPT_PROXYPORT, $port); curl_setopt($fp, CURLOPT_PROXYUSERPWD, $login . ‘:’ . $passwd);</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">where $ip is the proxy IP Address, $port is the port and $login:$password is the proxy authentication.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">After this, I can load in external RSS feeds! YAY</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">here is an easy wsy to do this: If you have installed curl package on your machinge, Joomla (well at least in 1.5) will attempt to use that first instead of making the socke call. Curl looks for the environment variable http_proxy. So just set that to whatever your proxy is:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">E.g. for unix: (windows- sorry folks make the switch)</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">export http_proxy=http://proxy.bla:8080</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">If there is proxy authentication:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">export http_proxy=http://USERNAME:PASSWORD@proxy.bla:8080</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Put this line in the startup config file for apache: eg /etc/sysconfig/httpd (lor linux)</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Just restart httpd and joomla RSS will work now. Try it.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Steven</div>
<p>Estaba experimentando un problema con joomla para cargar las entradas RSS de un sitio externo, recibía este mensaje de error:</p>
<div id="attachment_153" class="wp-caption aligncenter" style="width: 540px"><img class="size-full wp-image-153" title="error_al_cargar_los_datos_feed" src="http://elespaciodejaime.files.wordpress.com/2009/07/error_al_cargar_los_datos_feed.jpg?w=530&#038;h=82" alt="Error al cargar los datos feed" width="530" height="82" /><p class="wp-caption-text">Error al cargar los datos feed</p></div>
<p>Al revisar el log de Apache en /var/log/httpd/error_log pude ver que el error se estaba disparando en SimplePie.php. En Joomla 1.5 este fichero se usa para realizar las tareas relacionadas a la sindicación RSS.</p>
<p>El servidor se encuentra detrás de un proxy, sin acceso directo a internet, por lo tanto tenemos que indicarle a cURL de alguna manera que use el proxy para conectarse a internet, encontré una solución para realizar ésto en Windows y una más simple para hacerlo en Linux, ésto debido a que no pude hallar el archivo de configuración de inicio de apache en Windows, que se puede encontrar aqui: /etc/sysconfig/httpd en Linux.</p>
<p>Solución Windows:</p>
<p>1. Activar la extensión cURL, en el caso de que ésta se encuentre desactivada.</p>
<p>Abrir php.ini</p>
<p>Descomentar la siguiente línea:</p>
<pre class="brush: java;">

;extension=php_curl.dll
</pre>
<p>Añadimos las siguiente líneas después de la línea 6536 de SimplePie.php</p>
<pre class="brush: php;">

curl_setopt($fp, CURLOPT_PROXY, $proxyHost);

curl_setopt($fp, CURLOPT_PROXYPORT, $proxyPort);

curl_setopt($fp, CURLOPT_PROXYUSERPWD, $login . ':' . $passwd);
</pre>
<p>Naturalmente tenemos que definir las variables con los datos de nuestro proxy, la tercera línea es opcional, podemos comentarla.</p>
<p>Solución Linux:</p>
<p>Esta solución se basa en el hecho de que cURL hace uso de la variable de entorno http_proxy disponible para el usuario que está ejecutando la instancia de Apache.</p>
<p>Por lo tanto en linux podemos hacer esto en el script de arranque global (para que afecte a todos los usuarios, incluyendo Apache).</p>
<pre class="brush: php;">

export http_proxy=http://proxy.bla:8080
</pre>
<p>Si el proxy requiere autenticación:</p>
<pre class="brush: php;">

export http_proxy=http://USERNAME:PASSWORD@proxy.bla:8080
</pre>
<p>O sino agregamos una de estas líneas a:</p>
<p>/etc/sysconfig/httpd</p>
<p>Y reiniciamos apache</p>
<pre class="brush: php;">

#service httpd restart
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elespaciodejaime.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elespaciodejaime.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elespaciodejaime.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elespaciodejaime.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elespaciodejaime.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elespaciodejaime.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elespaciodejaime.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elespaciodejaime.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elespaciodejaime.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elespaciodejaime.wordpress.com/151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=151&subd=elespaciodejaime&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://elespaciodejaime.wordpress.com/2009/07/16/rss-feeds-joomla-detras-de-un-proxy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c7334fec2cc6128a2627f1de3605503c?s=96&#38;d=monsterid" medium="image">
			<media:title type="html">elespaciodejaime</media:title>
		</media:content>

		<media:content url="http://elespaciodejaime.files.wordpress.com/2009/07/error_al_cargar_los_datos_feed.jpg" medium="image">
			<media:title type="html">error_al_cargar_los_datos_feed</media:title>
		</media:content>
	</item>
		<item>
		<title>Comunicación efectiva, poniéndose en el lugar del interlocutor</title>
		<link>http://elespaciodejaime.wordpress.com/2009/07/11/comunicacion-efectiva-poniendose-en-el-lugar-del-interlocutor/</link>
		<comments>http://elespaciodejaime.wordpress.com/2009/07/11/comunicacion-efectiva-poniendose-en-el-lugar-del-interlocutor/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 00:01:19 +0000</pubDate>
		<dc:creator>elespaciodejaime</dc:creator>
				<category><![CDATA[Comunicación]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[comunicación efectiva]]></category>

		<guid isPermaLink="false">http://elespaciodejaime.wordpress.com/?p=147</guid>
		<description><![CDATA[Comunicación efectiva<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=147&subd=elespaciodejaime&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Leo en <a href="http://semanaeconomica.com/users/792-gabriel-ortiz-de-zevallos/blogs/2526-maldito-el-que-sabe" target="_blank">http://semanaeconomica.com</a> un artículo muy interesante llamado &#8220;Maldito el que sabe&#8221;, me tomo el atrevimiento de transcribirlo:</p>
<blockquote><p>Elizabeth Newton, de la Universidad de Stanford, realizó su tesis doctoral usando el juego típico de adivinar canciones: uno tararea y el otro adivina. De 120 repeticiones con individuos y canciones aleatorias, apenas se adivinaron 3 (2,5% de los casos). Los “taradeadores”, por llamarlos de algún modo, habían anticipado una probabilidad de 50% de éxito, una proporción 20 veces mayor que la real. De ahí surge la expresión “la maldición de saber”. El que sabe mucho de algo cree, por lo general, que el otro lo va a comprender mucho más fácilmente de lo que en realidad ocurre.</p>
<p>Cuando usted tiene una idea o un mensaje que comunicar, debe reconocer que su dominio del tema puede ser la mayor dificultad para comunicarse. Piense en su audiencia. Aproveche a un lego en la materia para ver si se le entiende, antes de mandarse con todo. No importa si es ingeniero, agrónomo, economista, y mucho peor si es abogado (para los cuales hablar en complicado es casi una obligación moral): el riesgo de que se complique demasiado es grande. Aquí se aplica lo que los psicólogos recomiendan a los padres para hablar con sus hijos sobre el sexo: explique lo necesario y asegúrese de estar entendiendo bien lo que su hijo quiere saber. Si no, puede que a mitad de explicar el Kama Sutra for Dummies, caiga en cuenta de que la pregunta sobre “qué son las relaciones orales”, se refería de verdad a los cuentos que se transmiten de generación en generación.</p></blockquote>
<p>Personalmente me impactó y de alguna manera me sentí identificado con este fragmento:</p>
<blockquote><p>El que sabe mucho de algo cree, por lo general, que el otro lo va a comprender mucho más fácilmente de lo que en realidad ocurre.</p></blockquote>
<p>Me sucede frecuentemente cuando explico algo (derepente sobre programación) que mi interlocutor adquiere una mirada aguda, y asumo (equivocadamente) que me está siguiendo sin problema alguno, pero, para aplacar las dudas pregunto: ¿Entiendes? y responde que sí, pero la experiencia confirma que este sí no es sino una manera de cumplido, o derepente una expresión casi mecánica o simple verguenza para aceptar que no entiende.</p>
<p>¿Y tú? ¿Sabes comunicarte?</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elespaciodejaime.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elespaciodejaime.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elespaciodejaime.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elespaciodejaime.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elespaciodejaime.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elespaciodejaime.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elespaciodejaime.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elespaciodejaime.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elespaciodejaime.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elespaciodejaime.wordpress.com/147/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=147&subd=elespaciodejaime&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://elespaciodejaime.wordpress.com/2009/07/11/comunicacion-efectiva-poniendose-en-el-lugar-del-interlocutor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c7334fec2cc6128a2627f1de3605503c?s=96&#38;d=monsterid" medium="image">
			<media:title type="html">elespaciodejaime</media:title>
		</media:content>
	</item>
		<item>
		<title>Como instalar VLC en Ubuntu Jaunty Jackalope</title>
		<link>http://elespaciodejaime.wordpress.com/2009/07/10/como-instalar-vlc-en-ubuntu-jaunty-jackalope/</link>
		<comments>http://elespaciodejaime.wordpress.com/2009/07/10/como-instalar-vlc-en-ubuntu-jaunty-jackalope/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 02:26:25 +0000</pubDate>
		<dc:creator>elespaciodejaime</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[how to install vlc in ubuntu jaunty]]></category>
		<category><![CDATA[jaunty jackalope]]></category>
		<category><![CDATA[ubuntu 9.04]]></category>
		<category><![CDATA[vlc]]></category>
		<category><![CDATA[vlc-plugin-esd]]></category>

		<guid isPermaLink="false">http://elespaciodejaime.wordpress.com/?p=139</guid>
		<description><![CDATA[Como instalar VLC en ubuntu jaunty jackalope<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=139&subd=elespaciodejaime&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.videolan.org/vlc/">VLC Media Player</a> es un reproductor multimedia del proyecto VideoLAN distribuido bajo licencia GPL. VLC Media Player soporta muchos codecs de audio y video, diferentes tipos de archivos, formatos de DVD, VCD y varios protocolos streaming.</p>
<p>Bueno, VLC simplemente funciona, el reproductor por defecto que viene con Ubuntu realmente nunca me ha servido para nada, y aprovechando un buen tweet de <a href="http://twitter.com/puredoxyk" target="_blank">@puredoxyk</a> en el que anunciaba la salida de una nueva versión de VLC me decidí a descargarlo ahora que necesito reproducir MP4 y aquí me tienen, satisfecho.</p>
<p>Para instalar VLC Media Player en Ubuntu, abre un terminal y escribe:</p>
<pre class="brush: java;">

sudo apt-get install vlc vlc-plugin-esd
</pre>
<p>Referencia:</p>
<p><a href="http://miguiaubuntu.wordpress.com/2007/08/16/instalar-vlc-en-ubuntu-alt-amtx/trackback/" target="_blank">Mi guia Ubuntu</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elespaciodejaime.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elespaciodejaime.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elespaciodejaime.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elespaciodejaime.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elespaciodejaime.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elespaciodejaime.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elespaciodejaime.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elespaciodejaime.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elespaciodejaime.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elespaciodejaime.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elespaciodejaime.wordpress.com&blog=2634502&post=139&subd=elespaciodejaime&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://elespaciodejaime.wordpress.com/2009/07/10/como-instalar-vlc-en-ubuntu-jaunty-jackalope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c7334fec2cc6128a2627f1de3605503c?s=96&#38;d=monsterid" medium="image">
			<media:title type="html">elespaciodejaime</media:title>
		</media:content>
	</item>
	</channel>
</rss>