<?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>Eleazan Source</title>
	<atom:link href="http://blog.eleazan.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.eleazan.net</link>
	<description></description>
	<lastBuildDate>Thu, 06 Dec 2012 22:29:27 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>League of Legends: HeroWars</title>
		<link>http://blog.eleazan.net/2012/12/league-of-legends-herowars/</link>
		<comments>http://blog.eleazan.net/2012/12/league-of-legends-herowars/#comments</comments>
		<pubDate>Thu, 06 Dec 2012 22:08:20 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[HeroWars]]></category>

		<guid isPermaLink="false">http://blog.eleazan.net/?p=113</guid>
		<description><![CDATA[Buenas, Sí, lo sé. Otra vez he vuelto a descuidar el blog. Qué le vamos a hacer, soy un desastre. Pero esta vez, creo que lo iré actualizando un poco más. Esta entrada va por HeroWars, un proyecto para "emular" un servidor del League of Legends, que empezaron Jiwan, IntLine9 y ltsstar... bueno, yo también estuve [...]]]></description>
				<content:encoded><![CDATA[<p>Buenas,</p>
<p>Sí, lo sé. Otra vez he vuelto a descuidar el blog. Qué le vamos a hacer, soy un desastre. Pero esta vez, creo que lo iré actualizando un poco más.</p>
<p>Esta entrada va por <a title="HeroWars" href="https://github.com/Intline9/HeroWars" target="_blank">HeroWars</a>, un proyecto para "emular" un servidor del <a title="League Of Legends" href="http://euw.leagueoflegends.com/" target="_blank">League of Legends</a>, que empezaron <a title="Jiwan" href="https://github.com/Jiwan" target="_blank">Jiwan</a>, <a title="IntLine9" href="https://intline9.wordpress.com/" target="_blank">IntLine9</a> y <a title="ltsstar" href="https://github.com/ltsstar" target="_blank">ltsstar</a>... bueno, yo también estuve por allí en los inicios.</p>
<p>No sé si iba el proyecto por buen camino o no, pero el loading state (es decir, cuando cargas el mapa... antes de aparecer), más o menos, estaba completo. Sólo un jugador en ese momento, pero, se podía. Incluso habia forma para moverte por el mapa, actualizando la niebla...</p>
<p>Sí, era algo verde el tema, pero era mejor que nada...</p>
<p>¿Por qué escribo esto? Creo q voy a retomarlo. Se abandonó hace 5 meses, por falta de tiempo de algunos, y ganas de otros... uno a uno nos fuimos descuidando, sin poder hacer nada (verano en ibiza... malo malo...), y al final, sin que nadie dijese nada, se abandonó.</p>
<p>¿Y ahora que? Nada. He estado mirando cómo está el LoL ahora... y la verdad, es que ha cambiado bastante. Parece que han mejorado el tema de paquetes (ya era hora!), han cambiado casi todos... pero bueno. Poco a poco intentaré ir actualizando las definiciones, para conseguir cargar el juego.. lo cual, ya sería un buen avance.</p>
<p>De  momento, para el que le interese, le puedo comentar lo siguiente:</p>
<ul>
<li>El LoL usa <a title="enet" href="http://enet.bespin.org/" target="_blank">ENet</a> para los paquetes (asiq, si os montáis un listener rápido, si no añadís enet, no servirá de nada)</li>
<li>Para capturar los paquetes, existe una herramienta de IntLine9 que va muy bien: <a title="IntPe9" href="https://github.com/Intline9/IntPe9" target="_blank">IntPe9</a> (y ahora también con un core de propósito general!)</li>
<li>Antes usábamos el canal #HeroWars de freenode.irc...</li>
</ul>
<p>Y nada, ya iré haciendo algun post con avances (si hay..), si no lo vuelvo a dejar, claro...</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2012/12/league-of-legends-herowars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finisher!</title>
		<link>http://blog.eleazan.net/2012/05/finisher/</link>
		<comments>http://blog.eleazan.net/2012/05/finisher/#comments</comments>
		<pubDate>Mon, 14 May 2012 19:54:22 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[Running]]></category>
		<category><![CDATA[carrera]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[running]]></category>

		<guid isPermaLink="false">http://blog.eleazan.net/?p=103</guid>
		<description><![CDATA[Increible. No me lo esperaba, después de un largo período de no poder correr por una tendinitis, después un esguince, y tener que ir poco a poco... y que apenas conseguía pasar los 4km... ¡he terminado una Media Maratón! En concreto, la IV Media Maratón de Formentera. La verdad, ha sido mi segunda carrera popular [...]]]></description>
				<content:encoded><![CDATA[<p>Increible. No me lo esperaba, después de un largo período de no poder correr por una tendinitis, después un esguince, y tener que ir poco a poco... y que apenas conseguía pasar los 4km... ¡he terminado una Media Maratón! En concreto, la IV Media Maratón de Formentera.</p>
<p>La verdad, ha sido mi segunda carrera popular (La primera fue una de 7.5km), y no iba para nada preparado. Me apunté una semana antes de la carrera, y habiendo hecho sólo un entreno "larguillo". Ese mismo lunes, hice 13km con Sónia, que, me animó bastante para la prueba. Al día siguiente sin problemas de rodilla (cosa importante), y el miércoles otro entreno de 10km con Sónia, Cristian, Rocío y Pedro (pff, como tira este último!), en el que pinché sobre el km 8, pero terminé completando los 10km's a trote! (¡gracias a Cristian que se quedó conmigo!). Y estos fueron todos mis entrenos para la media maratón. Para nada suficiente, pero me veía capaz de hacer 21km.</p>
<p>Pero llegó el sábado, llegaron los nervios, los miedos. No fuí capaz de comer casi, no merendé, no cené (me tomé un batido de chocolate solo!), y, para más inri, hasta las 02 de la mañana por Eivissa Medieval (un buen paseito, con buenas cuestecitas!). Todo ideal para el día pre-media. Menudo soy! Y con la barriga suelta, por supuesto!</p>
<p>Y el domingo. A las 06 de la mañana en pie, con mucho sueño, a prepararme (no, no tenia la mochila preparada!), q, aparte de la media maratón, quería pasar el día en formentera. A las 6.30 camino al puerto, habiendo desayunado un tazón de leche con nesquik, y un (sí, UNO) sobao pasiego. That's all!</p>
<p>Llego al puerto, y estaban allí mis compañeros de <a title="IbizaRunners" href="http://ibizarunners.es" target="_blank">IbizaRunners</a>, que la mayoría no sabia q iba a correr la media maratón (unos pensaban q iria para hacer fotos, otros para la de 8km...), y les digo q voy a hacer la media... Tó loco to loco! Y nada, el paseito en barco tranquilo (el mar se portó bien!), los "expertos" los veíais concentrados (excepto Jesús, q estaba durmiendo!), supongo q visualizando la carrera, o cosas que suelan hacer! Después subimos al autobús, que nos lleva hasta el faro de la Mola, lugar de la salida de la media.</p>
<p>Y aquí, primera decepción con la organización. Voy a retirar mi dorsal, y me dicen que no había camisetas de mi talla, que la reclame al llegar a meta. Bueno, vale, tiene un pase, me apunté bastante tarde... pero aún así, creo q la talla L es más o menos normal.</p>
<p>Y nos quedamos por allí, saludando gente conocida, dando vueltas, meando, calentando (yo pasé de hacer trote, estiré un poquito y arreando!), algunos haciendo cola para el baño (eramos casi 1000 corredores, y había 4 baños... sin comentarios!). El ambiente era muy amigable, bastante chulo! Sónia me da medio plátano (qué haría yo sin ti? ). A 10 minutos de empezar la carrera, la gente va pillando posiciones, me quedo por "el final" (el final de la recta, almenos), pq no iba por tiempo yo, sino q mi objetivo era terminarla!). Y nada, la gente se va animando, sonrisas por aqui y por allí, algunos bailando (qué energías!), y, ¡empieza la salida!.</p>
<p>Imaginad. Mi primera media maratón empieza... ¡Y la empiezo andando! No podíamos avanzar sin comernos a la persona de delante, y poco a poco se va acelerando un pelín, hasta que podemos decir que ya vamos corriendo! (Entre el primero que paso por la salida, y yo, hay 1 minuto de diferencia casi!). Como no tengo un ritmo muy fuerte, es una carrera larga, y no me he alimentado bien para ella... me quedo con Clara y Eva (aunq Eva podría haber tirado cuando quisiese... es una máquina!). La pobre Clara, lo pasó mal al principio... con tanto miedo de su rodilla (el día anterior no podía correr ni 2km! Eso sí que es ser testaruda!). Y desde nuestra privilegiada posicion de casi-final, podemos ver una estampa preciosa.</p>
<p>Imaginad, 1000 corredores, la carretera del faro de la Mola (recta completamente). Todo lo que veíamos de carretera eran corredores (y, como no les gusta llevar colores llamativos a los "runners"...). Lástima no haber tenido una cámara!</p>
<p><a href="http://blog.eleazan.net/wp-content/uploads/2012/05/formentera1.jpg"><img class="aligncenter size-medium wp-image-104" title="Salida Media Maraton" src="http://blog.eleazan.net/wp-content/uploads/2012/05/formentera1-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Proseguimos con la carrera. Los primeros 3/4 km a ritmo normalito, tranquilamente, charlando, riendo, haciendo bromas. Mucho cachondeo (estos corredores están locos!), supongo que pq todos vamos frescos aún. Pero, empezamos a notar el sol, ¡qué calor! Ni una nube, ni una sombra. Queremos agua (algo comprensible). Y esperamos con una sonrisa el primer avituallamiento (km 5, restaurante el Mirador, vistas preciosas, sólo liquido). Y cuando llegamos (q en la bajada, Clara se encontraba mejor de lo que pensaba, y aceleramos un pelín), nos encontramos con un avituallamiento con vistas preciosas... pero sin agua. Sin isotónico. Los pobres voluntarios, impotentes, nos decían "no hay!", cuando pedíamos agua, o un entrecot (¿Qué pasa? Q Clara tenía hambre!). Y nada, un pelín menos contentos, seguimos bajando, y vamos adelantando corredores... Vamos de cachondeo con la gente, con el coche de IB3 (pobres! Creo q les pedí 5 o 6 veces una cerveza fresquita... ¡lástima q no coló!).</p>
<p>Y aquí, otro gran momento de la carrera. Aún queda gente buena en este mundo, hay esperanza. Pasábamos por un supermercado (Supermercado Pastelería Mama Pan), y no sé si Eva, Clara, o yo, que estábamos todo el rato igual, le pedimos agua (o cerveza! Si fui yo...), y la chica.... ¡nos dijo que sí! Entró al super, y salió con 4 botellitas de agua, que repartimos y compartimos entre los runners que teníamos cerca. ¡Qué bien sentó el agua!</p>
<p>Seguimos bajando, más con buen ritmo, ofreciendo agua (en caso de que nos quedase), y pasamos por algún pueblecito. Bastante gente animando, se agradece muchísimo! Yo iba haciendo bromas (para no pensar en el cansancio, supongo!). Pero, se agradecian unos aplausos, o unas risas de vez en cuando. Seguía haciendo mucho sol (antes, durante, y después de la carrera!), y quemaba bastante. Me dí cuenta de otro fallo que había tenido: No ponerme crema. Me habían avisado, pero, como soy un macho... pues eso. Sobre el km9 me empiezo a encontrar bastante mal, y creo que en el km 10 nos encontramos a Jesús (si no me fallan las cuentas!), que viendo que no podría terminar en el tiempo que quería, se había quedado para acompañar a Clara hasta la meta (¡q grande!). En este momento, yo me encontraba mal, no sabía si podría terminarla... seguí sumando kilometos (1 o 2) antes de decirles que tenía frio... Sí. Repito. Frío. Con un sol infernal, habiendo corrido 12kms, creía q no podía más. Jesús me dice q simplemente estoy destemplado, y sigo corriendo. Clara se tiene que parar por la rodilla (Jesús se queda con ella) y yo sigo con Eva... pero, no duro ni 5 minutos, y tengo q parar. Voy andando un pelin, corro, ando. Tengo miedo (sigo con frio) y me encuentro bastante mal. Llega Clara por detrás, gritando, diciendome que corra! Lo intento, con ganas, pero, me cuesta horrores. Pasamos por Sant Ferran, y les digo que continúen. Yo voy andando unos 100 o 150 metros, y decido seguir corriendo. Consigo hacer un kilometro más, sin que Jesús y Clara estén muy lejos, pero, vuelvo a parar. Algo mareadillo, ando a paso ligero, para no perder mucho, y viene por detrás Juan Antonio, asiq, un último esfuerzo, empiezo a rodar con él. Tenía cara de sufrimiento... pero, supongo, q a esas alturas (16km), todos tendríamos la misma cara.</p>
<p>No puedo más que aguantarle un ratito, y me dan calambres en el gemelo derecho. Qué impotencia. Recuerdo que llevo un gel en el bolsillo, y, en un atrevimiento, pienso que con eso quizás desaparezcan los calambres, ya que cada vez que quiero correr empiezan otra vez! Abro el bolsillo, y, ¡sorpresa!. No está mi gel. Qué mundo más cruel.</p>
<p>Voy andando, corriendo, andando. A intervalos de 200 metros, 100, 50... cada vez me avisa antes el gemelo. Voy conociendo corredores que tampoco pueden más. Una mujer, que decía q había corrido un maratón sin parar, y que este calor le había obligado a parar en la media... Un chaval, Ignacio, que venía de bcn... había llegado el viernes a Ibiza, paseado por el medieval.. y el sábado para Formentera... En fin, muchas historias, muchos nombres, muchas caras cansadas... pero entre todos dándonos ánimos. Intentando que el otro pillase unas pocas fuerzas, y yo pidiendo reflex a protección civil, organización, voluntarios.. nadie tenía.</p>
<p>Así pues, hice los últimos km con amenazas de calambres mientras andaba a paso ligerito (ambos gemelos ya). Maldiciendo mi estupidez del día anterior, de no haber cenado algo... pq me encontraba con fuerzas para correr ya. EL último km, la gente me decía "Ánimo! Ya estás llegando! Un último esfuerzo!", pero, no me veía capaz de correr con dolor en los gemelos, asiq, esperé. Esperé. Y Esperé. Mientras me centraba en pensar "los últimos metros, sí o sí". Asi, mientras llegaba al final, los últimos 100 metros, un par de metros antes de la última curva para encarar la meta, empiezo a corre.</p>
<p>Qué horror. Tengo que ir apollando los talones, como si fuese haciendo marcha... para que los gemelos no doliesen tanto. Un calvario. Pero lo hice. Y qué animos daban! Muchísima gente en la recta, que me hicieron un pasillito y todo para que llegase (y eso que era de los últimos!). Yo creo que llegué por ellos, más que por mi! Imaginaos... me recuerda a la imagen de un ciclista, en solitario, cuando está escalando un puerto, y antes del "checkpoint" hay un montón de gente y apenas puede pasar... pues lo mismo. Pero siendo el último casi (2h 34m oficial, 2h 33m real).</p>
<p>Y nada más llegar, me dan la medallita... y no sé donde estoy. Busco gente conocida, pero no veo a nadie. Al final, veo a Pedro y Abraham, y poco a poco me empiezan a sonar rostros. Uno de los que sufrian conmigo, me da la mano amistosamente. Ignacio, sentado en una silla, le digo "Te debo una cerveza!", que al final no nos la tomamos. ambién veo a Josep (6º en la general, q bestia!), y le saludo. Después, me dirijo a la ambulancia, y cual pobre vagabundo que lleva 6 días sin comer, les pido un poco de reflex. ¡Gloria bendita! Qué alivio.</p>
<p>Busco a mis compañeros, y les saludo. Menos mal que Jesús se percata que aún llevo el chip (xD), y voy a devolverlo. También pido mi camiseta, que sólo quedaban tallas XXL, y me tengo que aguantar.. lástima, la camiseta era bien chula!</p>
<p>Me despido de los corredores, pillo un croissant de chocolate (Marca hacendado xD), y me voy hacia el alquiler de bicis. Y nada, unos cuantos km's hasta Cala Saona, a ver la salida de F1 con una cervecita, y un bañito en la playa. Ese trayecto en bici fácil, la vuelta la sufrí más, ya tenía agujetas (!).</p>
<p>Y sobre las 4, vuelta a la sabina, para pillar el barco de las 6. Buen día en formentera!</p>
<p><a href="http://blog.eleazan.net/wp-content/uploads/2012/05/formentera2.jpg"><img class="aligncenter size-medium wp-image-105" title="Participantes de IbizaRunners" src="http://blog.eleazan.net/wp-content/uploads/2012/05/formentera2-300x168.jpg" alt="" width="300" height="168" /></a></p>
<p>A mejorar en la próxima media:</p>
<p><strong>Alimentación</strong>: Básico. No vuelvo a hacer esto sin cenar bien!</p>
<p><strong>Hidratación</strong>: lo mismo fué por el calor, pero creo q me faltó beber agua</p>
<p><strong>Protección solar</strong>: Tanto crema como gorra, (incluso gafas!). Tengo q empezar a correr con eso</p>
<p><strong>Indumentaria</strong>: Un pantalón / malla, que no me haga roce!</p>
<p><strong>Accesorios</strong>: Móvil fuera, buscar un mp3, q el móvil solo fastidiaba</p>
<p><strong>Tiempo</strong>: Está claro xD</p>
<p>Y, por supuesto, agradecimientos a IbizaRunners, por haberme animado durante mi lesión, y con los entrenos... y en especial a Sonia, q me animó para la media! (Antes y después!). Tb a Rocío, que, sin conocerme, se preocupaba por mi rodilla. A <a title="Phydes, fisioterápia y osteopatía" href="http://phydes.com/" target="_blank">Phydes</a>, donde trabaja mi fisio (Esmeralda), que tengo q recomendar sus manos, increíble cómo te dejan! A todos los corredores que me iban dando una palabra de aliento, perdiendo un poco del suyo (sobretodo Clara y Eva, las pobres, todo el rato diciéndome q aguantase un poco más!). Y al público, q animaba muchísimo!</p>
<p>Y, por supuesto, tb muchísimas gracias a <a href="http://twitter.com/Bronte__" target="_blank">Carla</a>, por darme el último empujoncito!</p>
<p>PD: Cené mucho el domingo. Muchísimo.</p>
<p>PD2: Foto nº1 robada a <a title="Esgarrapats Ibiza" href="http://www.esgarrapatsibiza.com/" target="_blank">esgarrapats</a>. Foto nº2 de Rocío! <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2012/05/finisher/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>8 reinas en PHP</title>
		<link>http://blog.eleazan.net/2011/12/8-reinas-en-php/</link>
		<comments>http://blog.eleazan.net/2011/12/8-reinas-en-php/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 18:03:07 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.eleazan.net/?p=95</guid>
		<description><![CDATA[Ya sé.. hace tiempo (mucho) que no actualizo el blog. Pero hoy me ha dado por hacerlo Resulta, que hoy, me han propuesto por ahí, hacer el algoritmo de las 8 reinas en php. Y me ha picado el gusanillo, y lo he hecho. En realidad, dudo q sea difícil encontrar el algoritmo por ahí, pero, ¡prometo [...]]]></description>
				<content:encoded><![CDATA[<p>Ya sé.. hace tiempo (mucho) que no actualizo el blog. Pero hoy me ha dado por hacerlo <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Resulta, que hoy, me han propuesto por ahí, hacer el algoritmo de las 8 reinas en php. Y me ha picado el gusanillo, y lo he hecho. En realidad, dudo q sea difícil encontrar el algoritmo por ahí, pero, ¡prometo que no lo he buscado!</p>
<p>Primero, ante todo.. ¿en que consiste eso de <em>8 reinas</em>? Bueno, es un simple problema, en el que te plantea, en un tablero de ajedrez (8x8), colocar 8 reinas sin que se <em>amenacen </em>entre ellas. Básicamente, una reina amenaza en 4 direcciones</p>
<p>·</p>
<p style="text-align: center;"><img class="aligncenter" title="Movimiento de la reina" src="http://matematicas.lunadelasierra.org/mujeres/wp-content/uploads/2008/04/damas.png" alt="" width="224" height="225" /></p>
<p>· La fila</p>
<p>· La columna</p>
<p>· La diagonal descendente</p>
<p>· La diagonal ascendente</p>
<p>Teniendo en cuenta esto,  el planteamiento seria el siguiente:</p>
<p>El tablero constará de 8 columnas (del 0 al 7) y 8 filas (del 0 al 7). Debido a que no pueden coincidir dos reinas en la misma columna, nos proporciona una ventaja para plantearlo. Podemos crear un vector (array) $solucion, en el que las claves (del 0 al 7) sean las columnas, y así podemos guardar la fila en el valor de la columna, generando un sistema de coordenadas sencillo. Es decir, si tengo que solucion es (6,4,2,0,5,7,1,3) (que es una de las 92 posibles soluciones) significará que en la columna 0, fila 6, tendré una reina, en 1,4 otra... etc.</p>
<p>Una vez aclarado esto, sólo recalcar que, lo que me ha costado ha sido, encontrar la forma de comprobar la diagonal. Al final, me he dado cuenta de que las diagonales descendentes, si haces columna - fila, siempre te va a dar el mismo resultado (único para cada diagonal) y en las ascendentes, columna + fila. Así pues, usaremos dos vectores más (diagonal_descendente y diagonal_ascendente) y en ellos, guardaremos, el la columna correspondiente, el valor de la diagonal que ocupan.</p>
<p>Ahora, para plantear la función, tendremos en cuenta que necesitaremos saber en que posición nos encontramos, para poder dar por finalizada esa rama (puesto que seguiremos buscando soluciones!), y llevar un pequeño control. Básicamente, pasaremos 4 parámetros: La columna/posicion, el vector de solucion, vector de diagonal descendente, y vector de diagonal ascendente. Primero comprobaremos que no hemos llenado el vector de solucion (en caso de q lo hayamos llenado, ya tenemos una solucion!). Si no está lleno, comprobamos que no la amenaze ninguna reina (es decir, no existe, dentro de solucion, ningun valor igual que el suyo, ni dentro de diagonal_descendente ningun valor de su diagonal descendente, ni dentro de diagonal ascendente ningun valor de su diagonal ascendente). En caso de que no exista en ningun vector previo, estaremos ante una posicion potencialmente válida, asiq, la guardamos en el vector, y procedemos a llamar a la funcion para columna+1. Vamos, <a href="http://es.wikipedia.org/wiki/Backtracking" target="_blank">backtracking</a>.</p>
<p>Ale, sin enrollarme más, paso a escribir el código:</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

function ocho_reinas($pos, $solucion, $diag_descendente, $diag_ascendente) {

 if($pos &gt; 7) //Se han encontrado 8 elementos, es válido!
 echo print_solucion($solucion);

 else {
     //Aun no estamos en la última posicion, buscamos una válida!
     for ($i = 0; $i &lt; 8; $i++) { //Recorremos las filas
         if(!in_array($i, $solucion) AND !in_array(($pos-$i), $diag_descendente) AND !in_array(($pos+$i), $diag_ascendente)) {
             //Esta casilla no está amenazada!
             $diag_ascendente[$pos] = $pos+$i; //Guardamos el valor de la diagonal ascendente
             $diag_descendente[$pos] = $pos-$i; //Guardamos el valor de la diagonal descendente
             $solucion[$pos] = $i;
             ocho_reinas($pos+1, $solucion, $diag_descendente, $diag_ascendente);
        }

     }
  }

}

function print_solucion($solucion) {

 $ns = array_flip($solucion);
 ksort($ns);

 echo '&lt;table border=1&gt;';
 foreach ($ns as $fila =&gt; $columna) {
     echo '&lt;tr&gt;';

     for ($i=0; $i&lt;8; $i++) {
         echo '&lt;td width=&quot;15px&quot; height=&quot;15px&quot;&gt;';
         if($i == $columna) echo '*';
         echo '&lt;/td&gt;';
     }
     echo '&lt;/tr&gt;';
 }
 echo '&lt;/table&gt;&lt;br&gt;';

}

</pre>
<p>Esa sería la función principal (junto con la de imprimir un tablero en html!), y para llamarla se haría algo así:</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

$pos = 0; //Posicion inicial: 0;
$solucion = Array();
$diag_descendente = Array();
$diag_ascendente = Array();

ocho_reinas($pos, $solucion, $diag_descendente, $diag_ascendente);

?&gt;

</pre>
<p>Y como resultado, tendríais algo así:</p>
<table border="1" style="background-color: gray">
<tbody>
<tr>
<td width="15px" height="15px">*</td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
</tr>
<tr>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px">*</td>
<td width="15px" height="15px"></td>
</tr>
<tr>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px">*</td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
</tr>
<tr>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px">*</td>
</tr>
<tr>
<td width="15px" height="15px"></td>
<td width="15px" height="15px">*</td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
</tr>
<tr>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px">*</td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
</tr>
<tr>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px">*</td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
</tr>
<tr>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px">*</td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
<td width="15px" height="15px"></td>
</tr>
</tbody>
</table>
<p>Y eso es todo <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2011/12/8-reinas-en-php/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Teclado y ratón en PS3</title>
		<link>http://blog.eleazan.net/2011/06/teclado-y-raton-en-ps3/</link>
		<comments>http://blog.eleazan.net/2011/06/teclado-y-raton-en-ps3/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 15:05:09 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[curiosidades]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[ratón]]></category>
		<category><![CDATA[teclado]]></category>

		<guid isPermaLink="false">http://blog.eleazan.net/?p=83</guid>
		<description><![CDATA[Hace poco, decia por twitter, que no jugaria a un FPS con un mando (PS3), porque me parece algo incómodo. Sí, supongo que con el tiempo te acostumbras... pero yo estoy acostumbrado a jugar con teclado y ratón. Así pues, como tenía ganas de jugar al Call Of Duty: Black Ops, busqué la forma de [...]]]></description>
				<content:encoded><![CDATA[<p>Hace poco, decia por <a href="http://twitter.com/eleazan" target="_blank">twitter</a>, que no jugaria a un FPS con un mando (PS3), porque me parece algo incómodo. Sí, supongo que con el tiempo te acostumbras... pero yo estoy acostumbrado a jugar con teclado y ratón. Así pues, como tenía ganas de jugar al Call Of Duty: Black Ops, busqué la forma de jugar con teclado y ratón y... ¡tachán! ¡Se puede!</p>
<p>El tutorial (en inglés) lo podéis encontrar <a href="http://diy-machine.blogspot.com/2011/01/new-english-tutorial.html" target="_blank">aqui</a>, que van actualizándolo según las novedades. Aunq no tiene mucho misterio, básicamentte necesitas:</p>
<ul>
<li>Mando ps3</li>
<li>PC con bluetooth (aunq no todos son compatibles...  el mio (Sony Vaio) funcionó a la perfección!)</li>
<li><a href="http://www.ubuntu.com/download/ubuntu/download" target="_blank">Ubuntu</a> (yo usé 11.04)</li>
<li>Paciencia</li>
</ul>
<p>No tenía ubuntu instalado, asiq me bajé la versión live, la instalé en un pen de 4gb (para que me guardara los cambios, etc!). Después, añadimos los repositorios universe, bajamos la aplicación (en la web en inglés lo encontrarás para descarga), instalar, enchufar el mando ps3 por usb al pc, ejecutar, desechufar mando, darle a "Set Dongle Address" (lo cual, cambia la MAC de tu bt por la del mando, para hacerse pasar por él), configurar el teclado y ratón (las configuraciones que vienen por defecto.... seguramente tendrás que abrirlas con sixemuconf, y reemplazar el ID del teclado y del ratón!), y por último, darle a Start.</p>
<p>Y así de sencillo (aunq tendréis q leer el tutorial en inglés, vagos!) podremos usar nuestro teclado y ratón en la ps3! En mi caso, en el CoD <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Otro día traduzco el tutorial al castellano (si no me da pereza) y pongo alguna que otra imágen <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>PD: Y subiré la configuración q uso del CoD <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2011/06/teclado-y-raton-en-ps3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[GreaseMonkey] Editar estilos de una página</title>
		<link>http://blog.eleazan.net/2011/02/greasemonkey-editar-estilos-de-una-pagina/</link>
		<comments>http://blog.eleazan.net/2011/02/greasemonkey-editar-estilos-de-una-pagina/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 21:41:27 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[estilos]]></category>
		<category><![CDATA[greasemonkey]]></category>

		<guid isPermaLink="false">http://blog.eleazan.net/?p=78</guid>
		<description><![CDATA[Últimamente, me paso mucho por un foro ( spinningmania ) y, como podréis comprobar si entráis, tiene un pequeño defecto... ¡está todo centrado! Puede parecer algo sin importancia, pero la verdad es que cuando llevas un rato, es bastante molesto, asi pues, decidí intentar arreglarlo, y dejarlo normal, con GreaseMonkey. Primero, si alguien no lo [...]]]></description>
				<content:encoded><![CDATA[<p>Últimamente, me paso mucho por un foro ( <a href="http://spiningmania.forointernet.es/board/index.html" target="_blank">spinningmania</a> ) y, como podréis comprobar si entráis, tiene un pequeño defecto... ¡está todo centrado!</p>
<p>Puede parecer algo sin importancia, pero la verdad es que cuando llevas un rato, es bastante molesto, asi pues, decidí intentar arreglarlo, y dejarlo normal, con <a href="https://addons.mozilla.org/es-ES/firefox/addon/greasemonkey/" target="_blank">GreaseMonkey</a>.</p>
<p>Primero, si alguien no lo tiene instalado, lo recomiendo (es una extensión/complemento que está tanto para Firefox como para Chrome). Lo que sí debéis hacer al instalar, es decirle que editor de texto queréis usar (si no lo hacéis, luego no podréis editar los scripts).</p>
<p>Una vez instalado, saldrá el <em>monkey</em> abajo/derecha (en firefox, almenos). Creáis un nuevo script, y esta es la información que deberia tener:</p>
<pre class="brush: jscript; title: ; notranslate">

// ==UserScript==
// @name          descentra
// @namespace      eleazan
// @include        http://spiningmania.forointernet.es/board/*
// @description    Alinear el texto a la izquierda
// ==/UserScript==

var head, style;
 head = document.getElementsByTagName('head')[0];
 if (!head) { return; }

style = document.createElement('style');
 style.type = 'text/css';
 style.innerHTML = 'center {text-align: left !important; }';
 head.appendChild(style);

</pre>
<p>Como podéis ver, con esto podríais sobreescribir cualquier estilo de una página (gracias al !important del css). En mi caso solo queria anular la etiqueta</p>
<pre class="brush: xml; title: ; notranslate">&lt;center&gt;&lt;/center&gt;</pre>
<p>que probablemente pondrían para poner los banners, y en vez de cerrar ahí, cerraron al final del todo.</p>
<p>Para cualquier uso que queráis darle, sólo modificad libremente el código.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2011/02/greasemonkey-editar-estilos-de-una-pagina/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Iniciarse en Git</title>
		<link>http://blog.eleazan.net/2011/02/iniciarse-en-git/</link>
		<comments>http://blog.eleazan.net/2011/02/iniciarse-en-git/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 12:17:29 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://blog.eleazan.net/?p=70</guid>
		<description><![CDATA[Hoy, he decidido iniciarme en Git (más que nada, porque tengo mucho código en el trabajo, y me hacia ya falta un control de versiones), asique explicaré un poco cómo ha sido el contacto inicial. Primero, y antes que nada, explicar que Git es un pequeño "sistema" para tener tu código / trabajo bien ordenado, [...]]]></description>
				<content:encoded><![CDATA[<p>Hoy, he decidido iniciarme en Git (más que nada, porque tengo mucho código en el trabajo, y me hacia ya falta un control de versiones), asique explicaré un poco cómo ha sido el contacto inicial.</p>
<p>Primero, y antes que nada, explicar que Git es un pequeño "sistema" para tener tu código / trabajo bien ordenado, saber cuando y qué cambios hiciste, e incluso permite colaborar entre varios. El sistema que utiliza, me gusta bastante. Primero, tenemos el entorno de trabajo, que es nuestro directorio donde tenemos el trabajo. Después, existe el "staging area" (¿area de preparación?) que simplemente, son los cambios que hemos realizado. Y después está el repositorio, que allí tendremos todo el trabajo (con las versiones, y comprimido) que hemos confirmado (commit). Y por último está el servidor remoto (si quieres) dónde puedes almacenar una copia de tu trabajo (ya sea privado o público, según tu configuración del servidor).</p>
<p>Una vez hecha esta pequeña (y probablemente, incorrecta) introducción, sólo confesar que trabajo en windows (sí, estoy loco). Así pues, me toca instalar el <a href="http://code.google.com/p/msysgit/" target="_blank">msysGit</a> que proporciona un Bash Git bastante cómodo (y todo lo q necesitamos, incluido ssh). No voy a explicar cómo se instala (sí, ya sabéis, leeros el acuerdo de licencia, etc etc).</p>
<p>Una vez instalado, abrimos el Bash Git y procedemos a configurar un par de cosillas <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: plain; title: ; notranslate">

git config --global user.name &quot;Andres&quot;

git config --global user.email myemail@host.com

</pre>
<p>Con estas dos opciones, configuramos el nombre y correo del usuario a nivel global. después, navegaremos por la estructura de directorios hasta llegar al de nuestro proyecto existente, y escribimos:</p>
<pre class="brush: plain; title: ; notranslate">

git init

</pre>
<p>Esto creará un repositorio git en el directorio, y nos permitirá trabajar con él. Ahora, además, debemos añadir los archivos que queremos que se incluyan. Por ejemplo, pongamos que queremos todos los archivos que sean .c, ponemos:</p>
<pre class="brush: plain; title: ; notranslate">

git add *.c

</pre>
<p>Esto añadirá al repositorio todos los archivos .c que tengamos en el directorio. En mi caso, tenia que añadir todo (subcarpetas incluidas) y escribí esto:</p>
<pre class="brush: plain; title: ; notranslate">

git add .

</pre>
<p>Y añadió todo al repositorio.  Ahora, si hacemos un:</p>
<pre class="brush: plain; title: ; notranslate"> git status </pre>
<p>Nos informará de que tenemos 'commits' pendientes de hacer. ¿Qué quiere decir esto? Como bien indica, son "new file" que aún no hemos añadido al repositorio final. ¿Entonces, para que sirve el git add? El git add indica al git que esos archivos SÍ quieres que estén dentro del repositorio, pero no los sube (aunq guarda una versión cache de ellos). ¿Cómo hacemos el commit? Pues, para hacer el commit, hacemos lo siguiente</p>
<pre class="brush: plain; title: ; notranslate">git commit -m &quot;Commit inicial&quot;</pre>
<p>Ahora, si hacemos el git status nos dirá que no hay nada nuevo. Vale, ya está en el repositorio git... ahora vamos a clonarlo al servidor remoto*...</p>
<p>Simplemente, tenemos que hacer lo siguiente:</p>
<pre class="brush: plain; title: ; notranslate">git push ssh://usuario@servidor.com/ruta/del/repo/aquiesta  master</pre>
<p>Vaya... ¿siempre tengo que poner la dirección? No, por suerte, git puede guardar la ruta como si fuera una constante, de la siguiente forma</p>
<pre class="brush: plain; title: ; notranslate">git remote add elnombrequequierodarle ssh://usuario@servidor.com/ruta/del/repo/aquiesta</pre>
<p>Así, para hacer un push sólo tendriamos que hacer lo siguiente:</p>
<pre class="brush: bash; title: ; notranslate">git push elnombrequequierodarle master</pre>
<p>Si alguna vez no nos acordamos de los remotes que hemos añadido, podemos verlos con <em>git remote -v</em> y borrar alguno de ellos con <em>git remote rm</em></p>
<p>Ahora, ya tenemos nuestra copia en el servidor (en mi caso, ~2000 archivos, tardó un ratito con la conexión lenta &gt;.&lt;). Si modificamos algun archivo, podemos hacer un <em>git status</em> para comprobarlo... y nos dirá que se ha modificado un archivo pero no se ha actualizado. Para actualizarlo, basta con un git add &lt;nombre&gt; y luego hacer un commit (o un commit con la opción -a que añadirá todos los que han sido modificados!)</p>
<p>Si me da el venazo, otro día escribo sobre como borrar archivos, hacer diffs, recuperar versiones antiguas, etc....</p>
<p>Documento utilizado: <a href="http://progit.org/book/es/" target="_blank">ProGit</a></p>
<p>*Nota: Para hacer un push (escribir) en el servidor, necesitas un usuario (luego te pedirá contraseña) con acceso de escritura.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2011/02/iniciarse-en-git/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Symfony 2: Crear un &#8216;bundle&#8217; en PR5</title>
		<link>http://blog.eleazan.net/2011/02/symfony-2-crear-un-bundle-en-pr5/</link>
		<comments>http://blog.eleazan.net/2011/02/symfony-2-crear-un-bundle-en-pr5/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 08:24:26 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://blog.eleazan.net/?p=66</guid>
		<description><![CDATA[Navegando por los grupos de google, encontré un apunte interesante en el grupo de symfony-es sobre cómo crear un bundle de César hernandez. Adjunto la presentación Sf2 pr5 mi primer proyecto View more presentations from cesarh. Es un buen comienzo para introducirse en symfony, aunq os recomendaria a esperar a primeros de marzo, que, coincidiendo [...]]]></description>
				<content:encoded><![CDATA[<p>Navegando por los grupos de google, encontré un apunte interesante en el grupo de <a href="http://groups.google.com/group/symfony-es" target="_blank">symfony-es</a> sobre <a href="http://groups.google.com/group/symfony-es/browse_thread/thread/49b23389ed5847d5" target="_blank">cómo crear un bundle</a> de César hernandez. Adjunto la presentación <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div style="width:425px" id="__ss_6814311"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/dpcesar/sf2-pr5-mi-primer-proyecto" title="Sf2 pr5 mi primer proyecto">Sf2 pr5 mi primer proyecto</a></strong><object id="__sse6814311" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sf2pr5miprimerproyecto-110204121446-phpapp01&#038;stripped_title=sf2-pr5-mi-primer-proyecto&#038;userName=dpcesar" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse6814311" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sf2pr5miprimerproyecto-110204121446-phpapp01&#038;stripped_title=sf2-pr5-mi-primer-proyecto&#038;userName=dpcesar" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/dpcesar">cesarh</a>.</div>
</div>
<p>Es un buen comienzo para introducirse en symfony, aunq os recomendaria a esperar a primeros de marzo, que, coincidiendo con la Symfony Live en Paris, saldrá la RC de Sf2.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2011/02/symfony-2-crear-un-bundle-en-pr5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generar un archivo de Excel desde PHP</title>
		<link>http://blog.eleazan.net/2010/08/generar-un-archivo-de-excel-desde-php/</link>
		<comments>http://blog.eleazan.net/2010/08/generar-un-archivo-de-excel-desde-php/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 09:59:16 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://eleazan.wordpress.com/?p=51</guid>
		<description><![CDATA[Bueno, a raíz de un post de r0s sobre cómo generar un archivo de excel desde PHP, le dejé un comentario explicándole, de forma demasiado breve, cómo hacerlo sin usar una librería externa. Así pues, se ha puesto en contacto conmigo, y me ha pedido que me explaye sobre el tema. Así pues, allá voy: [...]]]></description>
				<content:encoded><![CDATA[<p>Bueno, a raíz de un post de r0s sobre cómo <a href="http://awesomebytes.com/2010/08/25/generando-archivos-excel-desde-php/" target="_blank">generar un archivo de excel desde PHP</a>, le dejé un comentario explicándole, de forma demasiado breve, cómo hacerlo sin usar una librería externa. Así pues, se ha puesto en contacto conmigo, y me ha pedido que me explaye sobre el tema. Así pues, allá voy:</p>
<p>Lo primero es, ¿qué queremos que nos muestre Excel?. Por ejemplo, algo sencillo (tampoco se pueden hacer maravillas!), una tabla con nombre, apellido y teléfono.</p>
<p>Veamos el código:</p>
<pre class="brush: plain; title: ; notranslate">

&lt;?php

//Estas líneas te generarán un archivo descargable, con la extensión xls

header(&quot;Content-type: application/vnd.ms-excel&quot;);
header(&quot;Content-Disposition: filename=\&quot;nombre.XLS\&quot;;&quot;);

//Las siguientes líneas es la tabla de excel

&gt;

&lt;table&gt;
&lt;tr&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;nbsp&lt;/td&gt;&lt;td&gt;&lt;b&gt;Nombre&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Apellido&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Teléfono&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;nbsp&lt;/td&gt;&lt;td&gt;Eleazan&lt;/td&gt;&lt;td&gt;Zorander&lt;/td&gt;&lt;td&gt;971112233&lt;/td&gt;;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;r0s&lt;/td&gt;&lt;td&gt;Bytes&lt;/td&gt;&lt;td&gt;971332211&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</pre>
<p>Como véis, no tiene ningún misterio, es una simple tabla html y en excel te sale clavada <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Este es el resultado:</p>
<p><img class="aligncenter" title="Resultado OO.org" src="http://img651.imageshack.us/img651/4318/resultadoy.png" alt="" width="772" height="352" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2010/08/generar-un-archivo-de-excel-desde-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Una de cal y una de arena</title>
		<link>http://blog.eleazan.net/2010/08/una-de-cal-y-una-de-arena/</link>
		<comments>http://blog.eleazan.net/2010/08/una-de-cal-y-una-de-arena/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 15:27:06 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://eleazan.wordpress.com/?p=43</guid>
		<description><![CDATA[Todos sabéis moveros en internet. Todos habéis tenido que buscar alguna cosa en su basta red... y espero que todos comprobéis los resultados (no todos los contenidos en internet son ciertos). Así, pues, mientras servidor dejaba vagar su mente, le vino a la cabeza la expresión de "Una de cal y una de arena". Curiosa [...]]]></description>
				<content:encoded><![CDATA[<p>Todos sabéis moveros en internet. Todos habéis tenido que buscar alguna cosa en su basta red... y espero que todos comprobéis los resultados (no todos los contenidos en internet son ciertos). Así, pues, mientras servidor dejaba vagar su mente, le vino a la cabeza la expresión de "Una de cal y una de arena".</p>
<p>Curiosa expresión, cuanto menos. ¿De dónde viene? ¿Qué es la cal? ¿Y la arena? ¿Qué quiere decir? Como buen informático, acudí al Sr Google para que me ayudara a encontrar el libro que me respondiera a estas preguntas.</p>
<p>Así pues, esto es lo que encontré:</p>
<p>Definición de la expresión en el Diccionario Espasa de dichos y frases hechas de Alberto Buitrago Jimenez:</p>
<p><em>Dar una de cal y otra de arena.<br />
Actuar alternativamente de forma positiva y negativa. "El equipo no  funciona bien. Un día gana y al siguiente pierde. Está dando una de cal y  otra de arena". Antiguamente, cuando no existía el cemento, los  ladrillos o piedras se fijaban con mortero, un compuesto que se hacía  con una palada de cal -el material caro y más noble- y otra de arena, lo  más abundante y menos importante.</em></p>
<p>Oh, vaya... ¡todo queda claro con esta definición! Veamos, Don Alberto dice que viene de el mortero de cal, que, efectivamente, se hace con cal, arena, y agua. ¿Para que sirve cada componente de esta mezcla? La cal y el agua hacen la reacción, la que produce que el mortero "funcione". La arena es un elemento inerte, es para darle volumen. En la mezcla, la cal es el elemento importante.</p>
<p>Pero, ¿cómo es q la cal es buena? Recordad que acabo de comentar que reacciona con el agua, y llega a los 90ºC. Si inhalas la cal viva, o te entra en los ojos, no lo pasarás precisamente bien. Pero a la vez, una vez que haya madurado (se dice que lo óptimo, es dejarla madurar 30 años!), cuando "apagas" la cal (la matas... o la oxigenas, como prefiráis), esta adquiere propiedades bioclimáticas y es capaz de conservarse en perfectas condiciones durante siglos, ya  que posee poros que dejan transpirar las paredes y al mismo tiempo la  impermeabilizan.<sup><em> </em><em> </em></sup>También el núcleo que conserva, regula la temperatura del interior de  una casa gracias al efecto de "respiración" de la casa a través suyo</p>
<p>Sobre la arena, ¿quién no sabe qué es? Son trozos muy diminutos de roca. Depende de la zona, estará compuesto por distintos tipos de roca</p>
<p>Conclusión:</p>
<p>La teoría dice que la cal es el elemento noble, y la arena el "común", que hay por todas partes. Si tengo que elegir, ¡me quedo con la cal! El origen de la expresión es la construcción, pero es un período incierto. La cal se usaba en la construcción desde el VI aC. Además, la expresión en si, quiere decir que la mezcla es buena. No todo tiene que ser igual, hay que tener también de la otra parte</p>
<p>Notas curiosas:</p>
<p>1) En la construcción de catedrales, preparaban la cal en balsas al principio. Así, cuando la necesitasen (una catedral podía tardar un siglo en construirse) ya habría madurado. Decían que la buena era de más de 30 años de maduración (a la que llamaban <em>chica</em>, y si era de menos de 30 años le llamaban <em>chico</em>)</p>
<p>2) En España, existía la costumbre (supongo, que sobretodo en la zona mediterránea) de cuando nacía un bebé, prepararle una balsa de cal para el momento que se construyese su casa.</p>
<p>PD: Yo esperaba que fuera al contrario</p>
<p>Fuentes:</p>
<p>http://es.wikipedia.org/wiki/Mortero_de_cal</p>
<p>http://es.wikipedia.org/wiki/Cal</p>
<p>Diccionario Espasa de dichos y frases hechas de Alberto Buitrago Jimenez</p>
<p>Algun recuerdo de la universidad....</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2010/08/una-de-cal-y-una-de-arena/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viñeta de @facso</title>
		<link>http://blog.eleazan.net/2010/07/vineta-de-facso/</link>
		<comments>http://blog.eleazan.net/2010/07/vineta-de-facso/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 16:23:18 +0000</pubDate>
		<dc:creator>Eleazan</dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://eleazan.wordpress.com/?p=37</guid>
		<description><![CDATA[Aquí está la viñeta de @facso, genial, como siempre]]></description>
				<content:encoded><![CDATA[<p>Aquí está la viñeta de @<a href="http://www.meneame.net/user/facso" target="_blank">facso</a>, genial, como siempre <img src='http://blog.eleazan.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img class="aligncenter" title="Viñeta de facso" src="http://i.imgur.com/XUXnj.jpg" alt="Viñeta de facso" width="410" height="324" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eleazan.net/2010/07/vineta-de-facso/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
