<?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>Dandel</title>
	<atom:link href="http://dandel.es/feed" rel="self" type="application/rss+xml" />
	<link>http://dandel.es</link>
	<description>Dandel</description>
	<lastBuildDate>Sat, 12 May 2012 06:46:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Viaje a Japón: Kioto este</title>
		<link>http://dandel.es/viaje-a-japon-kioto-este</link>
		<comments>http://dandel.es/viaje-a-japon-kioto-este#comments</comments>
		<pubDate>Sat, 12 May 2012 06:45:00 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Viaje a Japón]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=17883</guid>
		<description><![CDATA[Las siguientes entradas relacionadas con nuestro viaje a Japón estarán enfocadas a lugares que queremos ver en Kioto. Vamos a estar aquí seis días, aunque como ya comenté en la anterior entrada, no creo que el primero lo aprovechemos demasiado &#8230; <a href="http://dandel.es/viaje-a-japon-kioto-este">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-17891" title="Fushimi Inari Vista aérea" src="http://dandel.es/wp-content/uploads/2012/05/fushimi_inari_air.jpg" alt="" width="650" height="322" /></p>
<p>Las siguientes entradas relacionadas con nuestro viaje a Japón estarán enfocadas a <strong>lugares que queremos ver en Kioto</strong>. Vamos a estar aquí seis días, aunque como ya comenté en la <a title="Viaje a Japón: Desplazamiento a Kioto y alojamiento" href="http://dandel.es/viaje-japon-desplazamiento-kioto-alojamiento">anterior entrada</a>, no creo que el primero lo aprovechemos demasiado y el último lo utilizaremos para viajar a nuestro siguiente destino. Además, uno o dos días lo queremos dedicar a hacer alguna excursión (depende de las ganas), así que tenemos que estar a tope para ver todo lo posible en un par de días.</p>
<p>Estoy intentando diseñar las excursiones y recorridos para poder hacerlos en medio día (una mañana o una tarde) y así tener la flexibilidad de intercambiar uno por otro en función del tiempo, las ganas o el cansancio.</p>
<p>La ruta de Kioto este combina un par de los lugares más emblemáticos de Kioto con un paseo por sus calles más tradicionales.</p>
<p><span id="more-17883"></span></p>
<h2>Fushimi Inari</h2>
<p><img class="aligncenter size-full wp-image-17889" title="Fushimi Inari" src="http://dandel.es/wp-content/uploads/2012/05/fushimi_inari.jpg" alt="Fushimi Inari" width="575" height="335" /></p>
<p>Me hace ilusión comenzar comenzar mi viaje a Kioto por el carismático <strong><a title="Santuario Fushimi Inari" href="http://es.wikipedia.org/wiki/Fushimi_Inari-taisha">Fushimi Inari-taisha</a></strong>, el santuario dedicado al espíritu Inari del distrito de Fushimi. El templo es conocido por la ingente cantidad de <em>torii</em> rojos que delimitan los senderos de la colina en la que se encuentra situado.</p>
<p>Inari fue principalmente conocida como la diosa del arroz, aunque los comerciantes y empresarios han ido rindiéndole culto a través de los siglos con la esperanza de que la diosa les sonriera en sus negocios. Es por eso que cada uno de los torii es una donación realizada por un particular, una familia o una empresa.</p>
<p>En la base de la colina está el santuario Go Honden y la puerta de Sakura o Sakura-mon. Tras este santuario, se puede comenzar a recorrer el camino de torii. También conocido como Senbon-Torii (literalmente, &#8220;miles de toris&#8221; XD). La caminata es un bonito paseo de <strong>4 kilómetros</strong>, por lo que dudo que la hagamos entera. A una media hora caminando hay una intersección en la que se detiene la mayoría de la gente llamada <strong>Yotsutsuji</strong>. Un buen sitio para hacer alguna foto de las vistas y bajar para seguir con el camino.</p>
<h3>Mosquitos</h3>
<p>Por lo visto, los mosquitos y todo tipo de bichos en Japón son de tamaño XXL y el <strong>Fushimi Inari </strong>parece ser uno de los sitios más infestados de estos bichos de todo Kioto. Llevaremos repelente, pero según como veamos el panorama&#8230; ¡<strong>saldremos por patas</strong>!</p>
<h3>Cómo llegar</h3>
<p>Hay que coger la línea de JR de Nara en la estación central de Kioto y bajarse en la estación de Inari. Son 5-6 minutos. He puesto que iremos a las 8, aunque si madrugamos más o menos tampoco va de ahí. Queremos ser bastante flexibles con los horarios, de forma que podamos cambiar una visita de un día a otro si nos hace mal tiempo, por ejemplo <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://dandel.es/wp-content/uploads/2012/05/Transporte-al-Fushimi-Inari.png"><img class="aligncenter size-full wp-image-17890" title="Transporte al Fushimi Inari" src="http://dandel.es/wp-content/uploads/2012/05/Transporte-al-Fushimi-Inari.png" alt="Fushimi Inari" width="888" height="263" /></a></p>
<h3>Horario y precios</h3>
<ul>
<li>Siempre abierto, todos los días</li>
<li>Tiempo de la visita: 30-45 min</li>
<li>Gratis</li>
<li>Web: <a title="Fushimi Inari" href="http://inari.jp">inari.jp</a></li>
</ul>
<h2>Templo Kiyomizu-dera</h2>
<p><img class="aligncenter size-full wp-image-17897" title="Templo Kiyomizu-dera Kioto" src="http://dandel.es/wp-content/uploads/2012/05/Kyoto-Kiyomizudera_Japan.jpg" alt="Templo Kiyomizu-dera Kioto" width="650" height="320" /></p>
<p>La siguiente parada en nuestra ruta será el templo <strong><a title="Templo Kiyomizu-dera" href="http://es.wikipedia.org/wiki/Kiyomizu-dera">Kiyomizu-dera</a></strong>, que traducido sería el &#8220;templo del agua pura&#8221; (agua clara, o agua limpia). Está declarado <strong>patrimonio de la humanidad</strong> por la UNESCO desde 1994.</p>
<p>La historia del templo es más antigua que la de la propia Kioto. He aquí un extracto que he encontrado en el blog de <a href="http://moleskinearquitectonico.blogspot.com.es/2007/01/el-templo-del-agua-pura.html">mi moleskine arquitectónico</a>:</p>
<blockquote><p>Cuenta la leyenda que en 778 Enchin, un monje proveniente de Nara, inspirado por un sueño rastreó el recorrido de un límpido arroyuelo hasta encontrar una cristalina cascada que lamía la ladera del monte Otowa y en aquel lugar construyó una ermita en honor a Kannon, la deidad femenina de la bondad. Dos años más tarde, en 780, el famoso general <a href="http://en.wikipedia.org/wiki/Sakanoue_no_Tamuramaro">Tamuramaro Sakanoue</a> andaba por el lugar tras la caza de un venado para su esposa embarazada, ya que en esa época se creía que la sangre del venado era buena para la fertilidad. Enchin sermoneó duramente a Tamuramaro por matar al animal, por lo que el general, arrepentido, construyó un templo en honor al agua pura de la cascada.</p></blockquote>
<p>Se trata en realidad de un conjunto de edificios con un templo principal (Hon-do), conocido por su balcón sostenido por columnas sobre la pendiente de la colina que ofrece unas vistas inigualables de la ciudad. De hecho, es tan popular en Japón que existe incluso una frase hecha: &#8220;saltar desde la plataforma de Kiyomizu&#8221;, que tiene su origen en una antigua tradición del periodo Edo. Resulta que en la época se pensaba que, <strong>si uno sobrevive a la caída saltando desde el balcón</strong>, se le concedería un deseo. La caída son 13 metros de alto, por lo que sobrevivir parece posible. De los 234 saltos registrados durante el periodo Edo, el 85% sobrevivieron. Me pregunto si su <strong>último deseo fue sobrevivir al salto</strong>. <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pero el templo Kiyomizu-dera no solamente tiene atractivo por su tradición de suicidas. El nombre de Kiyomizu se tomó de las cascadas que recorren el complejo, que han sido canalizadas para dar a parar en un estanque. Se dice que el agua de este estanque tiene efectos terapéuticos y es tradición beberla para tener salud, éxito en los estudios o una larga vida. Eso sí, <strong>solo debe beberse de una de las tres cascadas</strong>. Si se hace de cualquiera de las otras dos, el efecto será el contrario: un castigo divino por nuestra codicia. Mal rollito.</p>
<p>Podremos encontrar varios santuarios shintoistas, entre ellos el santuario Jishu, dedicado al dios del amor: Okunimushino-Mikoto. Lo reconoceremos por una estatua acompañada por su conejo mensajero. La leyenda dice que las dos rocas que tiene frente a él, llamadas &#8220;Mekura ishi&#8221;, conceden fortuna en el amor. Si caminas a ciegas de una a la otra (separadas por 18 metros) sin desviarte, te convertirás en todo/a un/a rompecorazones. No creo que nos haga falta, pero lo probaremos de todos modos ^_^</p>
<p><img class="aligncenter size-full wp-image-17898" title="Kiyomizu-dera stones" src="http://dandel.es/wp-content/uploads/2012/05/kiyomizu_dera_stones.jpg" alt="Kiyomizu-dera stones" width="640" height="356" /></p>
<p>Todo el recinto tiene múltiples puntos de interés, como la <strong>pagoda de tres pisos</strong> (Sanju no to) en la que futuras madres piden a los dioses un parto sin complicaciones. Dícese que en el siglo VIII una mujer gestante vino a orar a la pagoda Koyasu-no-to y su bebé resultó ser luego la emperatriz Kokken, por lo que es un lugar de visita predilecto para las mujeres &#8220;en estado de buena esperanza&#8221;.</p>
<p>También está la <strong>torre de la campana</strong> en la que la víspera del Año Nuevo se dan 108 campanadas que, según el concepto budista, representan 108 deseos mundanos. Cerca del sitio también hay un <strong>cementerio</strong> que puede ser curioso de ver.</p>
<p>Una vez lo veamos todo, regresaremos por los callejones repleteos de tiendecitas y de ambiente &#8220;Kiotense&#8221;.</p>
<h3>Datos de interés</h3>
<ul>
<li>Construido entre el 780 y 798 d.C.</li>
<li>Ha sido reconstruido varias veces a causa de numerosos incendios (todo el conjunto arquitectónico es de madera). La última vez, en 1633.</li>
<li>Patrimonio de la Humanidad</li>
<li>Su balcón se eleva sobre 139 columnas de madera, sin un solo clavo, sobre una altura de 10 a 15 metros. Antiguamente se utilizaba para realizar danzas ceremoniales.</li>
</ul>
<h3>Mapa del lugar</h3>
<p><img class="aligncenter size-full wp-image-17901" title="Mapa de Kiyomizu-dera" src="http://dandel.es/wp-content/uploads/2012/05/Mapa-de-Kiyomizu-dera.gif" alt="Mapa de Kiyomizu-dera" width="430" height="417" /></p>
<p><a href="http://dandel.es/wp-content/uploads/2012/05/Kiyomizu-dera-mapa-google-maps.jpg"><img class="aligncenter size-full wp-image-17906" title="Kiyomizu-dera-mapa-google-maps" src="http://dandel.es/wp-content/uploads/2012/05/Kiyomizu-dera-mapa-google-maps.jpg" alt="Kiyomizu-dera-mapa-google-maps" width="650" height="418" /></a></p>
<h3>Cómo llegar</h3>
<p><a href="http://dandel.es/wp-content/uploads/2012/05/De-Fushimi-Inari-a-Templo-Kiyomizu.png"><img class="aligncenter size-full wp-image-17910" title="De Fushimi Inari a Templo Kiyomizu" src="http://dandel.es/wp-content/uploads/2012/05/De-Fushimi-Inari-a-Templo-Kiyomizu.png" alt="De Fushimi Inari a Templo Kiyomizu" width="882" height="254" /></a></p>
<ul>
<li>En tren/metro, la línea Keihan. Se coge en la parada <strong>Fushimi Inari</strong> hasta <strong>Kiyomizu-gojo</strong>.</li>
<li>En autobús, líneas 100, 202, 206 o 207. Saliendo desde Fushimi Inari, hay que cogerlo en Tofukuji. Desde el hotel, en la estación de Kioto.</li>
</ul>
<h3>Horario y precios</h3>
<ul>
<li>Abierto todos los días de 6:00 a 18:30</li>
<li>Tiempo de la visita: 30min &#8211; 1 hora</li>
<li>300 ¥</li>
<li>Web: <a title="Templo Kiyomizu-dera" href="http://www.kiyomizudera.or.jp/lang/01.html">http://www.kiyomizudera.or.jp/lang/01.html</a></li>
</ul>
<h2>Un paseo por el Kioto tradicional</h2>
<p><img class="aligncenter size-full wp-image-17917" title="sannen-zaka" src="http://dandel.es/wp-content/uploads/2012/05/sannen-zaka.jpg" alt="sannen-zaka" width="600" height="450" /></p>
<p>Precisamente alrededor del templo <strong>Kiyomizu</strong> se encuentra uno de los distritos más pintorescos de Kioto. Bajando a mano derecha desde la entrada, encontraremos unas escaleras que bajan. Es la calle <strong>Sannen-zaka</strong> y su prolongación hacia el templo de Kodaiji, la calle <strong>Ninnen-zaka</strong>. Son calles llenas de tiendas, casas de té y restaurantes. Un lugar ideal para pasear tranquilamente y descansar. Depende de la hora, podríamos almorzar o incluso comer antes de seguir con nuestro camino y comprar algún recuerdo.</p>
<p>La mayoría de casas tradicionales han sido restauradas y convertidas en tiendas, conservando gran parte del ambiente de Kioto tradicional. Es la zona conocida como <strong>Higashiyama</strong>, por encontrarse en la falda de la colina que lleva el mismo nombre. Literalmente, significa eso: &#8220;Las colinas al este&#8221; (de Kioto).</p>
<p>Todo el barrio tiene origen desde el siglo 15 aproximadamente, cuando el shogun Ashikaga Yoshimasa trasladó su residencia a esta zona.</p>
<p>Por el camino, pasaremos por tres puntos de interés: el memorial de Ryozen Kannon, el templo Kodai-ji y la pagoda de Yasaka, de 5 pisos de altura. Finalizaremos en el parque Maruyama. Esta es la ruta que seguiremos:</p>
<p><a href="http://dandel.es/wp-content/uploads/2012/05/Ruta-Ninenzaka-Sannenzaka.gif"><img class="aligncenter size-full wp-image-17922" title="Ruta Ninenzaka-Sannenzaka" src="http://dandel.es/wp-content/uploads/2012/05/Ruta-Ninenzaka-Sannenzaka.gif" alt="Ruta Ninenzaka-Sannenzaka" width="580" height="232" /></a></p>
<p style="text-align: center;"><em>Imagen: <a href="http://www.japan-guide.com/e/e3927.html">japan-guide.com</a></em></p>
<h2>Pagoda Yasaka</h2>
<p><a href="http://dandel.es/wp-content/uploads/2012/05/pagoda_yasaka.jpg"><img class="aligncenter size-full wp-image-17927" title="PENTAX Image" src="http://dandel.es/wp-content/uploads/2012/05/pagoda_yasaka.jpg" alt="" width="650" height="488" /></a></p>
<p>Una curiosidad del camino. Se trata de la pagoda de 5 pisos más antigua de Kioto. Tiene un mirador en el último piso, a 46 metros de altura. Quizás vale la pena entrar a disfrutar de las vistas del barrio.</p>
<ul>
<li>Horario: de 10:00 a 16:00</li>
<li>Tiempo de la visita: 5 minutos. Unas foticos y a seguir con el camino.</li>
</ul>
<h2>Memorial de Ryozen Kannon</h2>
<p><a href="http://dandel.es/wp-content/uploads/2012/05/ryozen-kannon.jpg"><img class="aligncenter size-full wp-image-17925" title="ryozen kannon" src="http://dandel.es/wp-content/uploads/2012/05/ryozen-kannon.jpg" alt="" width="560" height="420" /></a></p>
<p>La enorme estatua de cemento fue construida en 1955 en memoria de los 2 millones de japoneses que cayeron víctimas de la II Guerra Mundial y los 48.000 soldados extranjeros que perecieron en territorio japonés. El santuario de su interior contiene tierra de los cementerios a lo largo del Pacífico en los que existen víctimas japonesas de la guerra. Son 24 metros de altura. Impresionante.</p>
<ul>
<li>Horario: 8:30 a 16:30</li>
<li>Precio: 200  ¥</li>
<li>Tiempo de la visita: 5 minutos.</li>
</ul>
<h2>Templo Kodai-ji</h2>
<p><a href="http://dandel.es/wp-content/uploads/2012/05/kodaiji.jpg"><img class="aligncenter size-full wp-image-17924" title="kodaiji" src="http://dandel.es/wp-content/uploads/2012/05/kodaiji.jpg" alt="" width="575" height="330" /></a></p>
<p style="text-align: center;"><em>Imagen: <a href="http://www.japan-guide.com/e/e3927.html">japan-guide.com</a></em></p>
<p>El siguiente templo que veremos en nuestro viaje tiene algo más de historia. Fue erigido en 1606 en memoria de Toyotomi Hideyoshi y de su esposa Nene, que da nombre la calle que va a parar al templo.</p>
<p>El templo es conocido por su <strong>jardín de rocas</strong>, los jardines zen que rodean el edificio principal y un par de casas de te a las que se accede atravesando un camino de bambú en dirección a la colina.</p>
<ul>
<li>Horario: Todos los días de 9:00 a 17:30. Dejan entrar hasta las 17:00</li>
<li>Tiempo de la visita: 30 minutos.</li>
<li>Precio: 600 ¥</li>
</ul>
<h2>Aclaraciones y fuentes</h2>
<p>Esto no tiene otra pretensión que ser una guía personal para mi mujer y yo, por lo que la información está recopilada en base a lo que a nosotros nos gustaría hacer. Aún así, me encantaría saber que a alguien le ha servido de ayuda. Asimismo, si ves que alguno de los datos que menciono son incorrectos, te agradecería que me corrijas antes de ir ^_^</p>
<p>Para escribir este post, he utilizado los datos y consejos de:</p>
<ul>
<li><a href="http://www.destinojapon.com/lugares/kyoto/japon10-dia-02-kioto-este/">Destinojapon.com</a></li>
<li><a href="http://elblogdemanu.com/japon-dia-9-kyoto-ruta-este/">El blog de Manu</a></li>
<li><a href="http://moleskinearquitectonico.blogspot.com.es/2007/11/el-pabelln-de-plata-ginkaku-ji.html">Mi moleskine arquitectónico</a></li>
<li><a href="http://japan-guide.com">Japan-Guide.com</a></li>
<li>Y la Wikipedia, cómo no <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/viaje-a-japon-kioto-este/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viaje a Japón: Desplazamiento a Kioto y alojamiento</title>
		<link>http://dandel.es/viaje-japon-desplazamiento-kioto-alojamiento</link>
		<comments>http://dandel.es/viaje-japon-desplazamiento-kioto-alojamiento#comments</comments>
		<pubDate>Sun, 29 Apr 2012 08:26:31 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Viaje a Japón]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=17863</guid>
		<description><![CDATA[Aterrizaremos en Tokio a las 9 de la mañana (si no hay retrasos, claro). Para nosotros serán las 2:00 de la madrugada (si no me he equivocado calculando la diferencia horaria. Viendo la experiencia de otros viajes largos que hemos &#8230; <a href="http://dandel.es/viaje-japon-desplazamiento-kioto-alojamiento">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dandel.es/wp-content/uploads/2012/04/shinkansen.jpg"><img class="aligncenter size-full wp-image-17867" title="shinkansen" src="http://dandel.es/wp-content/uploads/2012/04/shinkansen.jpg" alt="" width="575" height="280" /></a></p>
<p>Aterrizaremos en Tokio a las 9 de la mañana (si no hay retrasos, claro). Para nosotros serán las 2:00 de la madrugada (si no me he equivocado calculando la diferencia horaria. Viendo la experiencia de otros viajes largos que hemos hecho, decidimos desde el principio tomarnos el primer día para asentarnos y descansar tranquilamente, porque si no, no disfrutaremos el resto del viaje.</p>
<p>Si no hubiese sido por el jet-lag, lo lógico habría sido empezar el viaje en Tokio pero, como también volvemos del mismo aeropuerto (otras combinaciones de vuelos y ciudades salían el doble de caras), significaría que el último día de nuestro viaje tendríamos que &#8220;desperdiciarlo&#8221; viajando a una ciudad que ya hemos visitado y pasando la noche allí. Y como el primer día lo damos ya por perdido, pensamos: ¿Por qué no aprovechando viajando al extremo más alejado de nuestro periplo?</p>
<p>Así fue como decidimos comenzar en Kioto.</p>
<p><span id="more-17863"></span></p>
<h2>Cómo funcionan los trenes en Japón</h2>
<p>Para consultar los horarios hay una web estupenda en inglés: <a title="Consultar horarios de trenes en Japón" href="http://www.hyperdia.com/en">Hyperdia</a></p>
<p>Hemos decidido comprar el JR Pass para desplazarnos, ya que solamente con el viaje de ida y vuelta de Tokio a Kioto ya se amortiza.</p>
<p>Lo primero que tendremos que hacer es canjear el JR-Pass. Por lo que me han contado, en el aeropuerto está muy bien indicado el lugar donde hacerlo, así que no debería preocuparme por no poder encontrarlo.</p>
<p>La estación se encuentra en el bloque B1F. Aquí hay un <a title="Mapa del aeropuerto de Narita" href="http://www.narita-airport.jp/en/guide/map/index_t2.html">mapa</a>:</p>
<p><a href="http://dandel.es/wp-content/uploads/2012/04/narita.jpg"><img class="aligncenter size-full wp-image-17878" title="Mapa del aeropuerto de Narita" src="http://dandel.es/wp-content/uploads/2012/04/narita.jpg" alt="Mapa del aeropuerto de Narita" width="650" height="500" /></a></p>
<p>Para no perderme, me permito copiar y pegar un párrafo de la<a title="Guía de viaje a Japón" href="http://dl.dropbox.com/u/9585293/Guia%20Japon%20-%20AiR%20082010.pdf"> guía de Ainhoa y Rubén</a>:</p>
<blockquote><p>Cuando se llega al vestíbulo del aeropuerto se ha de mirar a nuestra derecha, para ver unas escaleras que descienden al sótano, y tendrán marcado el símbolo de los trenes. Por ahí empieza nuestra ruta. Al ir bajando las escaleras mecánicas, se llegar a un vestíbulo que conecta con la otra ala del aeropuerto, y con las DOS estaciones<br />
de trenes. Aquí convergen las líneas de JR y Keisei.</p></blockquote>
<p>Hay que tener en cuenta que el <strong>JR Pass no sirve para trenes Shinkansen de tipo Nozomi o Mizuho</strong>. Así que cuidado a la hora de mirar las combinaciones y horarios.</p>
<p>También me han recomendado que reservemos asiento, para no encontrarnos con que no podemos subir a un tren (se ve que pasa bastante). Así que quizás sería buena idea reservar asiento para todos nuestros viajes nada más canjear el JR Pass.</p>
<h2>Desplazamiento desde el aeropuerto de Narita a Kioto</h2>
<p>La combinación es la siguiente: hay que coger la línea del <strong>Narita Express</strong> hasta la estación de Tokyo y una vez allí, un <em>shinkansen</em> (tren bala) con destino a Kyoto. La línea que nos interesa es la de <strong>Tokaido</strong>. Llegaremos a mediodía.</p>
<p><a href="http://dandel.es/wp-content/uploads/2012/04/Horarios-de-Narita-a-Kyoto.png"><img class="aligncenter size-full wp-image-17864" title="Horarios de Narita a Kyoto" src="http://dandel.es/wp-content/uploads/2012/04/Horarios-de-Narita-a-Kyoto-e1335685947307.png" alt="" width="650" height="298" /></a></p>
<h2>Cómo llegar de la estación de Kioto al hotel</h2>
<p>Nos alojaremos en el hotel <strong><a title="Citadines Karasuma-Gojo Kioto" href="http://www.citadines.com/es/japan/kyoto/karasuma_gojo.html">Citadines Karasuma-Gojo Kyoto</a></strong>. Tiene muy buenas <a title="Opinión en Tripadvisor" href="http://www.tripadvisor.es/Hotel_Review-g298564-d1750043-Reviews-Citadines_Kyoto_Karasuma_Gojo-Kyoto_Kyoto_Prefecture_Kinki.html">opiniones en Tripadvisor</a> y buscábamos algo cómodo para los primeros días. No queríamos arriesgarnos a coger un alojamiento tradicional tipo Ryokan y arriesgarnos a que no nos gustase o no pudiéramos descansar bien por dormir en el suelo, así que optamos por un hotel occidental. Además, lo bueno que tiene el Citadines es que tiene cocina, por lo que si un día nos apetece almorzar en la habitación o subirnos algo para cenar de algún súper que hay cerca, tenemos la posibilidad de hacerlo. Si hacemos una excursión, nos podemos llevar un algo preparado o un bocadillo&#8230; si encontramos pan, claro. Ya veremos, lo decidiremos allí <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Como curiosidad, he encontrado un vídeo promocional del hotel en YouTube XD:</p>
<p><iframe src="http://www.youtube.com/embed/OGFW9Nkr3ec" frameborder="0" width="560" height="315"></iframe></p>
<p>Para llegar, el Google Maps pone que son casi 20 minutos andando. Después de la paliza y cargando con las maletas no creo que nos apetezca, así que supongo que cogeremos metro.</p>
<p>Hay que tomar la línea <strong><a title="Línea de metro en Kioto (Karasuma)" href="http://en.wikipedia.org/wiki/Karasuma_Line">Karasuma</a></strong> (la verde) hasta <strong><a href="http://en.wikipedia.org/wiki/Goj%C5%8D_Station_(Kyoto)">Gojo Station</a></strong></p>
<p><a href="http://dandel.es/wp-content/uploads/2012/04/Mapa-del-hotel.jpg"><img class="aligncenter size-full wp-image-17865" title="Mapa del hotel" src="http://dandel.es/wp-content/uploads/2012/04/Mapa-del-hotel.jpg" alt="" width="423" height="399" /></a></p>
<p>Datos de contacto del hotel:</p>
<ul>
<li><a href="mailto:enquiry.kyoto@the-ascott.com?subject=[Citadines%20Karasuma-Gojo%20Kyoto]%20-%20Pregunta/Feedback">enquiry.kyoto@the-ascott.com</a></li>
<li>(81-75) 352 8900</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/viaje-japon-desplazamiento-kioto-alojamiento/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Viaje a Japón: El vuelo</title>
		<link>http://dandel.es/viaje-a-japon-el-vuelo</link>
		<comments>http://dandel.es/viaje-a-japon-el-vuelo#comments</comments>
		<pubDate>Sun, 08 Apr 2012 16:06:27 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Viaje a Japón]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=17854</guid>
		<description><![CDATA[Una vez decidimos que nos íbamos, lo primero fue empezar a mirar vuelos. Como en casi todas las cosas de esta vida, a la hora de decidir la mejor opción, hay que hacer un curso intensivo para poder abarcar todas &#8230; <a href="http://dandel.es/viaje-a-japon-el-vuelo">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dandel.es/wp-content/uploads/2012/04/avion-british-airways.jpg"><img class="aligncenter size-full wp-image-17855" title="avion-british-airways" src="http://dandel.es/wp-content/uploads/2012/04/avion-british-airways.jpg" alt="" width="640" height="300" /></a></p>
<p>Una vez decidimos que nos íbamos, lo primero fue empezar a mirar vuelos. Como en casi todas las cosas de esta vida, a la hora de decidir la mejor opción, hay que hacer un curso intensivo para poder abarcar todas las posibilidades.</p>
<p>En nuestro caso, primero hicimos una lista con nuestras prioridades y un presupuesto máximo para los billetes, además de acotar las fechas en las que queríamos irnos. De lo contrario, te vuelves loco. Un vuelo puede ser muy barato el 1 de Mayo (por ejemplo) y costar el doble tres días después.</p>
<p>Nuestras prioridades eran las siguientes:</p>
<ul>
<li><strong>Queremos el vuelo lo más corto posible. </strong>Nuestra experiencia de otros viajes nos ha enseñado que no aguantamos demasiado bien el trayecto y solemos llegar muy cansados, así que si podemos ahorrarnos tres o cuatro horas, mejor.</li>
<li><span style="color: #000000;"><strong>Imprescindible que sea una sola escala.</strong></span> Hay combinaciones de dos o incluso tres escalas que pueden llegar a salir más baratas, pero eso implica mayor probabilidad de que te pierdan las maletas, perder un vuelo por culpa de un retraso y todo tipo de trastornos.</li>
<li><strong>Máximo 700€ por cabeza. </strong>Es nuestro límite de presupuesto por persona ida y vuelta. Teniendo en cuenta que todo sale del mismo bolsillo, 1.400€ es el máximo que nos podemos permitir.</li>
</ul>
<p>Con estos criterios, comenzamos a buscar con mucha paciencia.</p>
<p><span id="more-17854"></span></p>
<h2>Decidiendo el itinerario</h2>
<p>Lo primero que tuve que decidir es el destino de mi vuelo. Podía ir a Tokyo o a Osaka. Una <strong>decisión difícil</strong>.</p>
<p>Lo primero que pensé fue en mirar los vuelos por separado. La ida a Tokyo y la vuelta desde Osaka (o viceversa). Pero pronto descubrí que esta opción es la más cara de todas, ya que las compañías te benefician si reservas un vuelo de ida y vuelta. Así que debía madurar detenidamente el trayecto, ya que el <strong>mi periplo por Japón debería terminar en el mismo lugar donde comenzase</strong>.</p>
<p>Tras darle muchas vueltas, decidí que daba lo mismo. El primer día estaría hecho polvo y llegaría allí a las 9 de la mañana, que para mí serían casi las siete de la tarde. Así que aprovecharemos esas horas de <strong>jet-lag extremo</strong> para coger el tren bala y desplazarnos al punto más extremo de nuestro viaje, para descansar por la tarde y estar frescos al día siguiente. De este modo, aprovechamos un día que damos prácticamente por perdido haciendo algo útil, en lugar de tirar el último día volviendo a la ciudad de origen que, además, ya habríamos visto.</p>
<p>Este es nuestro primer borrador con el itinerario que queremos hacer:</p>
<p><a href="http://dandel.es/wp-content/uploads/2012/04/itinerario.jpg"><img class="aligncenter size-full wp-image-17858" title="itinerario" src="http://dandel.es/wp-content/uploads/2012/04/itinerario.jpg" alt="" width="640" height="567" /></a></p>
<ul>
<li><strong>1: Llegada a Tokyo. </strong>Escogeremos la opción de llegada a Tokyo, ya que un primer vistazo nos dice que es la más barata.</li>
<li><strong>2: Viaje en tren bala a Kyoto</strong>. El primer día estaremos cansados, así que nada más llegar nos meteremos en el tren bala rumbo a Kyoto. Esa tarde descansaremos y al día siguiente estaremos frescos para explorar nuestra primera ciudad. Nos servirá de &#8220;base de operaciones&#8221; para visitar otros lugares desde allí.</li>
<li><strong>3: Viaje a Takayama o a Hakone</strong>: Queremos pasar un par de noches en una ciudad del interior, más tradicional. Estamos dudando entre Takayama o Hakone. Veremos cómo andamos de presupuesto una vez hayamos encontrado los hoteles y decidiremos.</li>
<li><strong>4: Viaje a Tokyo</strong>: Los últimos cuatro o cinco días regresaremos  a Tokyo para explorar a gusto la ciudad. Así el último día (ya sin jet-lag) podremos disfrutarlo a topa en lugar de malgastarlo volviendo a una ciudad que ya hemos visitado.</li>
</ul>
<h2>La paciencia es una virtud</h2>
<p>Una de las cosas que todo el mundo te comenta a la hora de reservar un vuelo para Japón es que <strong>reserves con tiempo</strong>. Y tras mi experiencia, lo confirmo. Lo ideal es planificar el viaje con unos seis meses de antelación. Esto es debido a que con este margen de tiempo, <strong>las compañías aéreas suelen sacar sus billetes al precio más económico que vais a poder encontrar</strong>. Luego conforme se acerca la fecha del viaje, los precios se disparan, ya que las agencias de viajes y los viajeros más previsores se han quedado con todas las plazas.</p>
<p>Esto mismo me ocurrió a mí. Llevaba algo más de una semana mirando precios en las webs de las compañías aéreas y en buscadores de vuelos baratos. Casi estaba resignado a tener que salirme de mi presupuesto y reservar con <a href="http://www.klm.com/travel/es_es/index.htm">KLM</a>, una compañía de la que tengo muy buenas referencias. También encontré buenos precios en <a href="http://www.emirates.com/">Emirates</a>, que comienza a operar en España este verano. Pero aparte de patrocinar estadios de equipos de fútbol, no conocía a nadie que hubiese volado con ellos y me tiraba un poco para atrás. Aún así, con ambas opciones me salía todo bastante caro y era un poco reticente a gastarme tanto dinero solo en el vuelo. Incluso empecé a plantearme cambiar las fechas.</p>
<p>Pero de pronto, un sábado por la mañana salieron unos fantásticos vuelos con <a href="http://www.britishairways.com/travel/home/public/es_es">British Airways</a> por algo más de 500€. Una maravilla. Los reservé sin dudarlos y en pocas horas pude comprobar que se habían agotado. Así que ya sabéis: hay que estar pendiente de estas oportunidades y tener paciencia, ya que cuando menos te lo esperas aparece una buena oferta. Al final me salió todo por menos de 1.200€, con lo que tuve un poco de margen para otro tipo de gastos dentro de mi presupuesto.</p>
<p>Y te preguntarás: ¿Por qué no reservaste el vuelo con una agencia de viajes? La respuesta es sencilla: para ahorrar dinero. Siempre he reservado mis vuelos por Internet para tratar de conseguir el mejor precio y esta vez no iba a ser menos. Ya sé que estás algo más protegido en caso de huelgas o retrasos, pero para eso están los seguros de viaje o de cancelación que se pueden contratar con la propia compañía. Hasta el momento no he tenido problemas haciéndolo así y espero no tenerlos ahora.</p>
<p>¡Crucemos los dedos! <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/viaje-a-japon-el-vuelo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viaje a Japón</title>
		<link>http://dandel.es/viaje-a-japon</link>
		<comments>http://dandel.es/viaje-a-japon#comments</comments>
		<pubDate>Sun, 08 Apr 2012 15:32:43 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Viaje a Japón]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=17840</guid>
		<description><![CDATA[Foto: Tim Brown Hace unos años escribí una lista de cosas que quería hacer antes de morir y poco después la actualicé, con objetivos un poco más sensatos. De esa lista hace ya 6 años y yo era un chaval, pero me &#8230; <a href="http://dandel.es/viaje-a-japon">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dandel.es/wp-content/uploads/2012/04/Fujimi-Inari.jpg"><img class="aligncenter size-full wp-image-17844" title="Fujimi-Inari" src="http://dandel.es/wp-content/uploads/2012/04/Fujimi-Inari.jpg" alt="" width="640" height="480" /></a></p>
<p style="text-align: center;"><small><em>Foto: <a href="http://www.flickr.com/photos/atelier_flir/4557836978/">Tim Brown</a></em></small></p>
<p>Hace unos años escribí una lista de <a title="Cosas que quiero hacer antes de morir" href="http://dandel.es/cosas-que-quiero-hacer-antes-de-morir">cosas que quería hacer antes de morir</a> y poco después <a title="Cosas que quiero hacer antes de morir II" href="http://dandel.es/cosas-que-quiero-hacer-antes-de-morir-ii">la actualicé</a>, con objetivos un poco más sensatos. De esa lista hace ya 6 años y yo era un chaval, pero me hace gracia que dos de las tres primeras cosas que puse fueron &#8220;<strong>Viajar a Japón</strong>&#8221; y &#8220;<strong>Aprender Japonés</strong>&#8220;. Y a estas alturas de mi vida, siguen siendo dos de las pocas cosas de la lista que <strong>aún no he conseguido</strong>.</p>
<p>Bien, pues eso va a cambiar (si todo va bien). Quizás lo de aprender a hablar Japonés me lleve un poco más de tiempo, pero si todo va bien y nada se tuerce, este año pienso cumplir uno de mis sueños. Algo que llevo queriendo hacer desde que tengo uso de razón: viajar a Japón.</p>
<p><span id="more-17840"></span></p>
<h2>Inception</h2>
<p>El origen de la idea comenzó a madurar en mi cabeza hace poco más de un año. Cris y yo íbamos a casarnos a finales de julio y Japón era uno de los destinos que barajábamos para nuestra luna de miel. Pero entonces, sucedió la lamentable cadena de acontecimientos del 11 de marzo. Un <a title="Terremoto y tsunami de Japón" href="http://es.wikipedia.org/wiki/Terremoto_y_tsunami_de_Jap%C3%B3n_de_2011">terremoto de 8,9 grados, el posterior tsunami</a> y el <a title="Accidente nuclear de Fukushima" href="http://es.wikipedia.org/wiki/Accidente_nuclear_de_Fukushima_I">desastre nuclear de Fukushima</a>. No sé si fuimos razonables o timoratos, pero eso nos echó para atrás. Tal y como estaban las cosas, si queríamos ir a Japón era mejor esperar a ver cómo se desarrollaban los acontecimientos y queríamos dejar el viaje atado lo antes posible.</p>
<p>Una vez perdida la oportunidad, empezó a asediarme la idea de que tardaría en volver a tener una oportunidad como aquella. Teníamos dinero ahorrado para hacer un gran viaje y nuestras vacaciones coincidían más de una semana por primera vez desde que nos conocíamos. Así que poco a poco fui allanando el terreno para intentar de nuevo viajar este año. Y finalmente en Febrero decidimos hacerlo.</p>
<h2>¿Por qué quiero ir a Japón?</h2>
<p>Tengo 28 años y no he viajado demasiado. Pero en los lugares que he estado siempre he tenido la sensación de que nuestra cultura tiene más puntos en común con la de otros países europeos (o incluso americanos) que diferencias.</p>
<p>He estado en Italia, Alemania, Francia, Inglaterra o Estados Unidos y aparte del idioma, la gente que ves por la calle es como nosotros, la comida y los sabores son similares, todos duermen en una cama&#8230; no sé muy bien cómo explicarlo, pero siempre he pensado que eran sitios en los que me adaptaría enseguida.</p>
<p>Pero en mi cabeza, Japón es diferente a todo lo que he conocido. A pesar de ser consciente de que se ha &#8220;occidentalizado&#8221; desde mediados de los noventa, no deja de ser un país que ha estado prácticamente aislado del mundo durante más de tres siglos y que desarrolló una cultura propia ajena a las influencias del exterior.</p>
<p>Tal y como lo veo antes de conocerlo, para mi Japón es un país repleto de cosas únicas que no podría encontrar en otro sitio. El arte, la arquitectura, las tradiciones, la gastronomía, la idiosincrasia de la gente&#8230; todo es algo que he leído una y otra vez en manga y en anime, pero cuya dimensión tan solo puedo adivinar.</p>
<p>Quizá tú ya hayas estado allí y pensabas como yo (o no), y ahora creas que lo estoy idealizando. Seguramente alguien que haya visto más mundo que un servidor piense que Japón no es nada del otro jueves y que hay muchos otros sitios que valen más la pena. Puede ser, pero es mi sueño. Y hasta que no lo vea con mis propios ojos y lo sienta con el resto de mis sentidos, no descansaré tranquilo.</p>
<h2>Los hijos de Son Goku</h2>
<p>He mencionado el manga y el anime a propósito, ya que han sido una influencia determinante en mi pasión por hacer este viaje. Los niños de los ochenta nos criamos viendo Oliver y Benji, Ranma 1/2, Caballeros del Zodiaco, Doraemon, Sailor Moon, Dr Slump o (cómo no) Bola de Drac (Dragon Ball). Sí, soy catalán y para mí siempre se llamará Bola de Drac. Ningún otro nombre tiene sentido para referirme a esa serie.</p>
<p><a href="http://dandel.es/wp-content/uploads/2012/04/captain-tsubasa.jpg"><img class="aligncenter size-full wp-image-17846" title="captain-tsubasa" src="http://dandel.es/wp-content/uploads/2012/04/captain-tsubasa.jpg" alt="" width="640" height="480" /></a></p>
<p>Los hijos de Son Goku crecimos con aquellos dibujos que Telecinco se empeñaba en maltratar con sus pésimas adaptaciones del original. No me quiero ni imaginar la cara que se le quedó al responsable de llamar &#8220;Oliver y Benji&#8221; a <em>Captain Tsubasa</em> cuando vio que tras los 20 primeros capítulos Benji se marcha a Alemania para no volver nunca más. Seguro que se le pasó por la cabeza llamarla &#8220;Oliver y Tom&#8221; tras todo aquello, menos mal que reculó a tiempo. El mal ya estaba hecho. El caso es que aquellas series nos volvían locos de pequeños mientras a nuestros padres no les hacían ni puñetera gracia. La violencia de algunos episodios de <em>Saint Seiya</em> o la desvergüenza con la que Ranma enseñaba sus atributos persiguiendo al viejo verde de su maestro provocaban que el clamor popular viese con buenos ojos la censura. Eran otros tiempos.</p>
<p>Sea como fuere, el anime cada vez empezó a ser más popular entre los chicos y chicas de mi edad y poco a poco estuvo mejor visto entre la sociedad. Solo eso explica el éxito año tras año de los salones del manga que se han ido organizando en ciudades como Barcelona, Valencia, Jerez, Granada, Alicante&#8230; y el de las editoriales que poco a poco han encontrado su hueco primero en tiendas especializadas y luego en grandes superficies como el fnac o El Corte Inglés. A día de hoy leer manga no es nada del otro mundo, gracias a la generación de jóvenes que hemos crecido con ello como algo cotidiano en nuestras vidas.</p>
<p>Y es precisamente el manga el que nos ha acercado a una cultura llena de peculiaridades. Los suelos de tatami, los futones para dormir, el tren bala, los baños públicos y termales, la ceremonia del té o esas estupendas merendolas al pie de los cerezos en flor. Todo eso y mucho más nos espera en el país del sol naciente.</p>
<p>En fin&#8230; ya estoy divagando. Pero hacía tiempo que no escribía <img src='http://dandel.es/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h2>Rumbo a Japón</h2>
<p>No he escrito este texto por nada en particular, solo para ponerme en situación y motivarme para preparar el viaje. No quiero dejar nada al azar, ya que voy con la idea de que es muy probable que sea mi primer y último viaje a Japón. Nunca se sabe, la vida da muchas vueltas&#8230; pero un viaje así vale mucha pasta y uno no tiene oportunidad de gastársela cada año. Así que quiero que sea especial.</p>
<p>Por supuesto, se admiten consejos y recomendaciones de sitios que visitar, dónde comer, qué ver&#8230; ya que estoy bastante pez y apenas he empezado a prepararlo todo.</p>
<p><a href="http://dandel.es/wp-content/uploads/2012/04/panorámica-de-kyoto.jpg"><img class="aligncenter size-full wp-image-17851" title="panorámica-de-kyoto" src="http://dandel.es/wp-content/uploads/2012/04/panorámica-de-kyoto.jpg" alt="" width="640" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/viaje-a-japon/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZeroBundle: Recursos gratuitos para diseñadores</title>
		<link>http://dandel.es/zerobundle-recursos-gratuitos-para-disenadores</link>
		<comments>http://dandel.es/zerobundle-recursos-gratuitos-para-disenadores#comments</comments>
		<pubDate>Sun, 22 Jan 2012 10:47:54 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Diseño web]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=17811</guid>
		<description><![CDATA[Zero Bundle es un pack de recursos gratuitos para diseñadores que está disponible para descarga por tiempo limitado. Creado por la gente de Webdesigner Depot y Mighty Deals, ofrece un conjunto de recursos para uso tanto personal como profesional y 100% &#8230; <a href="http://dandel.es/zerobundle-recursos-gratuitos-para-disenadores">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dandel.es/wp-content/uploads/2012/01/zero_bundle1.jpg"><img class="aligncenter size-full wp-image-17815" title="Zero Bundle" src="http://dandel.es/wp-content/uploads/2012/01/zero_bundle1.jpg" alt="Zero Bundle" width="600" height="237" /></a></p>
<p><strong>Zero Bundle</strong> es un pack de recursos gratuitos para diseñadores que está disponible para descarga por tiempo limitado. Creado por la gente de <strong><a title="Webdesigner Depot" href="http://www.webdesignerdepot.com/">Webdesigner Depot</a> </strong>y <a title="Mighty Deals" href="http://www.mightydeals.com/"><strong>Mighty Deals</strong></a>, ofrece un conjunto de recursos para uso tanto personal como profesional y 100% gratuitos. Iconos, plantillas de Photoshop, imágenes vectoriales, pinceles, texturas&#8230; entre otros.</p>
<p>Se puede descargar hasta finales de febrero así que&#8230; ¡Corred, insensatos!</p>
<p>Enlace: <a title="Zero Bundle" href="http://www.zerobundle.com/">Zero Bundle</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/zerobundle-recursos-gratuitos-para-disenadores/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Singleton y Lazy Loading en .NET 4</title>
		<link>http://dandel.es/singleton-y-lazy-loading-en-net-4</link>
		<comments>http://dandel.es/singleton-y-lazy-loading-en-net-4#comments</comments>
		<pubDate>Sun, 22 Jan 2012 10:15:46 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=17793</guid>
		<description><![CDATA[Hace tiempo me construí una clase Logger a partir de la de un compañero, añadiendo un par de detalles para adaptarla a mis necesidades. Es una clase muy útil para procesos que se ejecutan en consola o servicios de Windows &#8230; <a href="http://dandel.es/singleton-y-lazy-loading-en-net-4">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dandel.es/wp-content/uploads/2012/01/lazy_loading1.jpg"><img class="aligncenter size-full wp-image-17818" title="Singleton y Lazy Loading en .NET 4" src="http://dandel.es/wp-content/uploads/2012/01/lazy_loading1.jpg" alt="Singleton y Lazy Loading en .NET 4" width="600" height="340" /></a>Hace tiempo me construí una clase Logger a partir de la de un compañero, añadiendo un par de detalles para adaptarla a mis necesidades. Es una clase muy útil para procesos que se ejecutan en consola o servicios de Windows o WCF. Se instancia de forma estática utilizando el <a title="Patrón de diseño Singleton" href="http://msdn.microsoft.com/en-us/library/ff650316.aspx">patrón Singleton</a>, de modo que cualquier proceso de la aplicación puede acceder a ella y escribir tanto en consola como en un archivo de texto lo que vamos haciendo. Llevo ya bastante tiempo usándola y nunca me ha dado problemas.</p>
<p>Pero el otro día otro compañero que la está utilizando me planteó una duda: le daba la sensación de que la clase estaba ralentizando la ejecución de su aplicación, la cual utilizaba varios subprocesos para realizar ejecuciones bastante costosas. Yo le comenté que había utilizado mi Logger con aplicaciones que también usaba múltiples hilos e incluso con la <a title="Task Parallel Library" href="http://msdn.microsoft.com/es-es/library/dd460717.aspx">Task Parallel Library</a> de .NET 4 y nunca había notado nada raro.</p>
<p>Aún así, me quedó la duda: <strong>¿Es totalmente thread-safe una clase declarada mediante el patrón Singleton?</strong></p>
<p>La respuesta, tras consultar un foro de debate en LinkedIn y un par de blogs, es que&#8230; ¿lo adivináis? Depende de vuestra implementación <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Veámoslo en detalle.</p>
<p><span id="more-17793"></span></p>
<h2>Primera aproximación: El patrón Singleton</h2>
<p>Doy por hecho que conoceréis el patrón singleton, ya que es una de los primeros conceptos que se aprenden cuando empiezas a programar. Pero para refrescar la memoria, consiste en diseñar la implementación de una clase para que se cree una única instancia de la misma en toda la aplicación. Aunque <a title="Singleton anti pattern" href="http://accu.org/index.php/journals/337">hay quien lo llega a considerar un <strong>anti patrón</strong></a> por el hecho de depender del uso de métodos y propiedades estáticas y dificultar el <em>unit testing</em>, yo pienso que puede ser muy útil en ciertos casos, siempre que no se abuse de él. Mi clase <strong>Logger</strong> puede ser un ejemplo perfecto, ya que aseguramos que solamente hay un objeto en toda la aplicación que utiliza un recurso de disco: el archivo de texto en el que se imprime el log.</p>
<p>¿El problema de Singleton? Que no es Thread Safe. Un ejemplo de una <strong>mala implementación</strong> del patrón Singleton sería la siguiente:</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="co1">// Mala implementación!!!</span>
<span class="kw1">public</span> <span class="kw1">sealed</span> <span class="kw4">class</span> MiClase
<span class="br0">&#123;</span>
    <span class="kw1">private</span> <span class="kw1">static</span> MiClase instance<span class="sy0">=</span>null<span class="sy0">;</span>
&nbsp;
    <span class="kw1">private</span> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw1">static</span> MiClase Instance
    <span class="br0">&#123;</span>
        get
        <span class="br0">&#123;</span>
            <span class="kw1">if</span> <span class="br0">&#40;</span>instance<span class="sy0">==</span><span class="kw1">null</span><span class="br0">&#41;</span>
            <span class="br0">&#123;</span>
                instance <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="br0">&#125;</span>
            <span class="kw1">return</span> instance<span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>&nbsp;</p>
<p>En el ejemplo anterior, no es <em>thread safe</em>, ya que dos procesos de la aplicación podrían evaluar al mismo tiempo que (instance == null) = true y generar una nueva instancia de MiClase.</p>
<h2>Segunda aproximación: uso de bloqueos (lock)</h2>
<p>Si el problema es la concurrencia, lo primero que nos viene a la cabeza es utilizar un <em>lock</em> (bloqueo) para proteger el código que genera la instancia del Singleton (o de cualquiera de sus métodos). El lock asegura una barrera de memoria, de forma que solo un proceso puede ejecutar esa porción de código al mismo tiempo hasta que se libera.</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw1">sealed</span> <span class="kw4">class</span> MiClase
<span class="br0">&#123;</span>
    <span class="kw1">private</span> <span class="kw1">static</span> MiClase instance <span class="sy0">=</span> null<span class="sy0">;</span>
    <span class="kw1">private</span> <span class="kw1">static</span> <span class="kw1">readonly</span> <span class="kw4">object</span> padlock <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> <span class="kw4">object</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw1">static</span> MiClase Instance
    <span class="br0">&#123;</span>
        get
        <span class="br0">&#123;</span>
            <span class="kw1">lock</span> <span class="br0">&#40;</span>padlock<span class="br0">&#41;</span>
            <span class="br0">&#123;</span>
                <span class="kw1">if</span> <span class="br0">&#40;</span>instance <span class="sy0">==</span> <span class="kw1">null</span><span class="br0">&#41;</span>
                <span class="br0">&#123;</span>
                    instance <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
                <span class="br0">&#125;</span>
                <span class="kw1">return</span> instance<span class="sy0">;</span>
            <span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>La implementación anterior soluciona el problema a medias, ya que genera otros nuevos. Si os fijáis, una clase externa que quiera instanciar MiClase, lo haría así:</p>
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;">MiClase.<span class="me1">Instance</span><span class="sy0">;</span></pre></div></div>
<p>De forma que cada vez que se accede a la propiedad Instance se produce un bloqueo. Y los bloqueos son peligrosos, ya que pueden dejar &#8220;frita&#8221; nuestra aplicación dependiendo del código que tengan que ejecutar. Así que no es una mala solución en la mayoría de los casos, pero prefiero la siguiente.</p>
<h2>Tercera aproximación: ¡Fuera bloqueos!</h2>
<p>En C# un constructor estático cuando se crea una instancia de la clase o uno de sus miembros estáticos es referenciado, y se ejecuta una sola vez por dominio de aplicación (AppDomain). Dicho esto, con la siguiente implementación aseguramos que la instancia de MiClase se ejecutará una vez pase lo que pase, sin tener que recurrir a comprobaciones o a bloqueos y optimizando al máximo el rendimiento.</p>
<div id="wpshdo_4" class="wp-synhighlighter-outer"><div id="wpshdt_4" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_4"></a><a id="wpshat_4" class="wp-synhighlighter-title" href="#codesyntax_4"  onClick="javascript:wpsh_toggleBlock(4)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_4" onClick="javascript:wpsh_code(4)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_4" onClick="javascript:wpsh_print(4)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_4" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw1">sealed</span> <span class="kw4">class</span> MiClase
<span class="br0">&#123;</span>
    <span class="kw1">private</span> <span class="kw1">static</span> <span class="kw1">readonly</span> MiClase instance <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    <span class="kw1">static</span> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">private</span> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw1">static</span> MiClase Instance
    <span class="br0">&#123;</span>
        get
        <span class="br0">&#123;</span>
            <span class="kw1">return</span> instance<span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<h2>Cuarta aproximación: ¡Ponte al día y usa Lazy Loading de .NET 4!</h2>
<p>Si los ejemplos anteriores eran bastante estándar e incluso independientes del lenguaje, este es solo para programadores de .NET 4. Pero como es mi caso&#8230; ya podéis adivinar que esta última solución es mi preferida. Siempre digo que cuando Microsoft inventa algo, no hay por qué complicarse matando moscas a cañonazos.</p>
<p>A partir de la versión 4 del <em>framework</em> se nos ha incluído la clase <a title="System Lazy (Of T)" href="http://msdn.microsoft.com/en-us/library/dd642331.aspx">System.Lazy&lt;T&gt;</a>, con la que podemos construir de forma &#8220;perezosa&#8221; y completamente <em>thread-safe</em> un objeto de tipo T.</p>
<div id="wpshdo_5" class="wp-synhighlighter-outer"><div id="wpshdt_5" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_5"></a><a id="wpshat_5" class="wp-synhighlighter-title" href="#codesyntax_5"  onClick="javascript:wpsh_toggleBlock(5)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_5" onClick="javascript:wpsh_code(5)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_5" onClick="javascript:wpsh_print(5)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_5" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw1">sealed</span> <span class="kw4">class</span> MiClase
<span class="br0">&#123;</span>
    <span class="kw1">private</span> <span class="kw1">static</span> <span class="kw1">readonly</span> Lazy<span class="sy0">&lt;</span>MiClase<span class="sy0">&gt;</span> lazy <span class="sy0">=</span>
        <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Lazy<span class="sy0">&lt;</span>MiClase<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">=&gt;</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    <span class="kw1">public</span> <span class="kw1">static</span> MiClase Instance <span class="br0">&#123;</span> get <span class="br0">&#123;</span> <span class="kw1">return</span> lazy.<span class="me1">Value</span><span class="sy0">;</span> <span class="br0">&#125;</span> <span class="br0">&#125;</span>
&nbsp;
    <span class="kw1">private</span> MiClase<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>El constructor requiere un <em>delegate</em> para construir el objeto de tipo MiClase, algo que se soluciona en una línea con una simple <em>lambda expression</em>. La solución no utiliza bloqueos y asegura no solo una única instancia, sino también una &#8220;carga perezosa&#8221;, que es otro de los motivos por los que alguien querría utilizar un Singleton. Además, tiene varias propiedades y métodos muy útiles para gestionar la instancia, como</p>
<ul>
<li>IsValueCreated, que nos dice si el tipo está inicializado</li>
<li>Value, que nos devuelve la instancia de tipo T</li>
<li>Finalize() que ejecuta la instrucción Finalize() del <em>IDisposable</em> y libera recursos de memoria</li>
<li>Y otros que podéis consultar en la especificación (<a title="System.Lazy(Of T)" href="http://msdn.microsoft.com/en-us/library/dd642331.aspx">ver</a>)</li>
</ul>
<p>En mi opinión, este último ejemplo es óptimo en cuanto a claridad del código y rendimiento.</p>
<h2>Conclusión</h2>
<p>Espero que os haya sido útil el artículo y que no le perdáis el miedo a los Singleton, muy denostados últimamente. Como siempre, si tenéis alguna sugerencia para mejorar el código, los comentarios son bienvenidos <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/singleton-y-lazy-loading-en-net-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manipular XML en .NET</title>
		<link>http://dandel.es/manipular-xml-en-net</link>
		<comments>http://dandel.es/manipular-xml-en-net#comments</comments>
		<pubDate>Sat, 29 Oct 2011 15:28:37 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Trucos]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[linq]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=232</guid>
		<description><![CDATA[Hace poco tuve que manipular los resultados de una consulta FOR XML de SQL server. La query que me venía de base de datos contenía un campo con una sub-select que se imprimía en un string xml. Dependiendo de unas &#8230; <a href="http://dandel.es/manipular-xml-en-net">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace poco tuve que manipular los resultados de una consulta <a title="Transact-SQL FOR XML" href="http://msdn.microsoft.com/en-us/library/ms345137(v=sql.90).aspx">FOR XML</a> de SQL server. La query que me venía de base de datos contenía un campo con una sub-select que se imprimía en un string xml.</p>
<p>Dependiendo de unas restricciones de seguridad, para ciertos registros se tenían que eliminar algunos de los nodos del XML. Eso me obligaba a trasladar lógica de negocio a base de datos o bien tratar de aprovechar la potencia del framework .NET y <a href="http://msdn.microsoft.com/es-es/library/bb387061(v=VS.90).aspx">Linq to XML</a>.</p>
<p><span id="more-17772"></span></p>
<p>Imaginemos que tenemos un string XML con los datos de contactos de clientes y que, en función de los permisos del usuario, no se permite mostrar el teléfono o la dirección de correo electrónico, por ejemplo. El campo XML que nos devolvería la base de datos para un cliente tendría una estructura de este tipo:</p>
<div id="wpshdo_6" class="wp-synhighlighter-outer"><div id="wpshdt_6" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_6"></a><a id="wpshat_6" class="wp-synhighlighter-title" href="#codesyntax_6"  onClick="javascript:wpsh_toggleBlock(6)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_6" onClick="javascript:wpsh_code(6)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_6" onClick="javascript:wpsh_print(6)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_6" class="wp-synhighlighter-inner" style="display: block;"><pre class="xml" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;Contacts<span class="re2">&gt;</span></span></span>
	<span class="sc3"><span class="re1">&lt;Contact<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;ContactId<span class="re2">&gt;</span></span></span>1<span class="sc3"><span class="re1">&lt;/ContactId<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Name<span class="re2">&gt;</span></span></span>Jose<span class="sc3"><span class="re1">&lt;/Name<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Surname<span class="re2">&gt;</span></span></span>Perez<span class="sc3"><span class="re1">&lt;/Surname<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Email<span class="re2">&gt;</span></span></span>pepe@email.com<span class="sc3"><span class="re1">&lt;/Email<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Phone<span class="re2">&gt;</span></span></span>93 111 22 33<span class="sc3"><span class="re1">&lt;/Phone<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Mobile<span class="re2">&gt;</span></span></span>600 11 22 33<span class="sc3"><span class="re1">&lt;/Mobile<span class="re2">&gt;</span></span></span>
	<span class="sc3"><span class="re1">&lt;/Contact<span class="re2">&gt;</span></span></span>
        <span class="sc3"><span class="re1">&lt;Contact<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;ContactId<span class="re2">&gt;</span></span></span>1<span class="sc3"><span class="re1">&lt;/ContactId<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Name<span class="re2">&gt;</span></span></span>Alberto<span class="sc3"><span class="re1">&lt;/Name<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Surname<span class="re2">&gt;</span></span></span>Garcia<span class="sc3"><span class="re1">&lt;/Surname<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Email<span class="re2">&gt;</span></span></span>berto@email.com<span class="sc3"><span class="re1">&lt;/Email<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Phone<span class="re2">&gt;</span></span></span>93 333 22 11<span class="sc3"><span class="re1">&lt;/Phone<span class="re2">&gt;</span></span></span>
		<span class="sc3"><span class="re1">&lt;Mobile<span class="re2">&gt;</span></span></span>600 33 22 11<span class="sc3"><span class="re1">&lt;/Mobile<span class="re2">&gt;</span></span></span>
	<span class="sc3"><span class="re1">&lt;/Contact<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Contacts<span class="re2">&gt;</span></span></span></pre></div></div>
<p>Para tratar el XML, es conveniente crear un método que reciba por parámetro la información de los datos de contacto de los clientes en un string con formato XML y un enumerado con los permisos del usuario que desea consultar los datos.</p>
<div id="wpshdo_7" class="wp-synhighlighter-outer"><div id="wpshdt_7" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_7"></a><a id="wpshat_7" class="wp-synhighlighter-title" href="#codesyntax_7"  onClick="javascript:wpsh_toggleBlock(7)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_7" onClick="javascript:wpsh_code(7)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_7" onClick="javascript:wpsh_print(7)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_7" class="wp-synhighlighter-inner" style="display: block;"><pre class="csharp" style="font-family:monospace;"><span class="kw1">private</span> <span class="kw1">static</span> <span class="kw4">string</span> ClearXmlInfo<span class="br0">&#40;</span><span class="kw4">string</span> xmlInfo, IEnumerable permissions<span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span class="kw4">string</span> resultXML <span class="sy0">=</span> <span class="kw4">string</span>.<span class="me1">Empty</span><span class="sy0">;</span>
&nbsp;
            <span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw4">string</span>.<span class="me1">IsNullOrWhiteSpace</span><span class="br0">&#40;</span>xmlInfo<span class="br0">&#41;</span><span class="br0">&#41;</span>
                return<span class="sy0">;</span>
&nbsp;
            XElement xElement <span class="sy0">=</span> XElement.<span class="me1">Parse</span><span class="br0">&#40;</span>xmlInfo<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
            var contacts <span class="sy0">=</span> <span class="br0">&#40;</span>from c <span class="kw1">in</span> xElement.<span class="me1">Descendants</span><span class="br0">&#40;</span><span class="st0">&quot;Contact&quot;</span><span class="br0">&#41;</span>
                           select c<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
            <span class="kw1">foreach</span><span class="br0">&#40;</span>contact <span class="kw1">in</span> contacts<span class="br0">&#41;</span>
            <span class="br0">&#123;</span>
                <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span>permissions.<span class="me1">Contains</span><span class="br0">&#40;</span>Permission.<span class="me1">ShowEmail</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
                    xElement.<span class="me1">SetElementValue</span><span class="br0">&#40;</span><span class="st0">&quot;Email&quot;</span>, <span class="kw4">string</span>.<span class="me1">Empty</span><span class="br0">&#41;</span><span class="sy0">;</span>
                <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span>permissions.<span class="me1">Contains</span><span class="br0">&#40;</span>Permission.<span class="me1">ShowPhone</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
                    xElement.<span class="me1">SetElementValue</span><span class="br0">&#40;</span><span class="st0">&quot;Phone&quot;</span>, <span class="kw4">string</span>.<span class="me1">Empty</span><span class="br0">&#41;</span><span class="sy0">;</span>
                <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span>permissions.<span class="me1">Contains</span><span class="br0">&#40;</span>Permission.<span class="me1">ShowMobileNumber</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
                    xElement.<span class="me1">SetElementValue</span><span class="br0">&#40;</span><span class="st0">&quot;Mobile&quot;</span>, <span class="kw4">string</span>.<span class="me1">Empty</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
                resultXML <span class="sy0">+=</span> xElement<span class="sy0">;</span>
            <span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
            <span class="kw1">return</span> resultXML<span class="sy0">;</span>
        <span class="br0">&#125;</span></pre></div></div>
<h2>Conclusiones</h2>
<p>El ejemplo es sencillo, pero espero que sirva para ilustrar que es bastante fácil recorrer y manipular XML con el framework de .NET y Linq.</p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/manipular-xml-en-net/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fauna del asfalto</title>
		<link>http://dandel.es/fauna-del-asfalto</link>
		<comments>http://dandel.es/fauna-del-asfalto#comments</comments>
		<pubDate>Sun, 09 Oct 2011 10:18:49 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Artículos]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=237</guid>
		<description><![CDATA[No es que lleve demasiados años conduciendo, ni tampoco que me pase mucho tiempo en la carretera cada día. Apenas cojo el coche para ir y volver del trabajo en un trayecto de 20 minutos y hacer recados el fin &#8230; <a href="http://dandel.es/fauna-del-asfalto">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>No es que lleve demasiados años conduciendo, ni tampoco que me pase mucho tiempo en la carretera cada día. Apenas cojo el coche para ir y volver del trabajo en un trayecto de 20 minutos y hacer recados el fin de semana. Pero en mi corta experiencia como conductor he llegado a la conclusión de que se puede realizar un completo estudio sociológico observando a los conductores de una ciudad.</p>
<p>No puedo evitar observar a los demás mientras conduzco y pronto me di cuenta de que nuestros hábitos de comportamiento no son demasiado variados. Sin arriesgarme demasiado en generalizar, se podría catalogar a la gran mayoría de conductores en casos típicos y predecibles.</p>
<p><span id="more-17773"></span></p>
<p>Un ejemplo, para entrar en materia: <strong>el del Golf. </strong>Nótese que digo &#8220;el&#8221; y no &#8220;la&#8221;, porque a ellas les suele gustar más llevar un Polo. El del Golf es el típico caso de estudio al que le gusta conducir con el bracito fuera de la ventanilla y cambiarse de carril bruscamente en los atascos intentando situarse en el que avanza más rápido. Suele adelantarte por la derechita cuando vas en la autopista por el carril central solo para girarse a mirarte y hacerte notar lo ofendido que está por verte ir a una velocidad tan absurda. Y de paso enseñarte el peluco, el cigarro o el dedo.</p>
<p>Luego tenemos al típico <strong>transportista</strong>. Ese hombre &#8220;HOMBRE&#8221;, que se tira medio día en la carretera y toda la tarde en el bar y que conduce una furgoneta. El grado de destartalamiento de la furgoneta es indiferente, el caso es ponerla al límite en cada maniobra. Se nota que el vehículo no es suyo, porque tiene unas cuantas abolladuras causadas por aparcar de forma despreocupada. O de oído. Este hombre siempre tiene prisa, así que todos los demás conductores le estorban. Su grado de desesperación es tal que cambia de carril incesantemente haciendo un elegante eslalon, sin señalizar y si te puede hacer frenar presa del pánico, se irá con una sonrisa. Los transportistas, o &#8220;furgoneteros&#8221;, también son conocidos mundialmente por hacer la típica &#8220;finta&#8221; cuando cambian de dirección para girar y meterse en una calle transversal. Ya sabéis, eso tan gracioso de abrirse en la dirección contraria a la que quieren girar, para despistar a sus adversarios. Los adversarios somos todos los demás, se entiende. Seguro que os habéis encontrado a alguno.</p>
<p>De la misma familia de primates, deriva el <strong>conductor de autobús</strong>. En este caso, conductor o conductora, ya es indiferente. Este ejemplar, consciente de la envergadura de su montura, decidió un buen día dejar de cederle el paso a los demás. Desde aquél dia de revelación espiritual, se incorpora a la autopista como un coche de Daytona y entra en las glorietas con el mismo respeto que un cuchillo corta la mantequilla.</p>
<p>Hay ciertos casos que me gusta agrupar como los <strong>padres y madres de familia</strong>. En el caso de los padres, conducen un monovolúmen. Tratándose de ellas, suele ser un todoterreno. Ellos con el monovolúmen tienen todo el espacio que necesitan para que los niños retocen en la parte de atrás sin tocarles los huevos. Ellas con el todoterreno, tienen la seguridad que necesitan para conducir sin miedo a estamparse y que su coche quede abollado de una forma muy antiestética. Mientras más grande y más alto, mejor. Aunque sea para conducir solo por ciudad, da igual. Si se encuentran con un accidente, es mejor que tu coche sea capaz de pasarle por encima al de los demás como si fuera un tanque. Y si es de noche y tienen un coche delante, es mejor deslumbrarle con tus luces a metro y medio del suelo para que sepa que estás ahí.</p>
<p>Y no podría olvidarme de mi favorito: <strong>el del BMW</strong>. Tengo una teoría que he mencionado en alguna ocasión por twitter. Creo firmemente que cuando vas a un concesionario y quieres comprarte un BMW, la marca exige como condición indispensable que sus compradores se sometan a una <strong>lobotomía antes de darles las llaves.</strong> No falla: cuando veas un BMW en la carretera, échate a temblar y si puede ser, apártate de su camino. Prepárate a que te coman el culo, que te adelanten bruscamente mirándote con odio, que te hagan luces aunque vayas a 120 por el carril de la derecha y todo tipo de situaciones inverosímiles que se os pasen por la cabeza. Yo entiendo que conducir un BMW <span style="color: #000000;"><strong>representa mucha presión</strong>, pero aún así no entiendo el patrón de comportamiento común que se suele dar en la gran mayoría de sus conductores. </span></p>
<h2> Todo eso es generalizar, ¿no?</h2>
<p>Pensarás. Pues sí, seguramente esté generalizando pero macho&#8230; uno a veces se desespera con las locuras que le hacen los demás conduciendo. No gano para sustos. Necesitaba desahogarme. Ala :p</p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/fauna-del-asfalto/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Botones en CSS3 puro</title>
		<link>http://dandel.es/botones-en-css-puro</link>
		<comments>http://dandel.es/botones-en-css-puro#comments</comments>
		<pubDate>Sat, 17 Sep 2011 08:06:57 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Trucos]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=213</guid>
		<description><![CDATA[Soy fan #1 de hacer completamente en CSS cosas que hace unos años solo se podían conseguir con JavaScript. El verdadero desafío es conseguir que el resultado sea compatible en todos los navegadores, pero ahí está la gracia. Como ventaja, &#8230; <a href="http://dandel.es/botones-en-css-puro">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dandel.es/wp-content/uploads/2011/09/pure-css3-button.png"><img class="aligncenter size-full wp-image-217" title="Botones en CSS3 puro" src="http://dandel.es/wp-content/uploads/2011/09/pure-css3-button.png" alt="Botones en CSS3 puro" width="382" height="81" /></a></p>
<p>Soy fan #1 de hacer completamente en <strong>CSS</strong> cosas que hace unos años solo se podían conseguir con <strong>JavaScript</strong>. El verdadero desafío es conseguir que el resultado sea compatible en todos los navegadores, pero ahí está la gracia. Como ventaja, te ahorras un montón de código de script innecesario.</p>
<p>Hoy voy a explicar de forma breve cómo están hechos los <strong>botones</strong> de este blog.</p>
<p><span id="more-17770"></span></p>
<h2>Maquetación</h2>
<p>Me gusta utilizar un simple tag <strong>&lt;span&gt;</strong> para el botón, ya que así me aseguro de que no va a provocar ningún comportamiento indeseado en ningún navegador. Si utilizase un &lt;input&gt;, se podría hacer submit sin que yo lo controlase y los <em>anchors </em>(&lt;a&gt;) solo me gusta usarlos en enlace, por cuestiones de SEO. Manías de programador, supongo.</p>
<div id="wpshdo_8" class="wp-synhighlighter-outer"><div id="wpshdt_8" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_8"></a><a id="wpshat_8" class="wp-synhighlighter-title" href="#codesyntax_8"  onClick="javascript:wpsh_toggleBlock(8)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_8" onClick="javascript:wpsh_code(8)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_8" onClick="javascript:wpsh_print(8)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_8" class="wp-synhighlighter-inner" style="display: block;"><pre class="html4strict" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/span.html"><span class="kw2">span</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;button&quot;</span>&gt;</span>Texto del botón <span class="sc1">&amp;raquo;</span><span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/span.html"><span class="kw2">span</span></a>&gt;</span></pre></div></div>
<h2>Estilos CSS</h2>
<p>Esta es la madre de los huevos. El truco para emular el comportamiento del botón al hacer &#8220;clic&#8221; está en ese desplazamiento de 1px respecto al margen superior que le asignamos al evento <strong>.active</strong>.</p>
<p>Como podéis comprobar, los bordes se redondean con propiedades de CSS3 tipo &#8220;border-radius&#8221; y se le da un sombreado al elemento y al texto con &#8220;box-shadow&#8221; y &#8220;text-shadow&#8221;. La ventaja de hacerlo así es que en navegadores antiguos, simplemente se verá cuadrado, sin requerir maquetación adicional. Si estáis conforme con perder esta diferencia visual con tal de ganar en ancho de banda, esta solución es idónea.</p>
<p>Para el fondo, se utiliza un pequeño truco para hacer el degradado y que sea compatible con todos los navegadores. Utilizando esta <a href="http://dandel.es/wp-content/uploads/2011/09/alert-overlay.png">imagen png de 1px de ancho</a> y repitiéndola en el eje horizontal del elemento, ya podemos personalizar el botón con el color que queramos y queda un bonito efecto de degradado.</p>
<div id="wpshdo_9" class="wp-synhighlighter-outer"><div id="wpshdt_9" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_9"></a><a id="wpshat_9" class="wp-synhighlighter-title" href="#codesyntax_9"  onClick="javascript:wpsh_toggleBlock(9)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_9" onClick="javascript:wpsh_code(9)" title="Show code only"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_9" onClick="javascript:wpsh_print(9)" title="Print code"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://dandel.es/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://dandel.es/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_9" class="wp-synhighlighter-inner" style="display: block;"><pre class="css" style="font-family:monospace;"><span class="re1">.button</span><span class="sy0">,</span> <span class="re1">.button</span><span class="re2">:visited</span><span class="br0">&#123;</span>
    <span class="kw1">background</span><span class="sy0">:</span> <span class="kw2">url</span><span class="br0">&#40;</span><span class="st0">&quot;img/alert-overlay.png&quot;</span><span class="br0">&#41;</span> <span class="kw2">repeat-x</span> <span class="kw2">scroll</span> 0 0 <span class="re0">#857968</span><span class="sy0">;</span>
    <span class="kw1">border-bottom</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> rgba<span class="br0">&#40;</span>0<span class="sy0">,</span> 0<span class="sy0">,</span> 0<span class="sy0">,</span> 0.25<span class="br0">&#41;</span><span class="sy0">;</span>
    border-radius<span class="sy0">:</span> <span class="re3">5px</span> <span class="re3">5px</span> <span class="re3">5px</span> <span class="re3">5px</span><span class="sy0">;</span>
    box-shadow<span class="sy0">:</span> 0 <span class="re3">1px</span> <span class="re3">3px</span> rgba<span class="br0">&#40;</span>0<span class="sy0">,</span> 0<span class="sy0">,</span> 0<span class="sy0">,</span> 0.5<span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw1">color</span><span class="sy0">:</span> <span class="re0">#FFFFFF</span><span class="sy0">;</span>
    <span class="kw1">cursor</span><span class="sy0">:</span> <span class="kw2">pointer</span><span class="sy0">;</span>
    <span class="kw1">display</span><span class="sy0">:</span> inline-<span class="kw2">block</span><span class="sy0">;</span>
    <span class="kw1">position</span><span class="sy0">:</span> <span class="kw2">relative</span><span class="sy0">;</span>
    <span class="kw1">text-decoration</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span>
    <span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">13px</span><span class="sy0">;</span>
    <span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">bold</span><span class="sy0">;</span>
    <span class="kw1">line-height</span><span class="sy0">:</span> <span class="nu0">1</span><span class="sy0">;</span>
    <span class="kw1">text-shadow</span><span class="sy0">:</span> 0 <span class="re3">-1px</span> <span class="re3">1px</span> rgba<span class="br0">&#40;</span>0<span class="sy0">,</span> 0<span class="sy0">,</span> 0<span class="sy0">,</span> 0.25<span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">8px</span> <span class="re3">14px</span> <span class="re3">9px</span><span class="sy0">;</span>
    <span class="kw1">margin</span><span class="sy0">:</span><span class="re3">20px</span> <span class="nu0">0</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="re1">.button</span><span class="re2">:visited </span><span class="br0">&#123;</span>
    <span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#857968</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="re1">.button</span><span class="re2">:hover </span><span class="br0">&#123;</span>
    <span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#554236</span><span class="sy0">;</span>
    <span class="kw1">color</span><span class="sy0">:</span> <span class="re0">#FFFFFF</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="re1">.button</span><span class="re2">:active </span><span class="br0">&#123;</span>
    <span class="kw1">top</span><span class="sy0">:</span> <span class="re3">1px</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div>
<p>Espero que os sea útil. Como siempre, estoy abierto a sugerencias para mejorar este truco en CSS3.</p>
<p>Por último, estas cosas no las aprendo yo solo: me basé en el sencillo tutorial que encontré en <a title="Pure CSS3 buttons" href="http://www.zurb.com/article/266/super-awesome-buttons-with-css3-and-rgba">ZURB</a>, con varios ejemplos en distintas tonalidades.</p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/botones-en-css-puro/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 años de Smashing Magazine</title>
		<link>http://dandel.es/5-anos-de-smashing-magazine</link>
		<comments>http://dandel.es/5-anos-de-smashing-magazine#comments</comments>
		<pubDate>Fri, 09 Sep 2011 07:29:06 +0000</pubDate>
		<dc:creator>dandel</dc:creator>
				<category><![CDATA[Artículos]]></category>

		<guid isPermaLink="false">http://dandel.es/?p=210</guid>
		<description><![CDATA[El blog de Smashing Magazine es una de mis principales referencias de consulta en cuanto a diseño y programación web se refiere y hoy cumplen 5 años. Es una excusa perfecta para echar un vistazo a sus mejores artículos, que &#8230; <a href="http://dandel.es/5-anos-de-smashing-magazine">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>El blog de <a title="Smashing Magazine" href="http://www.smashingmagazine.com" target="_blank">Smashing Magazine</a> es una de mis principales referencias de consulta en cuanto a diseño y programación web se refiere y hoy <a title="5º Aniversario de Smashing Magazine" href="http://www.smashingmagazine.com/2011/09/08/to-five-smashing-years-and-a-free-anniversary-ebook-treat/" target="_blank">cumplen 5 años</a>. Es una excusa perfecta para echar un vistazo a sus mejores artículos, que han recopilado en un <strong>eBook</strong> que han puesto a disposición de sus lectores de forma gratuita <a title="Los mejores artículos de Smashing Magazine" href="http://itunes.apple.com/book/best-of-smashing-magazine/id456595375?mt=11" target="_blank">en iTunes</a> y en sus servidores.</p>
<p>También os recomiendo su libro en formato físico, una guía indispensable para aprender cosas sobre tipografía, teoría del color y otros conceptos de diseño web.</p>
<p>Desde este humilde rincón de Internet, ¡felicidades, <strong>Smashing Magazine</strong>! <img src='http://dandel.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dandel.es/5-anos-de-smashing-magazine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

