<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>Einstein Dream</title>
	<link>http://blog.einsteindream.com</link>
	<description>La curiosidad es más importante que el conocimiento</description>
	<pubDate>Tue, 05 Feb 2008 19:31:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Los dos</title>
		<link>http://blog.einsteindream.com/los-dos/</link>
		<comments>http://blog.einsteindream.com/los-dos/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 19:31:55 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[Letras]]></category>

		<category><![CDATA[amor]]></category>

		<category><![CDATA[desilusión]]></category>

		<guid isPermaLink="false">http://blog.einsteindream.com/los-dos/</guid>
		<description><![CDATA[[Escrito en una bella noche de inspiración]
Si el aleph pudiese encarnar, indudablemente, sería en aquella, la historia de las historias. La hazaña de incontables espíritus entrelazados, donde el vínculo perdura aun cuando la carne los separa. No es de dos sino de muchos. Los que la cuentan no tienen nombre, todos son dos, dos son [...]]]></description>
			<content:encoded><![CDATA[<p>[Escrito en una bella noche de inspiración]</p>
<p class="MsoNormal">Si el <em>aleph</em> pudiese encarnar, indudablemente, sería en aquella, la historia de las historias. La hazaña de incontables espíritus entrelazados, donde el vínculo perdura aun cuando la carne los separa. No es de dos sino de muchos. Los que la cuentan no tienen nombre, todos son dos, dos son todos. Las vagas explicaciones nunca abandonan a la mente, aderezos mágicos, supuestos reconfortantes, ideas piadosas, sueños indecibles, en conjunto, goces y penas que penetran y merman el abismo entre lo platónico y lo real. Quién de ellos no ha de preguntar al mismísimo cielo cual es la enseñanza, donde ha quedado la parábola, acaso escondida tras el gusto de la traviesa nuez, acaso flanqueada por la voluminosa masa gris. Dichosos somos de poseer algo más que un simple y recto sistema de engranes e interacciones eléctricas. Que fácil sería ser autómatas, pacientes de la ceguera, guiados por un impecable sentido de la verdad y la cordura. Ellos no serán los primeros, ni mucho menos los dos últimos. Mejor ser precavidos y aclarar que no lo serán mientras en su hábitat existan más de unos cuantos. Parece ser una ceremonia, un cortejo antiguo en el que ambos cargan sobre sus hombros costales llenos de vida, vida atrapada en cuantiosas estaciones, meses de invierno, días de primavera, tardes veraniegas, noches otoñales. Desgarradoras memorias, sí, en efecto, retazos de historias incompatibles con el mediodía. Porqué no olvidamos, se preguntan la mitad de ellos. Porqué no nos engañamos, repiten testarudamente. La otra mitad, confieso honestamente,<span>  </span>reflexiona. Duda, y deja de reflexionar. Derrumban la enorme fortaleza, y no es sino en cuestión de segundos, para algunos minutos, que se ven a sí mismos como en aquel día que salieron expulsados del vientre materno, desnudos, débiles. Han quedado a la intemperie, sin techo, o para ser precisos, sin reparo alguno. Han perdido o han ganado, se preguntan. Es un juego, o al menos así lo han de ver. Que juego más retorcido, sufrir y querer, verbos de antaño, aunque parezca incomprensible, compatibles. Así guiados por el sendero matutino del fauno, se adentran en querellas indeseables, prenden la vela que nadie veía, resguardada tal vez para momentos como estos. Duerman, no hagan más que dormir,<span>  </span>piérdanse en el eterno inconsciente,<span>  </span>déjense engañar por los escasos momentos de paz, no permitan que la amargada realidad les corte las alas. Usen la imaginación, aunque sea por una noche caminen con Alicia, tomen el té con quien más lo deseen, platíquenle que por fin han encontrado lo que tanto buscaban, y no le permitan, insisto, no le permitan, hablar de lucidez. Todos lo sabemos, inclusive aquellos que piensan no saberlo, el desgraciado llega. Cuando se le antoja, claro, pero llega. Será cuestión de esperar, como algunos creen, o bien, de buscar. Es de ambos. Mis queridos dos, no se desesperen, que lo que perdió el muerto no es la vida si no la fe, y no precisamente la fe magisterial, hablo de la fe que te hace creer, sea en el infinito, en el nazareno, en la hormiga trabajadora, y porque no, en el carajo, al fin, mientras crean en creer. Qué los hace especiales, es lo que deberían de preguntar. Porque ustedes dos y no el dos numero tres y el dos número cuatro. Tarea difícil les he puesto. Piensen y sientan. A que no es fácil. No me tachen de loro, pero a lo fácil comúnmente, a pena de equivocarme, le encanta caminar con lo simple. Busquen lo complejo, así sea lo simple vestido de complejo, que la verdadera belleza no la encuentras en el cielo, está allí, donde menos lo esperan, debajo de la aparentemente tosca piedra. No, no espero que lo entiendan. Espero que lo sufran. Sigan, si así lo desean. Ritual número… he perdido la cuenta.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/los-dos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cómo resaltar código fuente en WordPress</title>
		<link>http://blog.einsteindream.com/como-resaltar-codigo-fuente-en-wordpress/</link>
		<comments>http://blog.einsteindream.com/como-resaltar-codigo-fuente-en-wordpress/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 06:56:54 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[Programación]]></category>

		<category><![CDATA[geshi]]></category>

		<category><![CDATA[indentation]]></category>

		<category><![CDATA[syntax highlighting]]></category>

		<category><![CDATA[wordpress]]></category>

		<category><![CDATA[wp-syntax]]></category>

		<guid isPermaLink="false">http://blog.einsteindream.com/como-resaltar-codigo-fuente-en-wordpress/</guid>
		<description><![CDATA[El plugin WP-Syntax nos permite resaltar la sintaxis de una gran variedad de lenguajes de programación, tan solo por mencionar algunos: ActionScript, ASP, Bash, C, C++, C#, Java, Javascript, Mysql, PHP, Ruby, etc.  El único incoveniente que noto en este plugin (al menos hasta la versión 0.6) es que ciertos caracteres HTML especiales (como [...]]]></description>
			<content:encoded><![CDATA[<p>El plugin <strong><a href="http://wordpress.org/extend/plugins/wp-syntax/" title="Visit plugin homepage">WP-Syntax</a></strong> nos permite resaltar la sintaxis de una gran variedad de lenguajes de programación, tan solo por mencionar algunos: ActionScript, ASP, Bash, C, C++, C#, Java, Javascript, Mysql, PHP, Ruby, etc.  El único incoveniente que noto en este plugin (al menos hasta la versión 0.6) es que ciertos caracteres HTML especiales (como &#8220;&lt;&#8221; y &#8220;&gt;&#8221;) tienen que reescribirse manualmente como entidades HTML.</p>
<p>Afortunadamente alguien (<span></span><a href="http://blog.felho.hu/posting-source-code-in-wordpress-escaping-and-syntax-highlighting-the-inserted-code.html" title="Permanent Link to Posting source code in WordPress: escaping and syntax highlighting the inserted code"><span style="color: blue" lang="EN-US">Posting source code in WordPress: escaping and syntax highlighting the inserted code</span></a>) ya se ha tomado la molestia de resolver este problema, y de paso, agregando magnificas funcionalidades como:</p>
<ol>
<li>Botón que hace las transformaciones necesarias para que un pedazo de texto resalte como código fuente.</li>
<li>Control de la sangría (indentation)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/como-resaltar-codigo-fuente-en-wordpress/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Minube: buscador de viajes</title>
		<link>http://blog.einsteindream.com/minube-buscador-de-viajes/</link>
		<comments>http://blog.einsteindream.com/minube-buscador-de-viajes/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 09:23:51 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://blog.einsteindream.com/minube-buscador-de-viajes/</guid>
		<description><![CDATA[Pensar en el viajero promedio  es pensar en aquel que busca las mejores ofertas. Es cierto, las mejores ofertas no son necesariamente aquellas que poseen los mejores precios; las mejores ofertas son las que contienen características (en el caso de los hoteles, ubicación, servicios, etc.) atractivas que resultan en beneficios notables.
Inmediatamente uno se pregunta, [...]]]></description>
			<content:encoded><![CDATA[<p>Pensar en el viajero promedio  es pensar en aquel que busca las mejores ofertas. Es cierto, las mejores ofertas no son necesariamente aquellas que poseen los mejores precios; las mejores ofertas son las que contienen características (en el caso de los hoteles, ubicación, servicios, etc.) atractivas que resultan en beneficios notables.</p>
<p>Inmediatamente uno se pregunta, ¿cuál es la mejor forma de organizar un viaje, aprovechando al máximo las ofertas del mercado? Una posible respuesta es acudir a una agencia de viajes y delegar la planificación a la compañía; la desventaja: no tenemos control directo sobre lo que queremos. La segunda posibilidad radica en planificar con la ayuda de buscadores de viajes. Al menos en Europa y EUA, este tipo de buscadores no son noticia nueva; los buscadores de viajes nos permiten hacer consultas en diferentes compañías y agencias de viajes online, sin la necesidad de acceder individualmente a cada una de ellas.</p>
<p><a href="http://www.minube.com" target="_blank">Minube.com</a> es la solución que presenta la compañía Española PRS Marketing al mercado. En su primera fase, minube le otorga al usuario una gama de servicios, integrados en una interfaz amigable e intuitiva, que facilitan la planificación y optimización de su viaje: búsqueda de vuelos baratos y hoteles en mas de 20 compañias, notificador de alertas e historial de búsquedas. Lo interesante es que minube no se limita a ofrecer solo dichos servicios, sino que pretende, en una etapa próxima, impulsar la creación de una comunidad donde los usuarios puedan formar parte activa del proyecto opinando, sugiriendo, creando perfiles de viaje y, entre otras cosas, seleccionando puntos de interés.</p>
<p>Y si minube no es la única solución en el mercado, ¿cuál es su factor diferenciador? ¿porqué los usuarios deberían de comprar y participar en el proyecto?</p>
<p><a href="http://www.minube.com">Minube </a><strong>sobresale </strong>por que:</p>
<ol>
<li>Es gratis.</li>
<li>Te permite opinar sobre los hoteles en los que has estado.</li>
<li>Es rápido.</li>
<li>Te envia alertas a tu mail de los vuelos que  más te interesan.</li>
<li>Te ahorra tiempo y dinero.</li>
<li>Y sobre todo, porque dentro de muy pronto, será una <strong>Red Social de Viajes. Una comunidad de viajeros.</strong></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/minube-buscador-de-viajes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Meta tags en CakePHP</title>
		<link>http://blog.einsteindream.com/meta-tags-en-cakephp/</link>
		<comments>http://blog.einsteindream.com/meta-tags-en-cakephp/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 20:28:28 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://blog.einsteindream.com/meta-tags-en-cakephp/</guid>
		<description><![CDATA[El tema de SEO (Search Engine Optimization) es sumamente importante para el posicionamiento de los sitios web en los resultados de búsqueda. El SEO es un proceso que permite mejorar el volumen y la calidad de las visitas direccionadas, de forma natural, desde un buscador a un sitio web. Tres de las técnicas más recomendadas [...]]]></description>
			<content:encoded><![CDATA[<p>El tema de SEO (<a href="http://en.wikipedia.org/wiki/Search_engine_optimization">Search Engine Optimization</a>) es sumamente importante para el posicionamiento de los sitios web en los resultados de búsqueda. El SEO es un proceso que permite mejorar el volumen y la calidad de las visitas direccionadas, de forma natural, desde un buscador a un sitio web. Tres de las técnicas más recomendadas para mejorar el posicionamiento natural son:</p>
<ol>
<li>Asignar un <strong>título </strong>(title) al documento</li>
<li>Enumerar un conjunto de <strong>palabras clave</strong> (keywords) que identifiquen coherentemente lo que se pretende mostrar.</li>
<li>Definir una breve <strong>descripción </strong>del documento.</li>
</ol>
<p>Por defecto, a la versión 1.1.15.5144 de CakePHP, los meta tags no se pueden generar dinámicamente cuando utilizamos una plantilla (layout). Los que hayan trabajado con CakePHP reconocerán el problema que existe para enviar información, que no sea el título del documento, desde un controlador hacia un layout. Si generamos contenido dinámicamente, en este caso, naturalmente querremos definir meta-información sin tener que estar creando múltiples plantillas.</p>
<p>Una solución a este problema es añadir propiedades, con la misma funcionalidad de <strong>pageTitle</strong>, a las clases base de los controladores y las vistas. De esta forma, cuando asignamos a cualquiera de las propiedades nuevas determinado valor en una acción, el valor podrá ser accedido en la plantilla correspondiente, tan solo con instanciar una variable previamente definida. En pocas palabras, imitamos la forma en como CakePHP permite definir dinámicamente el título de un documento.</p>
<p>En este ejemplo agregaremos dos propiedades: metaDescription y metaKeywords. Para agregar estas dos propiedades debemos de:</p>
<p>1. Declarar dos propiedades públicas, metaDescription y metaKeywords, en el controlador base (/cake/libs/controller/controller.php):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><div class="php" style="font-family: monospace;"><span style="color: #808080; font-style: italic;">/**<br />
<br />
* Web page meta description<br />
*<br />
* @var boolean<br />
* @access public<br />
*/</span><br />
<br />
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0000ff;">$metaDescription</span> = <span style="color: #000000; font-weight: bold;">false</span>;<br />
<span style="color: #808080; font-style: italic;">/**<br />
* Web page meta keywords<br />
*<br />
* @var boolean<br />
* @access public<br />
*/</span><br />
<br />
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0000ff;">$metaKeywords</span> = <span style="color: #000000; font-weight: bold;">false</span>;</div></td></tr></table></div>

<p>2. Agregamos al arreglo de lista de variables obtenidas del controlador, los nombres de las anteriores variables:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><div class="php" style="font-family: monospace;"><span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0000ff;">$_passedVars</span> = <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><br />
<span style="color: #ff0000;">'viewVars'</span>, <span style="color: #ff0000;">'action'</span>, <span style="color: #ff0000;">'autoLayout'</span>, <span style="color: #ff0000;">'autoRender'</span>,<br />
<span style="color: #ff0000;">'ext'</span>, <span style="color: #ff0000;">'base'</span>, <span style="color: #ff0000;">'webroot'</span>, <span style="color: #ff0000;">'helpers'</span>,<br />
<span style="color: #ff0000;">'here'</span>, <span style="color: #ff0000;">'layout'</span>, <span style="color: #ff0000;">'modelNames'</span>, <span style="color: #ff0000;">'name'</span>,<br />
<span style="color: #ff0000;">'pageTitle'</span>, <span style="color: #ff0000;">'viewPath'</span>, <span style="color: #ff0000;">'params'</span>, <span style="color: #ff0000;">'data'</span>,<br />
<span style="color: #ff0000;">'webservices'</span>, <span style="color: #ff0000;">'plugin'</span>, <span style="color: #ff0000;">'metaDescription'</span>, <span style="color: #ff0000;">'metaKeywords'</span><span style="color: #66cc66;">&#41;</span>;</div></td></tr></table></div>

<p>3. Redefinimos el método renderLayout.</p>
<p>3.1 Después de la asignación de la variable $pageTitle agregamos:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><div class="php" style="font-family: monospace;"><br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">metaDescription</span> !== <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0000ff;">$metaDescription</span> = <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">metaDescription</span>;<br />
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0000ff;">$metaDescription</span> = <span style="color: #ff0000;">&quot;&quot;</span>;<br />
<span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">metaKeywords</span> !== <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0000ff;">$metaKeywords</span> = <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">metaKeywords</span>;<br />
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0000ff;">$metaKeywords</span> = <span style="color: #ff0000;">&quot;&quot;</span>;<br />
<span style="color: #66cc66;">&#125;</span></div></td></tr></table></div>

<p>3.2 Editamos el arreglo $dataForLayout, agregando las llaves meta_description y meta_keywords:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><div class="php" style="font-family: monospace;"><span style="color: #0000ff;">$dataForLayout</span> = <span style="color: #000066;">array_merge</span><br />
<span style="color: #66cc66;">&#40;</span><br />
&nbsp; <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">viewVars</span>,<br />
&nbsp; <span style="color: #000066;">array</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><br />
&nbsp; &nbsp; <span style="color: #ff0000;">'title_for_layout'</span> &nbsp; =&gt; <span style="color: #0000ff;">$pageTitle</span>,<br />
&nbsp; &nbsp; <span style="color: #ff0000;">'content_for_layout'</span> =&gt; <span style="color: #0000ff;">$contentForLayout</span>,<br />
&nbsp; &nbsp; <span style="color: #ff0000;">'cakeDebug'</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=&gt; <span style="color: #0000ff;">$debug</span>,<br />
&nbsp; &nbsp; <span style="color: #ff0000;">'meta_description'</span> &nbsp; =&gt; <span style="color: #0000ff;">$metaDescription</span>,<br />
&nbsp; &nbsp; <span style="color: #ff0000;">'meta_keywords'</span> &nbsp; &nbsp; &nbsp;=&gt; <span style="color: #0000ff;">$metaKeywords</span><br />
&nbsp; <span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#41;</span>;</div></td></tr></table></div>

<p>Lo único que necesitamos para añadir dinámicamente los meta tags a nuestras páginas es:</p>
<p>1. Asignar valores a las propiedades metaDescription y metaKeywords del controlador. Por ejemplo, para determinada acción:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><div class="php" style="font-family: monospace;"><span style="color: #000000; font-weight: bold;">function</span> view<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">metaDescription</span> = <span style="color: #ff0000;">&quot;Hola Mundo&quot;</span>;<br />
&nbsp; <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">metaKeywords</span> = <span style="color: #ff0000;">&quot;hola, mundo&quot;</span>;<br />
<span style="color: #66cc66;">&#125;</span></div></td></tr></table></div>

<p>2. Añadir al elemento  de la plantilla las variable $meta_description y $meta_keywords:</p>

<div class="wp_syntax"><div class="code"><div class="php" style="font-family: monospace;">&lt;meta name=<span style="color: #ff0000;">&quot;description&quot;</span> content=<span style="color: #ff0000;">&quot;&lt;?php echo $meta_description ?&gt;&quot;</span> /&gt;<br />
&lt;meta name=<span style="color: #ff0000;">&quot;keywords&quot;</span> content=<span style="color: #ff0000;">&quot;&lt;?php echo $meta_keywords ?&gt;&quot;</span> /&gt;</div></div></div>

<p>Admito que la desventaja de esta solución radica en tener que editar directamente el núcleo del framework, sin embargo, permite resolver el problema de forma elegante, con un poco de esfuerzo. Tal vez en versiones posteriores de CakePHP podremos ver soluciones de este tipo integradas de forma natural.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/meta-tags-en-cakephp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mono Shaolin</title>
		<link>http://blog.einsteindream.com/kung-fu-monkey/</link>
		<comments>http://blog.einsteindream.com/kung-fu-monkey/#comments</comments>
		<pubDate>Sun, 01 Jul 2007 10:31:48 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[Diversión]]></category>

		<guid isPermaLink="false">http://blog.einsteindream.com/kung-fu-monkey/</guid>
		<description><![CDATA[Este mono parece ser de cuidado.
Monkey Kung-Fu

Añadir a mi perfil &#124; Más Videos
]]></description>
			<content:encoded><![CDATA[<p>Este mono parece ser de cuidado.</p>
<p><a href="http://myspacetv.com/index.cfm?fuseaction=vids.individual&amp;videoid=784348108">Monkey Kung-Fu</a><br />
<embed flashvars="m=784348108&amp;type=video" height="346" width="430" src="http://lads.myspace.com/videos/myspacetv_vplayer0005.swf"></embed><br />
<a href="http://myspacetv.com/index.cfm?fuseaction=vids.addToProfileConfirm&amp;videoid=784348108&amp;title=Monkey Kung-Fu">Añadir a mi perfil</a> | <a href="http://myspacetv.com/index.cfm?fuseaction=vids.home">Más Videos</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/kung-fu-monkey/feed/</wfw:commentRss>
		</item>
		<item>
		<title>El trabajo en Google</title>
		<link>http://blog.einsteindream.com/el-trabajo-en-google/</link>
		<comments>http://blog.einsteindream.com/el-trabajo-en-google/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 17:35:12 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.einsteindream.com/blog/?p=6</guid>
		<description><![CDATA[La gente habla mucho de las ventajas de trabajar en Google. ¿Quién no ha escuchado alguna vez de las maravillosas oficinas llenas de comodidad y espacios de juego? Aunque la realidad no es distinta, los  requerimientos para entrar en la compañía, con un puesto de ingeniero, parecen ser desafiantes. El tipo de personas que [...]]]></description>
			<content:encoded><![CDATA[<p>La gente habla mucho de las ventajas de trabajar en Google. ¿Quién no ha escuchado alguna vez de las maravillosas oficinas llenas de comodidad y espacios de juego? Aunque la realidad no es distinta, los  requerimientos para entrar en la compañía, con un puesto de ingeniero, parecen ser desafiantes. El tipo de personas que Google busca deben de poseer las siguientes características:</p>
<ol>
<li>Tener habilidades y conocimientos extensos en las diferentes áreas de las ciencias de la computación y las matemáticas.</li>
<li>Tener habilidades de programación de calidad mundial.</li>
<li>Tener excelentes habilidades comunicativas y organizacionales.</li>
<li>Ser apasionados en el trabajo.</li>
<li>Ser buenos compañeros de trabajo.</li>
<li>Disfrutar trabajar en un ambiente de alto desempeño, en pequeños equipos de proyecto sin estructura.</li>
<li>Tener diversos intereses y habilidades.</li>
</ol>
<p>Los requerimientos técnicos incluyen tener:</p>
<ol>
<li>Licenciatura(BS) o Maestría (MS) en Ciencias de la Computación o equivalentes (el doctorado es un punto a favor).</li>
<li>Varios años de experiencia desarrollando software.</li>
<li>Amplia experiencia programando en C++ y/o Java.</li>
<li>Entusiasmo por resolver problemas interesantes.</li>
<li>Experiencia con entornos Unix/Linux o Windows, desarrollo en C++, sistemas distribuidos,  aprendizaje automático,  recuperación de datos, programación de redes y/o desarrollo de sistemas de software grandes, son puntos a favor.</li>
</ol>
<p>Por supuesto, estos no son los únicos requerimientos importantes. Los requerimientos varían de acuerdo al área de especialización. Por ejemplo, para ser Evangelista del API de Mapas es necesario tener mas de 4 años de experiencia con JavaScript/HTML/CSS (&#8221;Ajax&#8221;), haber desarrollado servicios web y saber como funcionan los mapas.</p>
<p>Y así como Google pide, Google ofrece.  Los fundadores de Google construyeron la compañía alrededor de la idea de que el trabajo debería de ser desafiante y el desafío debería ser divertido. Como dice Eric Schmidt, CEO de Google: &#8220;El objetivo es eliminar todo lo que se interponga en el camino de nuestros empleados. Ofrecemos un paquete estándar de compensaciones adicionales, pero sobre eso se encuentran los comedores, gimnasios, lavanderías, cuartos de masaje, peluquerías, lavaderos automáticos de coches, autobuses - casi todo lo que un empleado trabajador podría querer. Enfrentémoslo: <strong>los programadores quieren programar, no quieren lavar su ropa</strong>. Así que les hacemos fácil realizar ambas cosas&#8221;.</p>
<p>En Google, el trabajo y el juego no son mutuamente excluyentes. Con toda seguridad,  para los ingenieros de software, Google parece ser una empresa rica en oportunidades y desafíos. ¿Serán los retos y presiones equiparables con los beneficios económicos y personales?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/el-trabajo-en-google/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ofertas de empleo en Google México</title>
		<link>http://blog.einsteindream.com/ofertas-de-empleo-en-google-mexico/</link>
		<comments>http://blog.einsteindream.com/ofertas-de-empleo-en-google-mexico/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 15:49:22 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.einsteindream.com/blog/?p=5</guid>
		<description><![CDATA[Al parecer por el momento Google no está interesado en ofrecer puestos ingenieriles en México. Las vacantes, al día de hoy, están orientadas al marketing y a las ventas (Agency Relationship Manager , Associate Product Marketing Manager, Customer Solutions Engineer (Sales Engineer), etc.). Obviamente esto no quiere decir que no podamos trabajar en Google, sino [...]]]></description>
			<content:encoded><![CDATA[<p>Al parecer por el momento Google no está interesado en ofrecer puestos ingenieriles en México. Las vacantes, al día de hoy, están orientadas al marketing y a las ventas (Agency Relationship Manager , Associate Product Marketing Manager, Customer Solutions Engineer (Sales Engineer), etc.). Obviamente esto no quiere decir que no podamos trabajar en Google, sino que simplemente el desarrollo tipo laboratorio se encuentra fuera del país. De hecho, la <a href="http://www.einsteindream.com/blog/wp-admin/%28Agency%20Relationship%20Manager%20,%20Associate%20Product%20Marketing%20Manager,%20Customer%20Solutions%20Engineer%20%28Sales%20Engineer%29,%20etc.%29">oficina de Google México</a> es una oficina de ventas. Esperemos que no pase mucho tiempo para que Google decida poner un labs headquarter en México.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/ofertas-de-empleo-en-google-mexico/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lenguajes en .NET</title>
		<link>http://blog.einsteindream.com/lenguajes-en-net/</link>
		<comments>http://blog.einsteindream.com/lenguajes-en-net/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 14:25:10 +0000</pubDate>
		<dc:creator>Luimon</dc:creator>
		
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.einsteindream.com/blog/?p=3</guid>
		<description><![CDATA[Hasta hace poco desconocía la posibilidad de integrar lenguajes de programación como PHP Y Ruby en .NET. La arquitectura de .NET cuenta  con un diseño espectacular: mediante el uso del lenguaje intermedio CIL (Common Intermediate Language) especificado en el CLI (Common Language Infrastructure), podemos trabajar con cualquier tipo de lenguaje. De forma simplificada, el [...]]]></description>
			<content:encoded><![CDATA[<p>Hasta hace poco desconocía la posibilidad de integrar lenguajes de programación como PHP Y Ruby en .NET. La arquitectura de .NET cuenta  con un diseño espectacular: mediante el uso del lenguaje intermedio CIL (Common Intermediate Language) especificado en el CLI (<a href="http://en.wikipedia.org/wiki/Common_Language_Infrastructure" title="Common Language Infrastructure">Common Language Infrastructure</a>), podemos trabajar con cualquier tipo de lenguaje. De forma simplificada, el proceso es el siguiente:</p>
<ol>
<li> Escribimos código fuente en el lenguaje deseado.</li>
<li>El código fuente se compila a CIL.  La <a href="http://dotnetpowered.com/languages.aspx">lista de compiladores</a> es grande, inclusive, el proyecto Mono cuenta con un conjunto de <a href="http://www.mono-project.com/Languages">compiladores compatibles</a>.</li>
<li>El entorno de ejecución CLR traduce el código CIL a código máquina.</li>
</ol>
<p>De esta forma, .NET no solo garantiza independencia del  sistema,  sino también, independencia del lenguaje y reutilización de código. Cualquiera sea el lenguaje en el que trabajemos, podemos desarrollar un compilador que traduzca nuestro código a CIL, y así, aprovechar el trabajo previamente realizado.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.einsteindream.com/lenguajes-en-net/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
