<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Estudio Joan Mira</title>
        <link>https://www.joanmira.com/es</link>
        <description>Ingeniería de Software y Diseño UI/UX moderno</description>
        <lastBuildDate>Sat, 06 Dec 2025 16:44:06 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>es</language>
        <image>
            <title>Estudio Joan Mira</title>
            <url>https://www.joanmira.com/img/apple-touch-icon.png</url>
            <link>https://www.joanmira.com/es</link>
        </image>
        <copyright>Todos los derechos reservados 2025, Estudio Joan Mira</copyright>
        <item>
            <title><![CDATA[La espiritualidad en Japón]]></title>
            <link>https://www.joanmira.com/es/blog/spirituality-in-japan</link>
            <guid>https://www.joanmira.com/es/blog/spirituality-in-japan</guid>
            <pubDate>Tue, 29 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Las diferencias entre las religiones orientales y occidentales son sustanciales pero tienen algunas cosas en común]]></description>
            <content:encoded><![CDATA[<p>Empiezo a escribir esta nueva entrada del blog sentado en la cama de mi habitación en el <a href="https://www.hotel-graphy.com/">Hotel Graphy</a> (lo recomiendo) en el barrio de Nezu, Tokio. Cerca hay un <a href="https://en.wikipedia.org/wiki/Nezu_Shrine">santuario sintoísta bastante famoso</a> y en primavera se forman colas muy largas para ver las azaleas de sus jardines. Nezu también está muy cerca del popular barrio comercial de <a href="https://es.wikipedia.org/wiki/Ueno_(Tokio)">Ueno</a> con su <a href="https://es.wikipedia.org/wiki/Parque_Ueno">gran parque</a> y <a href="https://es.wikipedia.org/wiki/Zool%C3%B3gico_de_Ueno">zoológico</a> y el barrio tradicional de <a href="https://japonismo.com/blog/yanaka-ginza-tradicion-artesania-tokio">Yanaka</a>.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/azaleas.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/azaleas.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/azaleas-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/azaleas-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/azaleas.jpg" alt="Azaleas en el santuario sintoísta de Nezu" loading="lazy">
        </picture>
        <figcaption>Azaleas en el santuario sintoísta de Nezu</figcaption>
      </figure></p>
<p>La habitación del hotel es pequeña y tiene los típicos muebles y decoración occidental. Me habría gustado despedirme de Japón disfrutando de una habitación de estilo japonés con tatami y futón, pero quizás es mejor quedarse con las ganas. Aspirar a tenerlo <strong>todo</strong> es una quimera que puede desembocar en infelicidad y depresión al no poder conseguirlo, al perderlo (por cualquier razón) o a llegar a un estado de indiferencia y falta de interés por hacer cosas nuevas.</p>
<p>Ya solo queda una semana. La última semana en Japón antes de que me suba a ese avión con billete de solo ida, de vuelta a casa. Por un lado me entristece, ya que aún siento pasión por la cultura japonesa, pero por otro lado también estoy contento de poder volver a vivir rodeado de mi cultura y de los mios. Han sido casi cuatro años los que he pasado en tierras niponas. Se han pasado volando. He disfrutado mucho aprendiendo cosas nuevas casi todos los días (aunque el japonés es <em>tela marinera</em>) y adentrándome en su cultura y tradiciones. Intentaré en las siguentes líneas compartir algo de ese aprendizaje y observaciones, especialmente sobre la vida espiritual de los japoneses y como se compara con la de los occidentales.</p>
<p>Gracias a <a href="https://verdadyreligiones.blogspot.com/">Javier Moreno</a> y <a href="https://rustyecow66.bike">Josep Lluis Mira</a> por inspirarme a escribir sobre ello!</p>
<h3 id="¿son-los-japoneses-religiosos">¿Son los japoneses religiosos?</h3>
<p>La gran mayoría de los japoneses se declaran como &quot;no religiosos&quot;. Sin embargo, cerca del 80% de la población, participa en actividades religiosas o espirituales de tipo sintoísta y budista, a menudo conjuntamente. Adoran tanto a los antepasados y espíritus (<a href="https://es.wikipedia.org/wiki/Kami">kami</a>) en altares domésticos y santuarios públicos como a los budas en templos. Esta singular mezcla de religiones se conoce como <a href="https://es.wikipedia.org/wiki/Shinbutsu_sh%C5%ABg%C5%8D">Shinbutsu shūgō</a>.</p>
<p>Desde comienzos de la era Meiji (1868-1912) hasta el final de la segunda guerra mundial, <a href="https://es.wikipedia.org/wiki/Sinto%C3%ADsmo_estatal">el sintoísmo se convirtió en la religión oficial de Japón</a>. Los santuarios sintoístas fueron &quot;purificados&quot; y el budismo perseguido, acusado de ser una religión extranjera. Hoy en día, se pueden ver templos budistas claramente diferenciados, aunque quedan huellas del sincretismo.</p>
<p>Sintoísmo (神道 Shintō) significa &quot;el camino de los dioses&quot;, y es un sistema politeísta animista que tiene miles de deidades kami. Los kami son deidades de la naturaleza, por ejemplo del sol, el mar, árboles, el arroz e incluso sonidos. Ésta religión se originó en Japón y es casi exclusiva de allí.</p>
<blockquote>
<p>El Shintō es como una religión indígena: no tiene ningún libro santo, ningún fundador ni canon alguno.</p>
</blockquote>
<p>Existen pocos textos sagrados, algunos de ellos son el <a href="https://es.wikipedia.org/wiki/Kojiki">Kojiki</a> y el <a href="https://es.wikipedia.org/wiki/Shoku_Nihongi">Shoku Nihongi</a>.</p>
<p>Otro aspecto importante es que hay muchas escuelas, grupos, sectas y movimientos religiosos derivados del sintoísmo.</p>
<p>En algún momento parece que el tema se les ha ido un poco de las manos, llegando a tener algunos kami de lo más variopinto, como por ejemplo: el dios del váter, el dios de la muerte repentina, el dios de los pobres, el dios de la oportunidad o el dios de las epidemias. Mejor que veáis el vídeo que Nekojitablog ha preparado sobre <strong>los dioses más raros de Japón</strong> para vuestro deleite:</p>
<iframe width="100%" height="394" src="https://www.youtube.com/embed/2kQA9F_PmMc" title="Los dioses más raros de Japón" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<p>El budismo nació en la India, y es una religión basada en las enseñanzas de Buda y la esperanza de alcanzar la Iluminación rompiendo el ciclo de las reencarnaciones. Fue importado a Japón desde China durante el siglo VI. Dentro de Japón comenzaron a surgir diversas escuelas y tendencias, a partir del <a href="https://es.wikipedia.org/wiki/Budismo_mahayana">budismo mahayana</a>, sin embargo la tendencia que prosperó en Japón y que causó un impacto sobre la cultura japonesa es el <a href="https://es.wikipedia.org/wiki/Zen">budismo zen</a> (禅).</p>
<p>La palabra japonesa para religión es <em>shūkyō</em> que viene de shū &quot;secta&quot; y kyō &quot;doctrina&quot;, es decir, doctrina sectaria, por lo que puede tener una connotación peyorativa. Por eso la mayoría de los japoneses claman no pertenecer a ninguna religión. Sin embargo, si tienen que definirse con alguna religión, problablemente prefieran hacerlo con el budismo, ya que es una religión establecida en occidente con un estatus similar al cristianismo o el islam, mientras el sintoísmo puede ser más incomprendido como algo &quot;pagano&quot; o supersticioso.</p>
<p>Por características propias de cada religión y sus énfasis, el sintoísmo, por ejemplo, prácticamente no refiere nada sobre la vida tras la muerte y se concentra en la vida. Además los muertos son tabú pues &quot;ensucian&quot; un lugar, mientras que el budismo presta gran importancia en tener un buen o auspicioso renacimiento en las vidas futuras.</p>
<blockquote>
<p>Una frase común en Japón es que los japoneses &quot;nacen sintoístas y mueren budistas&quot; porque es común que los niños pequeños sean presentados en santuarios sintoístas (por tradición a los 13 días de nacidos) pero casi todos los funerales se realizan en templos budistas</p>
</blockquote>
<p>Por tanto, podemos decir que los japoneses siguen el sintoísmo para las ceremonias relacionadas con las principales etapas de la vida (nacimientos, bodas) o para la prosperidad familiar o personal (éxito financiero, amor, carrera, etc). Mientras que el budismo lo dejan para las ceremonias funerarias o ligadas a la piedad personal para lograr la Iluminación. En cualquier caso, en sus casas es normal encontrar un pequeño altar sintoísta, cerca de una estatua de Buda.</p>
<h3 id="diferencias-entre-los-santurarios-sintoístas-y-los-templos-budistas">Diferencias entre los santurarios sintoístas y los templos budistas</h3>
<p>En japonés, a los <a href="https://es.wikipedia.org/wiki/Templos_budistas_de_Jap%C3%B3n">templos budistas</a> se les llama <em>tera</em> o <em>dera</em> (寺), como el Kiyomizu-dera en Kioto, o se les añade el sufijo <em>-ji</em>, por ejemplo Kinkaku-ji (el templo de oro). A los <a href="https://es.wikipedia.org/wiki/Jinja">santuarios sintoístas</a> se les llama <em>jinja</em> (神社), como por ejemplo Ujigami-jinja, <em>taisha</em> (Fushimi Inari Taisha), <em>jingu</em> (Heian-jingu) o se les añade el sufijo <em>-gu</em> (Tosho-gu).</p>
<h3 id="los-santurarios-sintoístas">Los santurarios sintoístas</h3>
<p>La principal diferencia entre un templo budista y un santuario sintoísta está en el acceso al lugar de culto. Los santuarios Shintô siempre tienen un <a href="https://es.wikipedia.org/wiki/Torii">torii</a> 鳥居 (pórtico sagrado), la mayoría de las veces rojo, que delimita el paso del mundo profano al mundo sagrado de los kami. Es de buena educación hacer una pequeña reverencia antes de pasar por el torii y también hacerlo por un lateral, ya que el centro está reservado para que pasen los kami (dioses).</p>
<p>En el viaje que hize el año pasado a <a href="https://japonismo.com/blog/viajar-a-shikoku-naoshima">Naoshima</a> (una isla con muchos museos de arte), me encontré con un torii en medio de la playa. Nadie sabe por qué la puerta torii está tan lejos del Santuario Ebisu (el Dios de la suerte), pero lo que la gente si que sabe es que si colocas una piedra encima de la puerta, ¡tu oración tiene muchas posibilidades de hacerse realidad!</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/naoshima-torii.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/naoshima-torii.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/naoshima-torii-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/naoshima-torii-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/naoshima-torii.jpg" alt="Torii en la playa de Naoshima, cerca del museo de arte Benesse" loading="lazy">
        </picture>
        <figcaption>Torii en la playa de Naoshima, cerca del museo de arte Benesse</figcaption>
      </figure></p>
<p>En el año 2014 también visité la famosa isla de Miyajima, cerca de Hiroshima (uno de los lugares donde cayó la bomba atómica). Allí hay un torii muy bonito en medio del mar. A veces la marea baja, así que hay que asegurarse de hacer la foto a la hora adecuada! En los últimos años han estado haciendo reparaciones y mejoras, pero ya han terminado, así que prepara la cámara de fotos si piensas visitarlo.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/miyajima-torii.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/miyajima-torii.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/miyajima-torii-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/miyajima-torii-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/miyajima-torii.jpg" alt="Torii en Miyajima, cerca de Hiroshima" loading="lazy">
        </picture>
        <figcaption>Torii en Miyajima, cerca de Hiroshima</figcaption>
      </figure></p>
<p>En la entrada también es común encontrarse con un <a href="https://es.wikipedia.org/wiki/Shimenawa">shimenawa</a> (標縄/注連縄/七五三縄), una gruesa cuerda de paja de arroz y <a href="https://es.wikipedia.org/wiki/Shide">shide</a> (紙垂, 四手), una serpentina de papel con forma zizageada usada por las sacerdotisas miko para la purificación y bendición.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/shide.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/shide.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/shide-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/shide-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/shide.jpg" alt="Shide y shimenawa en un santuario cerca de mi primer apartamento en Otsuka, Tokio" loading="lazy">
        </picture>
        <figcaption>Shide y shimenawa en un santuario cerca de mi primer apartamento en Otsuka, Tokio</figcaption>
      </figure></p>
<p>Después de cruzar el torii, nos encontraremos con una pequeña fuente de piedra en la que habrá uno o varios pequeños cazos (usualmente de bambú). Esta fuente se llama <a href="https://es.wikipedia.org/wiki/Ch%C5%8Dzuya">chôzuya</a> (手水舎) y es donde los fieles se lavan las manos y la boca para estar libres de cualquier contaminación espiritual. El proceso correcto para el ritual de lavarse es el siguiente:</p>
<ul>
<li>Toma el cazo con la mano derecha y lava la mano izquierda con un poco de agua.</li>
<li>Toma el cazo con la mano izquierda y lava la mano derecha.</li>
<li>Toma el cazo con la mano derecha y úsalo para poner agua en tu mano izquierda.</li>
<li>Usa el agua en tu mano izquierda para enjuagarte bien la boca. <strong>NO bebas el agua directamente del cazo!</strong>.</li>
<li>Vuelve a lavarte la mano izquierda con el cazo.</li>
<li>Pon el cazo en vertical para que caiga todo el agua antes de volverlo a poner en el sitio donde estaba.</li>
</ul>
<iframe width="100%" height="394" src="https://www.youtube.com/embed/R4gXGdwGX_s" title="El ritual de lavarse en un santuario japonés" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<blockquote>
<p>El acto de purificación antes de la visita a estos lugares sagrados es muy importante.</p>
</blockquote>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/chozuya.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/chozuya.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/chozuya-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/chozuya-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/chozuya.jpg" alt="Chôzuya hecho con bambú en un templo de Kioto" loading="lazy">
        </picture>
        <figcaption>Chôzuya hecho con bambú en un templo de Kioto</figcaption>
      </figure></p>
<p>El santuario sintoísta se compone principalmente de dos edificios. El <a href="https://es.wikipedia.org/wiki/Haiden_(sinto%C3%ADsmo)">haiden</a> (拝殿), donde se celebran las ceremonias, y el <a href="https://es.wikipedia.org/wiki/Honden">honden</a> (本殿), un edificio cerrado reservado para los kami y los objetos que los personifican. Los dos edificios a veces están conectados entre sí y coronados por gabletes.</p>
<p>Una vez que ya te hayas lavado y purificado, puedes dirigirte al edificio principal. Normalmente hay una pequeña cola de gente esperando su turno para hacer su oración. Cuando llegue tu turno, no te pongas en el centro (por la misma razón que en los torii). Ponte a un lado y haz una reverencia. Si hay una campana, hazla sonar. De esta forma informas a los Dioses que tienen visita. Pon tu ofrenda en la caja de ofrendas sin hacer mucho ruido. La moneda de 5 yenes es la mejor opción porque su nombre se parece a la palabra <em>vínculo</em>, como en una relación. A continuación haz lo siguiente:</p>
<ul>
<li>Dos reverencias</li>
<li>Dos palmadas con tu mano izquierda un poco más elevada</li>
<li>Una reverencia</li>
<li>Junta las dos manos y si quieres cierra los ojos</li>
<li>Haz tu oración. Lo normal es que dure entre 10 y 30 segundos</li>
<li>Cuando termines la oración haz una última reverencia y ya está</li>
</ul>
<iframe width="100%" height="394" src="https://www.youtube.com/embed/rSSCAMEvckw" title="Como rezar en un santuario sintoísta" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<p>Dentro del recinto del santuario, a menudo te encontrarás con pequeñas placas de madera colgadas. Se llaman <a href="https://es.wikipedia.org/wiki/Ema_(sinto%C3%ADsmo)">ema</a> y en ellas, los fieles escriben sus deseos y oran a los kami del santuario para que se cumplan. Por ejemplo, en la época en la que se realizan los exámenes de acceso a la universidad, santuarios como el Yushima Tenjin, en el distrito tokiota de Bunkyō, y el Dazaifu Tenman, en Fukuoka, se llenan de tablillas con mensajes pidiendo un aprobado.</p>
<p>&#39;Bienestar para la familia&#39;, &#39;Prosperidad en los negocios&#39;, &#39;Buena salud&#39; y &#39;Éxito en el amor&#39; son algunos de los mensajes que la gente suele escribir en las ema. &#39;Aprobar los exámenes&#39; es lo que acostumbran a pedir los estudiantes en los 12.000 santuarios de todo Japón consagrados a deidades relacionadas con la educación. Uno de ellos es Dazaifu Tenman, en el que se venera al académico Sugawara Michizane, considerado un dios de los estudios. La gente elige el santuario o templo cuya deidad se adecue al deseo o ruego que se quiera realizar. Una vez en el recinto, se compra una tablilla, se escribe el mensaje y se cuelga en el lugar correspondiente.</p>
<p>No hay reglas sobre cómo escribir en las ema. No obstante, la cara en la que aparece un dibujo corresponde al anverso; el deseo o petición se escribe en el reverso, junto con el nombre, la dirección y otros datos personales, aunque no hace falta poner el nombre si uno no quiere. Las tablillas se pueden colgar en el santuario, pero también es posible realizar la ofrenda en el hogar. Las ema cuestan entre 500 y 1.000 yenes.</p>
<p>Si lo de las cookies en Internet tanto le preocupa a las agencias de protección de datos en Europa, me pregunto que pensarán sobre estas tablillas tan personales y públicas!...</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/ema.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/ema.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/ema-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/ema-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/ema.jpg" alt="Tablas de madera Ema donde se escriben los deseos para los kami" loading="lazy">
        </picture>
        <figcaption>Tablas de madera Ema donde se escriben los deseos para los kami</figcaption>
      </figure></p>
<p>Vía <a href="https://www.nippon.com/es/features/jg00030/">Nippon.com</a> me he enterado del origen de las ema:</p>
<p>En Japón, cuenta la leyenda que los dioses descendieron a caballo al mundo de los mortales. En el período Nara (710-794) era frecuente ofrecer a los templos budistas y santuarios sintoístas un caballo que sirviera de medio de transporte a las deidades. Posteriormente, se simplificó esa costumbre: en lugar de un animal vivo, se sustituyó por una tablilla de madera con un dibujo de un caballo, una ema. Este término se escribe con dos ideogramas chinos, e –dibujo– y ma –caballo–.</p>
<p>El calendario propio de la astrología china viene utilizándose en Japón desde mediados del siglo VI. Cada año corresponde a uno de estos doce animales, a saber: la rata, el buey, el tigre, el conejo, el dragón, la serpiente, el caballo, la oveja, el mono, el gallo, el perro y el jabalí. Recientemente, el dibujo que aparece en las ema no se limita al caballo, sino que también se utilizan otros animales, en función del año que toque.</p>
<p>Ejemplos de santuarios sintoístas:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/kiyomizu-dera.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/kiyomizu-dera.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/kiyomizu-dera-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/kiyomizu-dera-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/kiyomizu-dera.jpg" alt="El santuario Kiyomizu-dera está en lo alto de una montaña en Kioto y es Patrimonio de la Humanidad" loading="lazy">
        </picture>
        <figcaption>El santuario Kiyomizu-dera está en lo alto de una montaña en Kioto y es Patrimonio de la Humanidad</figcaption>
      </figure></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/fushimi-inari.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/fushimi-inari.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/fushimi-inari-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/fushimi-inari-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/fushimi-inari.jpg" alt="El santuario Fushimi Inari en Kioto es muy popular por sus múltiples torii rojos. Foto de Junsheng Chen en Unsplash" loading="lazy">
        </picture>
        <figcaption>El santuario Fushimi Inari en Kioto es muy popular por sus múltiples torii rojos. Foto de Junsheng Chen en Unsplash</figcaption>
      </figure></p>
<h3 id="los-templos-budistas">Los templos budistas</h3>
<p>La entrada de los templos budistas suele tener una gran puerta con techo llamada <a href="https://en.wikipedia.org/wiki/Mon_(architecture)">Mon</a>. También se suele usar el sufijo -mon para designar las puertas, por ejemplo &quot;omote-mon&quot; (puerta principal). A menudo, en los laterales del Mon, nos encontraremos las deidades protectoras <a href="https://es.wikipedia.org/wiki/Ni%C5%8D">Niō</a> (仁王).</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/mon.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/mon.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/mon-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/mon-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/mon.jpg" alt="Nandai-mon, la gran puerta del sur en el templo Todai-ji en Nara" loading="lazy">
        </picture>
        <figcaption>Nandai-mon, la gran puerta del sur en el templo Todai-ji en Nara</figcaption>
      </figure></p>
<p>El templo budista se compone de varios edificios. El más importante es el <a href="https://es.wikipedia.org/wiki/Sala_Principal_(budismo_japon%C3%A9s)">kondô</a>, también conocido como <em>Butsuden</em>, <em>Butsu-dō</em>, <em>konpon-chūdō</em>, y <em>hondō</em> (el salón dorado). Es donde está la estatua del culto.</p>
<p>Otro edificio muy fácil de reconocer que indica que se trata de un templo budista es la <a href="https://es.wikipedia.org/wiki/Pagoda">pagoda</a>. Se trata de una evolución de la estupa india. En japonés se llama <em>tô</em> y puede tener de tres a cinco pisos.</p>
<p><a href="https://www.instagram.com/explore/locations/11355804/chureito-pagoda/">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/pagoda.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/pagoda.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/pagoda-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/pagoda-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/pagoda.jpg" alt="Foto clásica del monte Fuji desde la Pagoda Chureito en Fujiyoshida" loading="lazy">
        </picture>
        <figcaption>Foto clásica del monte Fuji desde la Pagoda Chureito en Fujiyoshida</figcaption>
      </figure></a></p>
<p>Las estatuas de diferente tamaño que representan a Buda, o a los bodhisattvas, también están muy presentes en el complejo. Los templos budistas suelen tener un jardín (un <a href="https://es.wikipedia.org/wiki/Karesansui">jardín seco</a> en el caso de la rama zen), iluminado normalmente por faroles de piedra <a href="https://es.wikipedia.org/wiki/T%C5%8Dr%C5%8D">Tōrō</a> (灯籠 o 灯篭, 灯楼).</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/karesansui.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/karesansui.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/karesansui-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/karesansui-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/karesansui.jpg" alt="Jardín seco en el jardín del castillo de Takamatsu" loading="lazy">
        </picture>
        <figcaption>Jardín seco en el jardín del castillo de Takamatsu</figcaption>
      </figure></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/big-budha.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/big-budha.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/big-budha-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/big-budha-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/big-budha.jpg" alt="Gran Buda en Kamakura" loading="lazy">
        </picture>
        <figcaption>Gran Buda en Kamakura</figcaption>
      </figure></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/budha.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/budha.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/budha-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/budha-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/budha.jpg" alt="Estatua de Buda en Nikko" loading="lazy">
        </picture>
        <figcaption>Estatua de Buda en Nikko</figcaption>
      </figure></p>
<p>Cuando fui a <a href="https://es.wikipedia.org/wiki/Nikk%C5%8D_(Tochigi)">Nikko</a> (al norte de Tokio), visité el <a href="https://en.wikipedia.org/wiki/T%C5%8Dsh%C5%8D-g%C5%AB">santuario de Tōshōgū</a> (東照宮). Es un memorial espectacular para <a href="https://es.wikipedia.org/wiki/Tokugawa_Ieyasu">Tokugawa Ieyasu</a>, el <a href="https://es.wikipedia.org/wiki/Sh%C5%8Dgun">shogun</a> que gobernó Japón durante 250 años hasta el 1868. En el santuario se pueden encontrar tanto elementos sintoístas como budistas, lo cual era común hasta <a href="https://es.wikipedia.org/wiki/Era_Meiji">la era Meiji</a>.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/toro.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/toro.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/toro-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/toro-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/toro.jpg" alt="Faroles de piedra en el santuario Toshogu de Nikko" loading="lazy">
        </picture>
        <figcaption>Faroles de piedra en el santuario Toshogu de Nikko</figcaption>
      </figure></p>
<p>Otro de los rituales típicos en los templos budistas es el de quemar un incienso llamado <a href="https://en.wikipedia.org/wiki/Japanese_incense">Osenko</a> (palitos de incienso). En los templos particularmente populares, este ritual de quemar incienso puede producir bastante humo, así que no te alarmes demasiado. A algunas personas les gusta llevar el humo hacia sus caras. Esto se debe a que se cree que el humo posee poderes curativos mágicos.</p>
<p>Si decides comprar un paquete de incienso, <strong>no los enciendas usando otros que ya están encendidos</strong>, ya que se considera un símbolo de asumir los pecados de otros.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/incense.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/incense.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/incense-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/incense-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/incense.jpg" alt="Incienso quemándose en un templo budista" loading="lazy">
        </picture>
        <figcaption>Incienso quemándose en un templo budista</figcaption>
      </figure></p>
<p>Ejemplos de templos budistas:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/byodoin.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/byodoin.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/byodoin-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/byodoin-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/byodoin.jpg" alt="El templo Byōdō-in en Uji es patromonio de la Humanidad y está cerca de Kioto" loading="lazy">
        </picture>
        <figcaption>El templo Byōdō-in en Uji es patromonio de la Humanidad y está cerca de Kioto</figcaption>
      </figure></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/kinkakuji.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/kinkakuji.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/kinkakuji-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/kinkakuji-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/kinkakuji.jpg" alt="El templo Kinkaku-ji (conocido como pabellón de oro) es uno de los más bonitos y también es patromonio de la Humanidad" loading="lazy">
        </picture>
        <figcaption>El templo Kinkaku-ji (conocido como pabellón de oro) es uno de los más bonitos y también es patromonio de la Humanidad</figcaption>
      </figure></p>
<h3 id="otras-actividades-y-costumbres-espirituales">Otras actividades y costumbres espirituales</h3>
<h4 id="los-omamori">Los omamori</h4>
<p>Una de las cosas que más me gusta hacer cuando visito un santuario o templo es comprar un amuleto japonés. Se llaman <a href="https://en.wikipedia.org/wiki/Omamori">omamori</a> y proporcionan varias formas de suerte y protección. El más curioso que compré proporciona protección en la carretera, para evitar accidentes de tráfico. Suelen costar entre 500 y 2000 yenes, aunque los hay más caros.</p>
<p>La palabra <em>omamori</em> (守り) significa &quot;protección&quot;. Originalmente estaban hechos de papel o madera, pero actualmente son pequeños artículos que generalmente se guardan dentro de unas bolsitas de seda brocada y pueden contener una oración o una inscripción religiosa.</p>
<p>Los <em>omamori</em> se vuelven sagrados mediante el uso de rituales. Son también una forma de donación de los visitantes del templo o santuario. También se suelen usar como regalo para desearle buenos deseos a un amigo, compañero o familiar o para protegerse de la mala suerte. A menudo, se ven en bolsos, colgados en correas de teléfonos móviles, en coches, etc.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/omamori.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/omamori.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/omamori-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/omamori-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/omamori.jpg" alt="By Leongboy1 - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=5048916" loading="lazy">
        </picture>
        <figcaption>By Leongboy1 - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=5048916</figcaption>
      </figure></p>
<h4 id="los-baños-en-el-bosque-y-los-power-spots">Los baños en el bosque y los power spots</h4>
<p>Otra de mis actividades favoritas es practicar el <em>shinrin-yoku</em> (forest bathing) y visitar los <em>power spots</em>. En 1982, el Ministerio de Agricultura de Japón creó el término <em>shinrin-yoku</em>, que se traduce como &quot;baño en el bosque&quot; o &quot;absorción de la atmósfera del bosque&quot;. La práctica consiste simplemente en pasar tiempo en la naturaleza, usando el término de bañarse como una metáfora. No hace falta hacer caminatas o carreras intensas. El objetivo es vivir el momento presente mientras se sumergen los sentidos en las vistas y los sonidos de un entorno natural.</p>
<p>Esta práctica también ayuda a reducir la presión arterial, la frecuencia cardíaca y los niveles de hormonas dañinas, como el cortisol, la cual el cuerpo produce cuando estamos estresados. Esto puede ayudar a ponernos en un estado más tranquilo y relajado. Ciertos estudios han encontrado que simplemente pasando de 10 a 20 minutos al día al aire libre puede aumentar el bienestar y la felicidad, y disminuir la cantidad de estrés.</p>
<p>Durante uno de estos paseos por el bosque, es posible que nos encontremos con un <em>power spot</em>. Es como un lugar espiritual, donde puedes sentirte en sintonía con la naturaleza o los elementos circundantes. A veces se trata de un gran power spot, como un templo muy importante y otras veces puede ser un árbol, una cascada, un monte, un lago o algo relacionado con la naturaleza. El caso es que normalmente sentirás una energía espiritual o magnética distinta al estar cerca de ese power spot. No hace falta ser un chamán para sentirlo...</p>
<p>En otros países también existen estos sitios con una energía especial, por ejemplo: Sedona en los Estados Unidos, Stonehenge en el Reino Unido y Uluru (Ayers Rock) en Australia. En Japón, hay gente que ha escrito libros y listas con <a href="https://allabout-japan.com/en/article/5484/">los mejores power spots del país</a>.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/power-spot.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/power-spot.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/power-spot-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/power-spot-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/power-spot.jpg" alt="Durante un paseo por el monte Mitake, me encontré con un árbol muy grande que es considerado como un power spot" loading="lazy">
        </picture>
        <figcaption>Durante un paseo por el monte Mitake, me encontré con un árbol muy grande que es considerado como un power spot</figcaption>
      </figure></p>
<h4 id="el-hatsumōde">El hatsumōde</h4>
<p>Via <a href="https://www.nippon.com/es/features/jg00030/">Nippon.com</a>, he aprendido que existe una costumbre llamada <a href="https://es.wikipedia.org/wiki/Hatsum%C5%8Dde">hatsumōde</a> que consiste en visitar un templo budista o un santuario sintoísta durante los primeros días del año para preguntar si tendrás buena suerte durante los próximos doce meses. El ritual consiste en consultar una especie de oráculo que ofrece sus mensajes por escrito. Se trata de los <a href="https://es.wikipedia.org/wiki/Omikuji">omikuji</a>. Algunos de los resultados pueden ser:</p>
<ul>
<li><em>Kichi</em>: buena suerte</li>
<li><em>Kyō</em>: mala suerte</li>
<li><em>Daikichi</em>: muy buena suerte</li>
</ul>
<p>Se cree que los <em>omikuji</em> comenzaron a utilizarse en el período Edo (1603-1868). Su origen se remontaría a la costumbre de consultar la voluntad divina a la hora de decidir quién debería gobernar el país, con quién debería casarse uno o quién debería ser su sucesor.</p>
<p>El proceso consisten en dirigirse al mostrador correspondiente y abonar el importe del <em>omikuji</em>. Ssuele ser de entre 100 y 200 yenes. Entonces, de una caja o cilindro de madera se saca un palillo en el que viene inscrito un número; este corresponde al mensaje que dictaminará la buena o mala suerte del portador. Además de los distintos grados de fortuna, la tira de papel contiene información sobre aspectos como el amor, la salud y los estudios. Si se obtiene un mensaje de buena fortuna, se puede guardar, por ejemplo, en la cartera, pero en el caso de que el resultado haya sido malo, se ata la tira de papel en un árbol o tablón del santuario con el objetivo de rogar a los dioses que cambien nuestra suerte.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/omikuji.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/omikuji.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/omikuji-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/omikuji-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/omikuji.jpg" alt="Omikujis con malos resultados atados a un tablón del santuario. Foto de freeimageslive.co.uk" loading="lazy">
        </picture>
        <figcaption>Omikujis con malos resultados atados a un tablón del santuario. Foto de freeimageslive.co.uk</figcaption>
      </figure></p>
<p>Cada vez son más los tipos de <em>omikuji</em> disponibles. Por ejemplo, los hay específicos para saber qué nos depara el destino en cuestiones amorosas, o con explicaciones en inglés o chino para los turistas extranjeros. También podemos encontrar formatos originales, como figuritas de cerámica con forma de gato y un daruma de madera; los mensajes vendrían insertados dentro. Aunque el resultado sea malo y se ate la tira de papel a un árbol, siempre queda la opción de quedarse con la figurita o el amuleto como recuerdo de viaje.</p>
<p>Cuentan que durante el período Kamakura (1192-1333), cuando los agricultores no se ponían de acuerdo en el orden de riego de los arrozales o los pescadores no conseguían llegar a un entendimiento sobre la asignación de los caladeros, escribían sus nombres en un trocito de papel y se encomendaban a los dioses; realizaban una ceremonia de purificación antes de sacar uno a uno los papelitos para tomar una decisión. Desde tiempos antiguos existe en Japón la creencia de que tanto las deidades sintoístas como las budistas son justas, del mismo modo que las casualidades, de ahí que los omikuji se utilizaran también como instrumento para unificar a las comunidades sin complicaciones.</p>
<h4 id="el-setsubun">El Setsubun</h4>
<p>El 3 de febrero se celebra el <a href="https://es.wikipedia.org/wiki/Setsubun">setsubun de primavera</a> (節分). En asociación con el Año Nuevo Chino, puede ser considerado como un tipo de Nochevieja, y además está acompañado por un ritual especial para echar toda la maldad del año anterior y alejar los demonios en el nuevo año. Este ritual es conocido como <em>mamemaki</em>, que significa literalmente dispersar habichuelas.</p>
<p>El <em>mamemaki</em> es usualmente llevado a cabo por el <em>toshiotoko</em> de la casa, por ejemplo, el hombre que nació en el año del animal correspondiente del zodiaco chino, o el hombre cabeza de la casa. Son lanzadas un tipo en particular de semillas de soja llamadas <em>irimame</em> a la puerta o a un miembro de la familia que lleva una máscara de <a href="https://es.wikipedia.org/wiki/Oni_(folklore_japon%C3%A9s)">oni</a>, mientras los que lanzan dicen &quot;<em>Oni wa soto! Fuku wa uchi!</em>&#39;&#39; (鬼は外福は内). El significado literal de las palabras es &quot;¡Fuera los oni, que venga la buena suerte!&quot; Las semillas son lanzadas de forma simbólica para purificar la casa echando fuera los malos espíritus y alejando la mala suerte y la mala salud con ellos. Luego, como parte de traer la buena suerte, se acostumbra comer las semillas de soja, una por cada año de vida, y en algunos lugares, una por cada año de vida más una por el año venidero a modo de traer buena suerte para ese año.</p>
<h4 id="fin-de-año-y-año-nuevo-japonés">Fin de año y año nuevo japonés</h4>
<p>El <a href="https://es.wikipedia.org/wiki/A%C3%B1o_nuevo_japon%C3%A9s">oshogatsu</a> (正月) es la fiesta más importante en el calendario japones. En tiempos antiguos esta fecha coincidía con el calendario chino, al inicio de la primavera; pero desde 1873 esta fecha fue ajustada al calendario gregoriano y por ende coincide con el 1 de enero.</p>
<p>Los preparativos empiezan a finales de Diciembre. Las casas se decoran a la manera tradicional: una soga sagrada de paja (<a href="https://es.wikipedia.org/wiki/Shimenawa">shimenawa</a>) con tiras de papel blanco (<em>shide</em>) colgando se coloca sobre la puerta principal para evitar que los espíritos malignos entren. También es típico poner <a href="https://es.wikipedia.org/wiki/Kadomatsu">kadomatsu</a> que son pinos decorativos que representan la longevidad. Debe ponerse el 14 de diciembre porque después de esa fecha está prohibido ir a cortar pinos a las montañas. Este árbol decorativo se mantiene hasta el 14 de enero.</p>
<p>La celebración dura unos tres días y la gente dedica la mayor parte del tiempo a su familia. Es costumbre jugar a juegos tradicionales y comer platos especialmente preparados para la celebración. El 31 de Diciembre también se organiza una profunda limpieza de las casas (<em>ōsōji</em>) para dar la bienvenida al nuevo año y no seguir teniendo influencias impuras.</p>
<p>Durante la celebración se entregan los <em>seibo</em>, regalos elegidos para aquellas personas de quienes se recibió ayuda durante el transcurso del año, y el primero de enero se entregan todas las cartas de saludos de año nuevo que se guardaron en la oficina de correos para ser repartidas en un envío especial cada año.</p>
<p>Es también muy importante saldar las deudas antes de fin de año y comer <em>toshikoshi-soba</em> con la esperanza de que las fortunas familiares se extiendan como los largos fideos.</p>
<p>En Nochevieja (大晦日 Ōmisoka) mucha gente visita los templos budistas para oír las campanas tañer 108 veces a medianoche (<em>joya no kane</em>). La razón de que se tañan 108 veces es la creencia budista de que los seres humanos están acosados por 108 deseos o pasiones terrenales (<em>bonnō</em>), disipándose una con cada golpe.</p>
<h4 id="el-obon-y-el-hanabi">El Obon y el Hanabi</h4>
<p>El <a href="https://es.wikipedia.org/wiki/O-bon">O-bon</a> es una festividad de culto a los antepasados que tiene lugar en julio o agosto. Es una tradición semirreligiosa que honra a los espíritus de los antepasados fallecidos. Esta costumbre de origen budista ha acabado convirtiéndose en parte de la cultura de Japón, no solo en los aspectos religioso y cultural, sino también como una ocasión de interacción social con la comunidad. Viene siendo celebrado desde hace 500 años y tradicionalmente incluye danzas y bailes como el <a href="https://es.wikipedia.org/wiki/Bon_Odori">Bon Odori</a>, o festivales como el <a href="https://es.wikipedia.org/wiki/Gozan_no_Okuribi">Gozan no Okuribi</a>.</p>
<p>El final del Bon Odori está marcado con la celebración del <em>tōrō nagashi</em>. Se hacen flotar pequeños faroles de papel con velas encendidas dentro en ríos y costas para señalar el camino a los espíritus ancestrales cuando éstos se marchan. Se suele escribir un mensaje en el exterior del farol de papel.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/toro-nagashi.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/toro-nagashi.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/toro-nagashi-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/toro-nagashi-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/toro-nagashi.jpg" alt="Aniversario de la bomba de Hiroshima. 6 de agosto" loading="lazy">
        </picture>
        <figcaption>Aniversario de la bomba de Hiroshima. 6 de agosto</figcaption>
      </figure></p>
<p>Durante estos meses también se celebra el <a href="https://es.wikipedia.org/wiki/Festival_japon%C3%A9s#Hanabi_(%E8%8A%B1%E7%81%AB)">Hanabi</a> (花火, はなび), formada por los caracteres &quot;flor&quot; y &quot;fuego&quot;. Son espectáculos de fuegos artificiales que iluminan el cielo en todas las regiones de Japón. La gente suele asistir a ellos vistiendo con <a href="https://es.wikipedia.org/wiki/Yukata">yukata</a>.</p>
<h3 id="el-cristianismo-en-japón">El Cristianismo en Japón</h3>
<p>Vía <a href="https://es.wikipedia.org/wiki/Religi%C3%B3n_en_Jap%C3%B3n#Cristianismo">Wikipedia</a> podemos saber que el cristianismo también está muy presente en la cultura japonesa. Este llegó en 1549 de parte del misionero español Francisco Javier, y fue difundido por misioneros europeos, sobre todo por jesuitas; estos fueron conocidos en Japón como <em>Kirishitan</em> (切支丹).</p>
<p>Al principio, las autoridades japoneses apoyaban la presencia de la religión como una forma de contrarrestar el budismo; sin embargo, poco después vieron que los europeos estaban conquistando territorios en Asia a base de la conversión religiosa y los veían como una amenaza. Por ende, a comienzos de la era Tokugawa, en el siglo XVII, se prohibió el cristianismo durante dos siglos hasta la Restauración Meiji, cuando se permitió la llegada de misioneros cristianos.</p>
<p>Sin embargo, durante la Segunda Guerra Mundial se proscribió el cristianismo en todas sus formas. Desde 1947 se considera una religión libre de practicar, y actualmente consiste en el 1% de la población japonesa, a pesar de que la mayoría celebra fiestas de origen cristiano como la Navidad o el día de San Valentín.</p>
<p>A la hora de casarse, la mayoría de los japoneses prefieren hacerlo en un santuario con un sacerdote sintoísta y una ceremonia tradicional. El novio suele llevar un kimono de boda japonés y la novia viste un kimono de novia blanco llamado <a href="https://es.wikipedia.org/wiki/Kimono#Kimonos_femeninos">uchikake</a> con un tocado blanco. En otros casos, los novios prefieren casarse en una iglesia con un sacerdote cristiano, aunque más que por fé, lo hacen porque está de moda. También puede darse el caso de que los novios celebren dos ceremonias, una sintoísta y otra cristiana.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/wedding.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/wedding.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/spirituality-in-japan/images/wedding-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/spirituality-in-japan/images/wedding-mobile.jpg" />
          <img class="image" src="/blog/spirituality-in-japan/images/wedding.jpg" alt="Novios haciéndose las típicas fotos de boda en los jardines de Kenroku-en, Kanazawa" loading="lazy">
        </picture>
        <figcaption>Novios haciéndose las típicas fotos de boda en los jardines de Kenroku-en, Kanazawa</figcaption>
      </figure></p>
<h3 id="conclusiones">Conclusiones</h3>
<p>El concepto de religión en Japón difiere bastante de la religión en la cultura occidental. La espiritualidad es bastante ecléctica y los rezos y ritos están más centrados en conseguir bienestar y beneficios mundanos que en seguir doctrinas o creencias.</p>
<p>Sin tener un gran conocimiento sobre ninguna religión en particular, la sensación que tengo <strong>a nivel superficial</strong>, es que los japoneses son bastante supersticiosos y practican su espiritualidad de una forma sana y desenfadada, sin las reglas que se ven en el islamismo o cristianismo. No hay obligación de ir al templo o rezar cada x días. Cada uno lo hace a su ritmo, cuando le parece bien y no es juzgado por ello. Tampoco hay una sensación de que vas a ser castigado con ir al infierno. En Japón, todo parece mucho más pragmático y simple. Ofrenda, oración y listo. Seguramente los monjes de los templos y santuarios tendrán mucha actividad espiritual y sacrificios, pero los japoneses que visitan estos templos y santuarios no parece que le dediquen mucho tiempo a la oración.</p>
<p>Además, muchos de los rituales son bastante estéticos y fáciles de seguir. Lavarse las manos y boca, respirar incienso, dar algunas palmadas, hacer algunas reverencias, lanzar habichuelas, comer esto o lo otro... El acto de purificación parece ser algo más físico y en contacto con la naturaleza. En el cristianismo y el islam, parece que los fieles tienen que hacer más trabajo (físico e intelectual) para practicar la fé y tener una conciencia saludable.</p>
<h4 id="¿condiciona-la-religión-el-buen-comportamiento-de-las-personas">¿Condiciona la religión el buen comportamiento de las personas?</h4>
<p>En occidente existe la creencia de que las personas religiosas (no extremistas) suelen ser &quot;buenas personas&quot;. El clásico estereotipo de la familia que asiste a la iglesia todos los Domingos y se relaciona con la comunidad, participa en actividades sociales, lee la Biblia, etc. Quizás hoy en dia esa imagen se ha diluido un poco, pero sigue siendo bastante significativa. Los principios éticos y el comportamiento de los cristianos (practicantes o no) también suele basarse en <a href="https://es.wikipedia.org/wiki/Diez_Mandamientos">los 10 mandamientos</a>.</p>
<p>En oriente y más concretamente en Japón, el concepto que más prima para definir el buen comportamiento de los japoneses es el <a href="https://es.wikipedia.org/wiki/Wa_(Jap%C3%B3n)">Wa</a>. Para explicarlo, nadie mejor que la autora del libro &quot;<a href="https://www.lecturalia.com/libro/108583/wa-la-via-japonesa-de-la-armonia">Wa. La vía japonesa de la armonía</a>&quot;.</p>
<blockquote>
<p>Wa significa armonía, pero como todas las palabras japonesas evoca mucho más. Wa es, de hecho, todo lo que es suave, sereno y moderado, pero también hace referencia a todo lo que es japonés. Wa es un prefijo que se aplica tanto a cosas como a conceptos. A través de wa, Japón nos enseña su mejor lección: la belleza, la alegría y el civismo se construyen con grandes dosis de compromiso, mediante el trabajo continuo en uno mismo, ejercitando la paciencia, haciendo las cosas con cuidado y nunca a expensas de otros, porque una felicidad verdaderamente duradera es un proyecto de todos y nunca de uno solo. — Laura Imai Messina</p>
</blockquote>
<p>Por tanto, en Japón, mantener la armonía, evitar conflictos y llevarse bien con los demás son de suma importancia, ya que es una isla relativamente pequeña con 130 millones de personas en ella. Por eso también existen fenómenos sociales como el <a href="https://es.wikipedia.org/wiki/Honne_y_tatemae">honne y tatemae</a> que impregnan las interacciones diarias de los japoneses y contribuyen a facilitar la armonía.</p>
<p>Respecto a como influye la religión en su comportamiento, hay que destacar que en el budismo no hay un ser divino que decida quién va al cielo o al infierno. Por el contrario, se cree en una justicia divina o energía invisible llamada <a href="https://es.wikipedia.org/wiki/Karma">karma</a>, la cual se genera a partir de los actos de las personas y nos castiga cuando hacemos algo malo o nos bendice cuando hacemos algo bueno.</p>
<p>Hasta aquí llego. Si deseas compartir alguna opinión o piensas que me he olvidado de algo que merece ser incluido, por favor escribe un comentario. Me alegrará mucho poder mejorar la entrada con más información.</p>
<p>En la próxima entrada del blog hablaré sobre la estética japonesa.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/spirituality-in-japan/images/cover.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo pasar la inspección de motos "shaken" en Tokio por ti mismo]]></title>
            <link>https://www.joanmira.com/es/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself</link>
            <guid>https://www.joanmira.com/es/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself</guid>
            <pubDate>Sat, 18 Jun 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Como todo en Japón, es más fácil si sabes hablar japonés correctamente, pero no te preocupes, no es tan difícil como podrías pensar]]></description>
            <content:encoded><![CDATA[<p>La <a href="https://en.wikipedia.org/wiki/Motor-vehicle_inspection_(Japan)">inspección de vehículos a motor</a> (<em>shaken</em> o inspección JCI) es una inspección obligatoria para todos los vehículos que circulan por Japón que debe realizarse cada 2 años. El <strong><em>shaken</em> es obligatorio sólo para las motocicletas de más de 250cc</strong>. En España, esta inspección se llama ITV y también es obligatoria (para las motos a partir de 125cc) cada dos años una vez que la moto tiene más de 4 años. En el Reino Unido se llama MOT. Las motos de más de 3 años deben pasarla cada año. La ventaja es que hay 2.800 instalaciones de ITV para motos en el Reino Unido. </p>
<p>El mes pasado tuve que pasar el proceso de renovación de la shaken para mi Kawasaki W800 en Tokio, así que pensé que podría ser una buena idea compartir mi experiencia. Con suerte, puede ayudar a reducir la ansiedad de algunos <em>gaijins</em> que, como yo, a veces se preocupan demasiado por los trámites administrativos japoneses.</p>
<h3 id="comprueba-la-fecha-de-caducidad">Comprueba la fecha de caducidad</h3>
<p>En primer lugar, comprueba la fecha de caducidad de tu <em>saken</em> en el certificado de inspección de la JCI (<em>syakensyo</em>):</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1.jpg" alt="Ejemplo del certificado JCI shaken publicado en OIST" loading="lazy">
        </picture>
        <figcaption>Ejemplo del certificado JCI shaken publicado en OIST</figcaption>
      </figure></p>
<p>Para los documentos oficiales, en lugar del calendario occidental (<em>seireki</em>), utilizan el calendario tradicional japonés, que se basa en el periodo de reinado del emperador.</p>
<p>Estos son los períodos:</p>
<ul>
<li>2019 - Presente ~ Era Reiwa</li>
<li>1989 - 2019 ~ Era Heisei</li>
<li>1926 - 1989 ~ Era Showa</li>
<li>1912 - 1926 ~ Era Taisho</li>
</ul>
<table>
<thead>
<tr>
<th>Años en Occidente</th>
<th>Años en Japón</th>
</tr>
</thead>
<tbody><tr>
<td>2024</td>
<td>令和6年</td>
</tr>
<tr>
<td>2023</td>
<td>令和5年</td>
</tr>
<tr>
<td>2022</td>
<td>令和4年(or 平成34年)</td>
</tr>
<tr>
<td>2021</td>
<td>令和3年(or 平成33年)</td>
</tr>
<tr>
<td>2020</td>
<td>令和2年(or 平成32年)</td>
</tr>
<tr>
<td>2019</td>
<td>令和元年(or 平成31年)</td>
</tr>
<tr>
<td>2018</td>
<td>平成30年</td>
</tr>
</tbody></table>
<h3 id="prepara-los-documentos">Prepara los documentos</h3>
<p>Estos son los documentos que necesitarás:</p>
<ul>
<li><p><strong>Certificado de inspección del JCI (自動車検査証 / <em>syakensyo</em>)</strong>:
Este es el documento azul del que hablamos en el apartado anterior. Yo suelo llevar una copia cuando voy con la moto y guardo el original en casa. Contiene información sobre tu moto y el propietario registrado</p>
</li>
<li><p><strong>Recibo de pago del impuesto de circulación (自動車税納税証明書)</strong>:
Es el impuesto que debe pagar el propietario del vehículo cada año. Si eres el propietario del vehículo a partir del 1 de abril del año, recibirás el documento por correo y podrás pagarlo en cualquier <em>combini</em>. </p>
</li>
<li><p><strong>Certificado de seguro obligatorio de responsabilidad civil del vehículo (自賠責保険証書 / <em>jibaiseki</em>)</strong>:
Es el certificado de seguro que también caducará en una fecha similar a la del sacudido. Se debe renovar también al mismo tiempo que el shaken</p>
</li>
<li><p><strong>Inkan</strong> (sello personal): si no tienes uno, puede utilizar tu firma.</p>
</li>
</ul>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/1.jpg" alt="Documentos necesarios" loading="lazy">
        </picture>
        <figcaption>Documentos necesarios</figcaption>
      </figure></p>
<h3 id="solicitar-una-fecha-para-la-inspección">Solicitar una fecha para la inspección</h3>
<p>En mi caso, tuve que solicitar una fecha para el centro de inspección de Shinagawa. Es el más cercano a mi casa.</p>
<ul>
<li>Ve a <a href="https://www.reserve.naltec.go.jp/web/ap-entry?slinky___page=forward:A1001_01">reserve.naltec.go.jp</a> y haz clic en <strong>registro de cuenta</strong> si aún no tienes una cuenta. Puedes utilizar Google Translate</li>
<li>Una vez que tu cuenta esté lista, ingresa y realiza el proceso. En mi caso, seleccioné <strong>Inspección continua</strong>, <strong>motocicleta</strong>, <strong>Tokio</strong> y <strong>Oficina de Transporte de Tokio</strong>.</li>
<li>Selecciona una fecha y hora y recibirás un correo electrónico con el número de reserva</li>
</ul>
<p>Los días entre semana y las mañanas estarán probablemente menos concurridos. Así fue en mi caso.</p>
<p>Si por cualquier motivo decides no ir, recuerda cancelar la cita y solicitar una nueva. Puedes cancelarla incluso una hora antes, sin problemas.</p>
<p>El centro de inspección se encuentra en Shinagawa: <a href="https://goo.gl/maps/unp3ybW6kfAWJb2f6">https://goo.gl/maps/unp3ybW6kfAWJb2f6</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/2.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/2.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/2-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/2-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/2.jpg" alt="Centro de inspección de vehículos de Shinagawa" loading="lazy">
        </picture>
        <figcaption>Centro de inspección de vehículos de Shinagawa</figcaption>
      </figure></p>
<h3 id="la-alineación-de-los-faros">La alineación de los faros</h3>
<p>La parte más crítica de todo el proceso es la alineación de los faros. Por alguna razón, en Japón son muy exigentes con este requisito en particular. Por suerte, hay un taller justo enfrente del centro de inspección que se especializa precisamente en esta tarea. Aquí está la ubicación: <a href="https://goo.gl/maps/U9nGAqzGwQNxB3qz9">https://goo.gl/maps/U9nGAqzGwQNxB3qz9</a></p>
<p>Una cosa que aprendí por las malas... No vayas a probar tu faro con una bombilla LED. Probablemente no será lo suficientemente fuerte. Tuve que comprar una halógena en <a href="https://goo.gl/maps/9QDzxWjjFVrge5CVA">Ricoland Tokyo Bay</a>. Esta es la que compré:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/7.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/7.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/7-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/7-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/7.jpg" alt="Bombilla halógena" loading="lazy">
        </picture>
        <figcaption>Bombilla halógena</figcaption>
      </figure></p>
<p>Además, durante el proceso de alineación, asegúrate de que la pantalla muestra una alineación perfecta. De lo contrario, tendrás que volver al taller porque no pasará la prueba de alineación. No importa cómo consigas esa alineación perfecta. El taller pone un trozo de cartón y algo de cinta adhesiva en los laterales para que quede bien. Durante la inspección, no les importa el cartón ni la cinta, así que no te preocupes. Lo sé. Esto también me desconcierta, pero es así.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/6.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/6.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/6-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/6-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/6.jpg" alt="Alineación de faros previa a la inspección en un taller cercano" loading="lazy">
        </picture>
        <figcaption>Alineación de faros previa a la inspección en un taller cercano</figcaption>
      </figure></p>
<p>El coste de la alineación de los faros es de unos 2.000 yenes, según creo, y el proceso dura sólo 5 minutos. A veces hay una pequeña cola fuera del garaje, por lo que puede tardar un poco más. Pero no debería tardar más de 30 minutos.</p>
<p>Otro consejo sobre el acceso al garaje: Si vienes desde el norte, es mejor que sigas la ruta de la captura de pantalla de abajo, para no tener que cortar el tráfico que viene desde la dirección contraria:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/3.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/3.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/3-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/3-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/3.jpg" alt="Alineación de los faros en el garaje y en los cafés" loading="lazy">
        </picture>
        <figcaption>Alineación de los faros en el garaje y en los cafés</figcaption>
      </figure></p>
<h3 id="cosas-que-comprobar-antes-de-la-inspección">Cosas que comprobar antes de la inspección</h3>
<ul>
<li><p>Asegúrate de que todas las luces, los frenos y el claxon funcionan correctamente</p>
</li>
<li><p>En el centro de inspección, es posible que te pregunten si tienes un libro de mantenimiento. Yo no tenía ninguno, así que no parece que sea obligatorio. En cualquier caso, es una buena idea llevar una factura o algún papel que muestre cuándo has cambiado por última vez el aceite, el filtro, etc. Pero, como ya he dicho, yo no tuve que mostrar nada de esto</p>
</li>
<li><p>Si has cambiado/modificado alguna pieza de tu moto, lleva los papeles que acrediten que esas piezas están homologadas y son compatibles con tu moto. Por ejemplo, mi moto no tiene los tubos de escape originales, así que tengo unos papeles que demuestran que son similares a los originales y que pueden pasar la inspección</p>
</li>
</ul>
<h3 id="el-día-de-la-inspección">El día de la inspección</h3>
<ul>
<li><p>Si no has elegido una franja horaria muy temprana, puedes intentar hacer la alineación de faros y la inspección el mismo día. Sólo tienes que cruzar la calle (con tu moto) hasta el centro de inspección</p>
</li>
<li><p>Cuando llegué al centro de inspección, aquí es donde aparqué mi moto (al lado de las escaleras) y nadie se quejó por ello. Tampoco había conos ese dia</p>
</li>
</ul>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/4.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/4.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/4-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/4-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/4.jpg" alt="Dónde aparcar la moto en el centro de inspección" loading="lazy">
        </picture>
        <figcaption>Dónde aparcar la moto en el centro de inspección</figcaption>
      </figure></p>
<ul>
<li><p>Sube por las escaleras y ve al 2º piso. Nada más entrar, menciona que tienes una reserva para el shaken y te darán unos papeles para rellenar</p>
</li>
<li><p>Una vez que les des los papeles, te enviarán a otro edificio donde tendrás que pagar la tasa del peso de la moto y renovar el seguro obligatorio (<em>jibaiseki</em>). Te dirán el número de ventanilla al que tienes que ir después, así que es bastante fácil</p>
</li>
<li><p>Una vez completado todo el papeleo y pagado todo, te dirán que lleves tu moto al edificio donde realizarán la inspección. Fíjate que el carril es más estrecho que los demás porque es específico para motos</p>
</li>
<li><p>Cuando llegues a la puerta, quédate en la cola hasta que venga alguien a revisar tus papeles. Te pedirán que enciendas y apagues las luces, que revoluciones la moto hasta unas determinadas revoluciones, etc.</p>
</li>
</ul>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/5.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/5.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/5-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/5-mobile.jpg" />
          <img class="image" src="/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/5.jpg" alt="A la espera de que comience la inspección" loading="lazy">
        </picture>
        <figcaption>A la espera de que comience la inspección</figcaption>
      </figure></p>
<ul>
<li><p>A continuación, tendrás que trasladar tu moto al interior del edificio para comprobar los frenos, la alineación de los faros, el ruido del escape y los humos. Te preguntarán si necesitas asistencia en inglés. Si dices que sí, podrás leer las instrucciones en una pantalla. Bastante útil.</p>
</li>
<li><p>Una vez terminadas las pruebas, te comunicarán si has pasado o no. Si todo ha ido bien, te actualizarán los papeles y tendrás que volver al primer edificio (2ª planta) donde te darán una nueva pegatina para que la pongas en tu placa y ahí se acabará la historia. Si te equivocaste en algo (como yo) entonces tendrás que arreglarlo y volver a pasar la parte de la prueba que falló de nuevo. En mi caso, fue la alineación de los faros. No era perfecto, así que tuve que cruzar la calle y hacerlo de nuevo. Al menos no me cobraron un extra. Ir al taller y volver también fue bastante rápido, quizás sólo 15 minutos, así que no te preocupes si no pasas la alineación la primera vez</p>
</li>
</ul>
<h3 id="conclusiones">Conclusiones</h3>
<p>En general, aunque me preocupé durante muchos días antes de la inspección (sobre todo por la barrera del idioma), resultó ser más un interesante ejercicio de aprendizaje que un dolor de cabeza burocrático. Fue molesto tener que cambiar la bombilla LED, pero <em>shoganai</em>. Así que si alguien me pregunta si recomendaría pasar el <em>shaken</em> por uno mismo, mi respuesta sería que sí. Te ahorrarás un dinero considerable y aprenderás algo por el camino. No recuerdo exactamente cuánto me gasté, pero fue algo así como <strong>17.000¥</strong>, incluyendo la bombilla halógena y la revisión de la alineación de los faros. Teniendo en cuenta que todo el proceso dura alrededor de 1,5h (sin incluir el viaje al centro de inspección), creo que merece la pena.</p>
<p>También me gustaría mostrar mi agradecimiento a mi amigo motorista Greg, que fue lo suficientemente paciente como para responder a todas mis preguntas y compartir su experiencia con el <em>shaken</em> conmigo. Gracias.</p>
<p>Por último, si durante el proceso sientes que necesitas un descanso para pensar (como yo necesité), hay una <a href="https://goo.gl/maps/YuE4mMr5NCbjP42F9">cafetería Komeda</a> muy cerca (está en el mapa publicado arriba) y tiene aparcamiento para motos.</p>
<p>¿Qué opinas o cómo ha sido tu experiencia en el <em>shaken</em>? ¿Me he perdido algo o he dicho algo incorrecto? Por favor, dímelo en los comentarios. ¡Gracias!</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/how-to-pass-the-motorcycle-shaken-inspection-in-tokyo-by-yourself/images/cover.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Por qué migré de Gatsby a un pequeño generador de sitios estáticos personalizado]]></title>
            <link>https://www.joanmira.com/es/blog/why-i-left-gatsby-and-built-my-own-tiny-static-site-generator</link>
            <guid>https://www.joanmira.com/es/blog/why-i-left-gatsby-and-built-my-own-tiny-static-site-generator</guid>
            <pubDate>Sun, 12 Jun 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[El placer de saber lo que ocurre bajo el capó y poder centrarse en la simplicidad y el minimalismo]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>La ingeniería de software es como la ingeniería aeronáutica. Cuanto menos peso, mejor.</p>
</blockquote>
<p>A veces, los ingenieros de software olvidan esta simple premisa sobre el peso del código. Nos sumergimos en agujeros de conejo (o debería decir agujeros de JavaScript) que terminan hinchando nuestras aplicaciones con docenas y docenas de paquetes NPM, polyfills, helpers, arquitecturas exageradas, abstracciones y más abstracciones,...</p>
<p>¡El principal problema de tener mucho código es que tenemos que mantenerlo! Alguien podría argumentar, ohh, pero yo siempre me apoyo en OSS y en paquetes externos. Y esa es una estrategia perfectamente válida. El problema es que esos paquetes también se actualizan y a veces introducen cambios que rompen el código. Esto significa que alguien tiene que encargarse de actualizar esos paquetes, seguir los documentos de migración, arreglar los conflictos con otros paquetes, etc.</p>
<p>Por lo tanto, el tiempo que pensamos que ahorramos al depender de paquetes OSS externos comienza a desvanecerse. No me malinterpretes, apoyo el uso de OSS. Lo que quiero decir es que, en lugar de consumir OSS como si viviéramos en un buffet de comida permanente, deberíamos ser conscientes y elegir cuidadosamente las dependencias a importar. Porque cuantas más decidamos incluir en nuestro proyecto, más tiempo tendremos que invertir en el mantenimiento del código y más hinchados estarán nuestros paquetes de JS.</p>
<h3 id="el-caso-de-uso-del-blogger-ocupado">El caso de uso del blogger ocupado</h3>
<p>Desde que llegué a Japón, hace unos 3 años y medio, he estado muy ocupado. Mi trabajo es bastante exigente desde el punto de vista intelectual -como el de muchas otras personas en el ámbito de la informática- y después de al menos 8 horas resolviendo problemas complejos, no queda mucho espacio en el cerebro para exprimir nuevas ideas creativas. Si sumamos el hecho de que voy a la escuela de japonés tres veces a la semana y tengo que memorizar los trazos de los kanji en el orden adecuado, entonces las neuronas que quedan para el resto del día sólo pueden soportar un programa de Netflix muy superficial.</p>
<p>Creo que entiendes a dónde quiero llegar. Sí, no he estado actualizando este blog muy a menudo. Lo siento. Me hubiera gustado compartir algunas historias y experiencias de mi vida aquí en Japón. Pero, no tenía mucho tiempo ni energía para hacerlo. Por otro lado, también está el tema de Gatsby y lo que mencioné antes.</p>
<p>Después de 3 años de no actualizar el código base de este sitio web, te puedes imaginar lo obsoletas que estaban todas las dependencias y plugins de Gatsby. He intentado actualizar. Lo prometo. Pero en algún momento, sentí que sería mejor empezar de nuevo desde cero. Y eso es lo que hice.</p>
<h3 id="un-nuevo-comienzo-con-un-enfoque-minimalista">Un nuevo comienzo con un enfoque minimalista</h3>
<p>Así es como un día, buscando pequeños generadores de sitios estáticos, me topé con <a href="https://github.com/yakkomajuri/teeny">Teeny</a> y <a href="http://picocss.com/">PicoCSS</a>. Después de probarlos un poco, me decidí. Esto es todo lo que necesito. Voy a hacer un fork y empezar a construir mi propio generador de sitios estáticos. La idea de teeny era muy similar a lo que tenía en mente. Simplemente usar NodeJS para construir páginas HTML a partir de archivos markdown. ¿A quién le importa graphQL para un sitio web como este? Al mismo tiempo, también quería usar variables CSS y olvidarme de cualquier framework JS como React. La idea principal era mantener las dependencias lo más bajas posible para que en el futuro no tuviera que seguir migrando o actualizando el código base con funcionalidades que no necesito.</p>
<p>Llegados a este punto, me gustaría resaltar el hecho de que, cuando estamos construyendo aplicaciones, <strong>debemos centrarnos siempre en lo que el usuario necesita y quiere</strong>. En este caso particular, yo también soy un usuario, ya que soy el que escribe las historias en el blog y actualiza el contenido de las otras páginas. Si no tengo una buena UX y DX, entonces me va a dar pereza actualizar el contenido y la aplicación o sitio web va a morir. Por lo tanto, la enseñanza aquí es que <strong>la tecnología no debe estar por encima de las necesidades del usuario o del objetivo principal del proyecto</strong>. De la misma manera que una guitarra o una batería muy sofisticadas no deberían ser más importantes que la creación de la propia música.</p>
<h3 id="¿qué-he-aprendido-de-esta-experiencia">¿Qué he aprendido de esta experiencia?</h3>
<ul>
<li><p>Llevo utilizando markdown para el contenido desde que me mudé hace años de WordPress a Ghost. Este enfoque sigue siendo el adecuado. Es muy flexible. Puedes añadir código HTML cuando lo necesites y mantener el contenido limpio cuando no lo necesitas.</p>
</li>
<li><p>Sigo estando muy contento de no tener que mantener otra base de datos o un servidor. Esa es la belleza de las SSG y del <a href="https://jamstack.org/">Jamstack</a></p>
</li>
<li><p>Es agradable cambiar de marcha de vez en cuando y hacer algo de programación con NodeJs. Aunque la depuración no es tan agradable como en el front-end. Sigo prefiriendo lidiar con los problemas en un navegador en lugar de en la consola</p>
</li>
<li><p>Es posible construir un generador de sitios estáticos con <a href="https://github.com/gazpachu/joanmira/blob/main/package.json">menos de 15 dependencias npm</a></p>
</li>
<li><p>Ser capaz de construir todo el sitio web desde cero es impresionante. El conocimiento es poder. Puedes ajustar todo y sólo programar exactamente lo que necesitas, lo que hace que el código fuente se sienta mucho más ligero</p>
</li>
<li><p>He añadido un nuevo modo oscuro que sigue el enfoque de PicoCSS para cuidar nuestros ojos</p>
</li>
<li><p>Para las imágenes del portafolio, si vas a usar maquetas (como hice con las pantallas de Apple, iPads y portátiles), ¡asegúrate de exportarlas en PNG con transparencia! He pasado largos días teniendo que rehacer todas las imágenes de los 140 proyectos de mi portafolio porque estaban exportadas como JPG con fondo blanco y no se veían bien con el nuevo modo oscuro... &#129318;</p>
</li>
<li><p>Como <a href="https://pages.github.com/">Github Pages</a> no soporta redireccionamientos 301, tuve que migrar a <a href="https://netlify.com/">Netlify</a>. Me encantan ambas empresas. Hacen un gran trabajo en UX. Muchas gracias.</p>
</li>
<li><p>Cosas como la conversión de JPG a WebP y la generación de sitemap XML o de feeds RSS son mucho más fáciles de lo que crees con los paquetes NPM adecuados</p>
</li>
<li><p>Aproveché la refactorización del código para hacer algunas mejoras de diseño. Empezando por el logo. Me inspiré en <a href="https://en.wikipedia.org/wiki/Rafael_Nadal#Legacy">Rafael Nadal ganando su 14º campeonato en Roland Garros</a>. Así que, si encuentras algunas similitudes entre mi logo y el de Roland Garros, ahora ya sabes por qué</p>
</li>
<li><p>He migrado de <a href="https://disqus.com/">Disqus</a> a <a href="https://utteranc.es/">Utterances</a>. Principalmente por las dificultades con su modo oscuro. ¡Gracias, Disqus por tu servicio! ¡Me alegro mucho de haberlo hecho! Nunca se me había ocurrido que pudiéramos utilizar los Issues de Github para alojar los comentarios de la página web. Muy interesante</p>
</li>
<li><p>He facilitado a los usuarios de esta web la suscripción al blog y también he añadido un widget <a href="https://ko-fi.com">Ko-Fi</a> para empezar a experimentar con este tipo de patrocinios</p>
</li>
<li><p>También he mejorado los resultados de búsqueda de Algolia, el contenido de la página de inicio, la página 404 y los estilos del pie de página</p>
</li>
</ul>
<h3 id="¿cómo-funciona-el-ssg">¿Cómo funciona el SSG?</h3>
<p>Toda la lógica de generación del sitio web se concentra en un único archivo llamado <code>cli.js</code>. Tiene menos de 350 líneas de código. Esperemos que se pueda reducir aún más con algunas mejoras. Sólo hay otro script extra llamado <code>images.js</code> para generar las imágenes optimizadas para móviles y WebP.</p>
<p>La estructura de carpetas es muy simple:</p>
<ul>
<li><p><code>pages</code>: contiene todos los archivos de contenido markdown organizados en subcarpetas. No es necesario seguir ningún patrón específico. El script de construcción replicará la misma estructura pero en su lugar con archivos HTML</p>
</li>
<li><p><code>public</code>: (inicialmente vacío) contiene todos los archivos generados que deben ser publicados</p>
</li>
<li><p><code>static</code>: imágenes globales, CSS y JS. Se copia en <code>public</code> cada vez que hacemos un build desde cero </p>
</li>
<li><p><code>design</code>: copia de seguridad de los recursos de diseño originales utilizados para el proyecto</p>
</li>
<li><p><code>templates</code>: todos los diseños y parciales HTML utilizados para construir las páginas HTML finales</p>
</li>
</ul>
<p>Hay dos scripts principales: <code>build</code> y <code>develop</code>. La única diferencia entre ellos es que el último inicia un servidor web local después de terminar el proceso de construcción.</p>
<p>Cuando activamos el proceso de construcción con <code>npm run build</code>, primero el script comienza a limpiar la carpeta <code>public</code> y a copiar/renombrar archivos. Luego comienza a procesar toda la carpeta <code>pages</code>, una carpeta específica dentro de <code>pages</code> o un archivo <code>.md</code> específico dependiendo de si pasamos un parámetro o no al script (es decir, <code>npm run build pages/blog/index.md</code>). Una vez que termina de procesar los archivos markdown, genera un mapa del sitio XML, un feed RSS y actualiza el índice en Algolia (sólo en el entorno de producción).</p>
<p>La función más importante es <code>processPage</code>. Es la que se encarga de cargar la plantilla correcta (especificada en el frontmatter de markdown) y de añadir las diferentes partes al HTML de salida. Además, si la página a procesar es un listado de páginas, como el índice del blog o una página de categorías del blog, entonces hace algo de lógica recursiva para obtener todos los elementos del listado.</p>
<h3 id="un-trabajo-en-progreso-e-ideas-para-el-futuro">Un trabajo en progreso e ideas para el futuro</h3>
<p>Algo que estoy considerando hacer es implementar un modo de administración muy básico (CMS) para poder publicar/editar historias desde una página web, en lugar de desde el editor de código. Puede ser útil cuando quiero escribir una historia en mi teléfono móvil. Este modo de administración tendría que conectarse con la API de Github para permitir que el sitio web escriba/edite archivos en el repositorio, así que es algo en lo que hay que pensar en el futuro.</p>
<p>Además, sería bueno encontrar una manera de implementar hot reloading y eventualmente refactorizar el código para que sea más fácil para otros ingenieros a utilizar en sus proyectos.</p>
<p>Seguiré actualizando el código nuevo en las próximas semanas o cuando tenga algo de tiempo. En la actualidad hay bastante código hard coded. Pero si alguien está interesado en echar un vistazo al código, aquí está:</p>
<p><a class="btn github" role="button" href="https://github.com/gazpachu/joanmira" target="_blank">Código fuente</a></p>
<h3 id="actualización-del-16-de-junio-de-2022">Actualización del 16 de Junio de 2022</h3>
<p>He añadido <a href="https://ejs.co/">EJS</a> para poder manejar datos dinámicos en las plantillas y ahora el código está mucho mejor organizado y reducido a unas 300 líneas. Hot reloading está casi funcionando pero aún lo tengo en otro branch.</p>
<h3 id="actualización-del-23-de-julio-de-2022">Actualización del 23 de Julio de 2022</h3>
<p>He incluido soporte para dos idiomas y he traducido toda la web al español. Ha sido un trabajo considerable pero creo que ha merecido la pena. Aún falta poder traducir el widget de utterances para los comentarios del blog.</p>
<p>Foto del ala del avión por <a href="https://unsplash.com/es/fotos/rf6ywHVkrlY">Ross Parmly</a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/why-i-left-gatsby-and-built-my-own-tiny-static-site-generator/images/1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Lecciones aprendidas al escribir nuestro propio generador de sitios estáticos]]></title>
            <link>https://www.joanmira.com/es/blog/lessons-learned-writing-our-own-static-site-generator</link>
            <guid>https://www.joanmira.com/es/blog/lessons-learned-writing-our-own-static-site-generator</guid>
            <pubDate>Wed, 19 Jan 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Migrando desde Gatsby a un SSG personalizado con React SSR. Artículo publicado originalmente en el blog tecnológico de TableCheck.]]></description>
            <content:encoded><![CDATA[<p>Hoy en día, los sitios web y las aplicaciones web se pueden construir y servir de muchas maneras diferentes. Utilizando HTML, Javascript y CSS puros, con frameworks como <a href="https://reactjs.org/">React</a>, <a href="https://vuejs.org/">Vue</a> o <a href="https://angularjs.org/">Angular</a>, siguiendo un <a href="https://developers.google.com/web/updates/2019/02/rendering-on-the-web">enfoque CSR o SSR</a>, <a href="https://applandeo.com/blog/single-page-applications-versus-multi-page-applications-what-to-choose/#:~:text=Qu%C3%A9%20es%20un%20MPA%3F,tienen%20diferentes%20niveles%20de%20UI.">MPA</a>, utilizando frameworks de back-end como <a href="https://www.phoenixframework.org/">Phoenix</a>, con un CMS como <a href="https://wordpress.org/">WordPress</a> o <a href="https://www.drupal.org/">Drupal</a>, implementando generadores de sitios estáticos como <a href="https://jamstack.org/generators/gatsby/">Gatsby</a>, <a href="https://nextjs.org/">Next js</a>, <a href="https://gohugo.io/">Hugo</a>, <a href="https://jekyllrb.com/">Jekyll</a>, etc. Las opciones son abrumadoras.</p>
<p>Por si fuera poco, aún puedes sumergirte en <a href="https://dev.to/this-is-learning/is-0kb-of-javascript-in-your-future-48og">0kb of JS frameworks</a>, <a href="https://alpinejs.dev/">AlpineJS</a>, <a href="https://stimulus.hotwired.dev/">Stimulus</a>, <a href="https://github.com/vuejs/petite-vue">Petite Vue</a>, <a href="https://astro.build/">Astro</a>, <a href="https://iles-docs.netlify.app/">Iles</a>, <a href="https://markojs.com/">MarjoJS</a>, <a href="https://github.com/BuilderIO/qwik">Qwik</a>, <a href="https://github.com/hotwired/turbo-rails">Turbo</a>, o <a href="https://remix.run/">Remix</a>.</p>
<p>Pero cuando los sitios web tienen un contenido mayoritariamente estático (excepto las páginas de noticias/blogs dinámicos), es cuando los <a href="https://jamstack.org/generators/">SSGs</a> (Static Site Generators) se convierten en una gran opción. Uno de los frameworks más populares es <a href="https://jamstack.org/generators/gatsby/">Gatsby</a>. Ese es el que usamos para construir nuestro anterior sitio web y durante un tiempo, nos sirvió bien.</p>
<p>Uno de los problemas que descubrimos un par de años después, fue que los tiempos de construcción eran cada vez más largos. Esto se debía a la enorme cantidad de páginas que acumulaba el sitio -especialmente por los múltiples idiomas- y a la dificultad de construir una sola página. En cambio, teníamos que construir todo el sitio web cada vez que se actualizaba una sola página.</p>
<p>También nos dimos cuenta de que los sitios estáticos no necesitan tener un montón de dependencias de JavaScript y NPM. Deben ser ligeros y fáciles de mantener. Los requisitos principales son sólo HTML, CSS y algo de JavaScript para una navegación lateral o superior, un formulario de contacto y algunas otras cosas.</p>
<p>Al llegar a este punto, nos enteramos de que Gatsby estaba lanzando <a href="https://www.gatsbyjs.com/blog/2020-04-22-announcing-incremental-builds/">builds incrementales</a>, pero incluso con esa característica potencialmente útil, nuestras mentes ya estaban establecidas: íbamos a construir nuestro generador de sitios estáticos.</p>
<h3 id="la-tecnología-seleccionada">La tecnología seleccionada</h3>
<p>En TableCheck estamos muy comprometidos con AWS, Typescript, React, Emotion y nuestro propio kit de herramientas de interfaz de usuario llamado <a href="http://tablekit.tablecheck.com/">TableKit</a>. Desde el principio quedó claro que el uso de estas tecnologías podría acelerar el desarrollo y simplificar el mantenimiento. Como ejercicio de comparación, Wahid Farid (líder del proyecto) también hizo un POC con <a href="https://gohugo.io/">Hugo</a> y Joan Mira (manager del front-end team) con el sistema de plantillas EJS, pero finalmente, preferimos continuar con el enfoque basado en React SSR.</p>
<p>Al mismo tiempo, nuestro anterior sitio web de Gatsby construía sus páginas recogiendo el contenido de la API de <a href="https://www.storyblok.com/home">Storyblok</a>. Esto era algo de lo que estábamos bastante contentos, específicamente por la flexibilidad que proporciona este headless CMS para construir páginas usando bloques con esquemas personalizados. Esto nos permite a nosotros y a los editores de contenidos construir páginas para diferentes regiones del mundo reutilizando diseños y bloques comunes definidos en el CMS.</p>
<p>También consideramos la posibilidad de usar <a href="https://wordpress.org/">WordPress</a> y <a href="https://elementor.com/">Elementor</a> (sobre todo por la UX para los editores de contenido). Pero el hecho de que esté basado en PHP, requiere otras tecnologías distintas a las que usamos habitualmente y suele ser el objetivo de los hackers era algo que no nos entusiasmaba. Por ello, decidimos seguir con <a href="https://www.storyblok.com/home">Storyblok</a> como nuestro CMS.</p>
<p>En cuanto a la infraestructura, Alexander Nicholson (líder de SRE) sugirió que utilizáramos un enfoque sin servidor (<a href="https://seed.run/">Seed.run</a>) con una función lambda para construir las páginas estáticas HTML.</p>
<p>Y, por último, para la funcionalidad de búsqueda, Joan Mira sugirió utilizar <a href="https://www.algolia.com/">Algolia</a> y para la programación de la demostración del producto, Eri Koyano (manager de producto) sugirió utilizar <a href="https://calendly.com/">Calendly</a>.</p>
<p>Esta es la tecnología aprobada para nuestro sitio web personalizado generado estáticamente:</p>
<ul>
<li>AWS, serverless y Seed.run</li>
<li>Typescript</li>
<li>React SSR</li>
<li>Emotion, TableKit y variables CSS</li>
<li>Storyblok</li>
<li>Algolia y Calendly</li>
</ul>
<h3 id="arquitectura-del-sitio-web">Arquitectura del sitio web</h3>
<p>Una vez que decidimos las tecnologías que íbamos a utilizar, el principal ingeniero de front-end de TableCheck, Simeon Cheeseman, sugirió utilizar React SSR para construir las páginas. Hicimos una lluvia de ideas sobre cómo hacerlo funcionar y terminamos con lo siguiente:</p>
<ol>
<li>El contenido se añade/actualiza en Storyblok y el usuario hace clic en el botón de guardar</li>
<li>Un webhook se activa en Storyblok</li>
<li>Un servidor NodeJS Express que se ejecuta en una función lambda recibe la llamada del webhook</li>
<li>Un script del lado del servidor lee el ID de la historia desde la URL pasada al servidor</li>
<li>El script llama a la API de Storyblok con ese ID y obtiene todos los datos necesarios para construir esa página específica</li>
<li>A continuación, genera el HTML utilizando componentes de React</li>
<li>Y por último, sube el archivo a un bucket de S3 desde donde se servirá a Internet</li>
</ol>
<p>Todos estuvimos de acuerdo con este enfoque y Alexandr Shostyr (líder técnico del proyecto) construyó un POC.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/lessons-learned-writing-our-own-static-site-generator/images/static-site-generator-diagram.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/lessons-learned-writing-our-own-static-site-generator/images/static-site-generator-diagram.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/lessons-learned-writing-our-own-static-site-generator/images/static-site-generator-diagram-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/lessons-learned-writing-our-own-static-site-generator/images/static-site-generator-diagram-mobile.jpg" />
          <img class="image" src="/blog/lessons-learned-writing-our-own-static-site-generator/images/static-site-generator-diagram.jpg" alt="Diagrama de arquitectura" loading="lazy">
        </picture>
        <figcaption>Diagrama de arquitectura</figcaption>
      </figure></p>
<h3 id="del-poc-a-la-línea-de-meta">Del POC a la línea de meta</h3>
<p>Una vez aprobado el POC y validada la arquitectura, continuamos el desarrollo con la ayuda de Irina Soupel (ingeniera de front-end). Pronto nos dimos cuenta de que tendríamos que hacer ciertas cosas ligeramente diferentes a otros proyectos de TableCheck, especialmente porque no estábamos usando React en el front-end:</p>
<ul>
<li>Usar <a href="https://emotion.sh/docs/ssr">emotion for SSR</a> para soportar selectores <code>nth-child</code>.</li>
<li>Averiguar cómo utilizar las variables CSS con el ThemeProvider de Tablekit</li>
<li>Crear componentes nuevos para un botón y campo de entrada para evitar un problema con hexToRgba</li>
</ul>
<p>Otro problema considerable que encontramos fue el de hacer builds de páginas individuales en lugar de todas las páginas a la vez. Algunos bloques de Storyblok son comunes a todas las páginas, como la navegación superior o el pie de página. Por lo tanto, cada vez que un editor de contenido cambia uno de estos bloques, tenemos que regenerar todas las páginas del sitio web. Esto representó un desafío, ya que tendríamos que tener una manera de decirle al script encargado del build si todas las páginas necesitan ser construidas o no. Actualmente seguimos investigando este punto y actualizaremos el artículo cuando encontremos la solución adecuada.</p>
<p>Al mismo tiempo, las páginas del listado del blog también fueron complicadas. Primero, las implementamos dinámicamente usando Algolia. Funcionaba bien, pero requería muchas peticiones a la API, lo que hacía que la navegación fuera lenta y costosa económicamente. Finalmente, encontramos la manera de construir todas estas páginas de forma estática, incluso para las páginas de categorías y listados paginados.</p>
<p>También tuvimos otros problemas relacionados con el mapa del sitio, las redirecciones heredadas, las complicaciones de los builds debido a que teníamos que compartir el mismo bucket de S3 con otro sitio web, etc. No obstante, estos problemas no son representativos del proceso de migración de Gatsby a nuestro SSG personalizado.</p>
<h3 id="próximos-pasos">Próximos pasos</h3>
<p>En el futuro, todavía queremos seguir haciendo mejoras. Actualizaremos el artículo en el futuro con más detalles. Estas son algunas de las cosas que estamos considerando hacer:</p>
<ul>
<li>La velocidad de los builds: especialmente con el apoyo a la construcción de páginas individuales </li>
<li>Precargar assets y páginas críticas (como hace Gatsby) para que el sitio web cargue aún más rápido de lo que ya lo hace, probablemente porque tenemos muy poco código JS en él</li>
</ul>
<p>En general, fue una gran experiencia la construcción de algo nuevo desde cero donde tenemos el control total. Vendrán más cosas interesantes. Stay tuned!</p>
<h3 id="actualización-de-marzo-de-2022">Actualización de marzo de 2022</h3>
<p>Buenas noticias! Después de un poco de trabajo, hemos sido capaces de implementar construcciones de páginas individuales con StoryBlok.</p>
<p>La forma en que terminamos haciéndolo es copiando/pegando el ID de la página en una entrada dentro de un diálogo modal que aparece al hacer clic en una tarea personalizada. Esto nos permite pasar el ID de la página que queremos construir a la función Lambda.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/lessons-learned-writing-our-own-static-site-generator/images/custom-static-site-generator.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Migrar desde GhostJS a GatsbyJS]]></title>
            <link>https://www.joanmira.com/es/blog/migrate-from-ghostjs-to-gatsbyjs</link>
            <guid>https://www.joanmira.com/es/blog/migrate-from-ghostjs-to-gatsbyjs</guid>
            <pubDate>Mon, 05 Feb 2018 00:00:00 GMT</pubDate>
            <description><![CDATA[Mi experiencia trabajando con este nuevo generador de sitios estáticos que todo el mundo parece adorar]]></description>
            <content:encoded><![CDATA[<p><a class="btn github" href="https://github.com/gazpachu/joanmira" target="_blank">Código fuente</a></p>
<p>Llevo usando la versión comunitaria (autoalojada) de <a href="http://ghost.org">GhostJS</a> desde 2016 en mis sitios web. Al principio, todo era bueno, me encantaba. Decidí migrar de WordPress a Ghost porque WP estaba siendo siempre objetivo de los hackers y el código se estaba volviendo desordenado con todo tipo de plugins, bugs, etc.</p>
<p>Pero luego, después de un par de años, empecé a desenamorarme. No culpo a Ghost, probablemente fui yo. Me dio pereza actualizar a la última versión de Ghost, lo que requería muchos cambios en el código fuente y también en la configuración del VPS que tenía en <a href="http://ovh.es">OVH</a>. Debido a esta situación, no actualicé mucho mis sitios web.</p>
<p>El tiempo pasó y entonces me di cuenta de que necesitaba actualizar mi sitio web con nuevos proyectos. También quería cambiar mi proveedor de alojamiento por otro más moderno y gratuito que pudiera utilizar e integrar en un pipeline de CI/CD. Fue entonces cuando empecé a investigar sobre generadores de sitios estáticos modernos y cómo encontré <a href="http://gatsbyjs.org">GatsbyJS</a>.</p>
<p>Hay otros generadores de sitios estáticos por ahí como <a href="https://nextjs.org/">NextJS</a> o <a href="https://www.netlify.com/blog/2017/05/25/top-ten-static-site-generators-of-2017/">estos otros</a>. Me interesó Gatsby porque utiliza GraphQL, una tecnología que quería aprender y además está basado en ReactJS.</p>
<h3 id="preparando-la-migración">Preparando la migración</h3>
<p>Después de instalar GatsbyJS y explorar un poco su funcionamiento, empecé a investigar cómo podía transferir todos los posts y páginas estáticas de mi blog a la estructura de carpetas de Gatsby, con los posts como archivos markdown y las imágenes almacenadas en subcarpetas. Por suerte, hubo un alma bondadosa que <a href="https://github.com/InsidersByte/ghost-to-gatsby">construyó un módulo</a> para hacer exactamente eso.</p>
<p>El módulo toma el archivo de exportación de Ghost y crea automáticamente las carpetas para las entradas renombradas con la fecha de la entrada y el slug de la misma. A continuación, coloca dentro del post en formato markdown y descarga las imágenes en una carpeta <code>images</code>. Desafortunadamente, el módulo no descargó completamente todas las imágenes ni produjo todos los archivos markdown, pero aún así, ¡obtuve gran parte del trabajo hecho de forma gratuita!</p>
<h3 id="encontrar-una-plantilla-inicial">Encontrar una plantilla inicial</h3>
<p>En la comunidad Gatsby, hay muchos boilerplates/plantillas, o como ellos lo llaman, <a href="https://www.gatsbyjs.org/starters/?v=2">starter packages</a>. Hay diferentes enfoques para construir un nuevo sitio web. Puedes empezar completamente desde cero, sólo usando la herramienta <code>gatsby-cli</code> o puedes instalar un starter y luego construir desde ahí. En mi caso, elegí el <a href="https://github.com/greglobinski/gatsby-starter-hero-blog">starter-hero-blog</a>, ya que tenía algunas características que me interesaban aprender.</p>
<h3 id="empezar-a-formatear-los-posts">Empezar a formatear los posts</h3>
<p>Un nuevo concepto que aprendí con Gatsby es el <code>front matter</code>. El front matter es la primera sección de un libro y generalmente es la más corta; a veces también se le llama prelims, o materia preliminar. En Gatsby y también en el mundo de los generadores de sitios estáticos, el front matter son los datos en la parte superior de los archivos markdown que van a ser como sus metadatos. Así que contendrá el nombre de la imagen destacada, la categoría a la que pertenece el post, el slug, la fecha, etc. La estructura es abierta, así que puedes decidir qué datos quieres usar.</p>
<p>En mi caso, como las carpetas de entradas ya contienen la fecha de la entrada y el slug, decidí no incluirlos de nuevo en el asunto principal. Para las entradas del blog, decidí almacenar sólo la categoría, el título y la imagen de portada.</p>
<p>Esta parte de elegir qué metadatos usar en todas las entradas del blog es bastante importante, ya que cada archivo markdown tendrá que contener estos valores, así que piensa bien lo que necesitas. Siempre puedes usar la función <code>buscar en todos los archivos</code> de tu editor de texto para renombrar las cosas, pero no es ideal seguir haciendo eso...</p>
<p>Después de importar las entradas del blog de Ghost a Gatsby, me he dado cuenta de que tenía que formatear un poco el <code>front matter</code>, así que esto, junto con la corrección de las URLs de las imágenes, la limpieza del marcado y la mejora de algunos artículos, llevará una cantidad de tiempo considerable, dependiendo de cuántas entradas tengas en tu sitio web.</p>
<h3 id="añadir-nuevas-funciones">Añadir nuevas funciones</h3>
<p>En mi caso, necesitaba añadir algunas cosas nuevas:</p>
<ul>
<li><strong>Paginación del blog</strong>: esto permitiría a los usuarios dividir la página del listado en varias páginas, de lo contrario, se mostrarían todas las entradas del blog, lo que no es ideal</li>
<li>Mover el blog desde la raíz del dominio a <code>/blog</code>**: Quería tener la página de inicio para otra cosa, así que tuve que hacer algunos cambios en el archivo <code>gatsby-config.js</code> para acomodar el blog en una URL diferente</li>
<li><strong>Crear nodos para proyectos y páginas estáticas</strong>: estos cambios requerirían nuevos archivos de diseño y cambios en la configuración</li>
</ul>
<p>Revisa el <a href="https://github.com/gazpachu/joanmira/tree/gatsby">código fuente</a> si quieres explorar cómo hice estos cambios.</p>
<h3 id="configuración-de-cicd-y-despliegue-en-páginas-de-github">Configuración de CI/CD y despliegue en páginas de GitHub</h3>
<p>Uno de los beneficios de pasar a un generador de sitios estáticos es que ya no necesito mantener un servidor por mí mismo. Puedo simplemente generar los archivos HTML, CSS y JavaScript y subirlos a las páginas de Github. Y ya está.</p>
<p>Para desplegar en GitHub, no hay necesidad de tener una integración continua y un pipeline de entrega continua. Puedes simplemente instalar el paquete <code>gh-pages</code> y añadir el script de despliegue (<code>&quot;deploy&quot;: &quot;gh-pages -d public&quot;</code>) a tu archivo <code>package.json</code>.</p>
<p>Pero, si quieres una forma automática de desplegar tu sitio web cada vez que hagas un push de algo nuevo a <code>master</code>, te recomiendo usar Netlify.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/migrate-from-ghostjs-to-gatsbyjs/images/1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Migra tu proyecto con React JSON API desde Redux a MobX]]></title>
            <link>https://www.joanmira.com/es/blog/move-your-react-json-api-project-from-redux-to-mobx</link>
            <guid>https://www.joanmira.com/es/blog/move-your-react-json-api-project-from-redux-to-mobx</guid>
            <pubDate>Tue, 23 May 2017 00:00:00 GMT</pubDate>
            <description><![CDATA[Algunas notas sobre la gestión global del estado]]></description>
            <content:encoded><![CDATA[<p>Después de unos cuantos proyectos usando Redux, me he dado cuenta de que puede no ser la mejor solución para todo tipo de proyectos. No me malinterpretes, Redux funciona muy bien, pero tiendo a encontrarme procrastinando un poco cada vez que tengo que añadir un nuevo valor al árbol de estado. Quizás se deba a la cantidad de código que se requiere para hacerlo.</p>
<p>De todos modos, este post va a ser sobre MobX. Voy a explicar paso a paso los cambios que he tenido que hacer para que funcione. Hay que tener en cuenta que también estoy usando la API JSON, así que también cubriré este aspecto.</p>
<p>En primer lugar, tienes que eliminar todos los paquetes y referencias redux de tu código base. Luego tienes que instalar los siguientes plugins de babel para permitir el uso de decoradores.</p>
<pre><code class="language-javascript">yarn add babel-plugin-transform-decorators-legacy -D
yarn add babel-plugin-transform-class-properties -D
</code></pre>
<p>Y luego definirlos en el archivo <code>.babelrc</code>:</p>
<pre><code class="language-javascript">&quot;plugins&quot;: [&quot;transform-decorators-legacy&quot;, &quot;transform-class-properties&quot;]
</code></pre>
<p>Ahora tenemos que usar babel como parser de ESLint. Añade este paquete:</p>
<pre><code class="language-javascript">yarn add babel-eslint -D
</code></pre>
<p>Luego, actualiza el parser en el archivo <code>.eslintrc</code>:</p>
<pre><code class="language-javascript">&quot;parser&quot;: &quot;babel-eslint&quot;
</code></pre>
<p>Ahora vamos a instalar los siguientes paquetes de MobX:</p>
<pre><code class="language-javascript">yarn add mobx -S
yarn add mobx-jsonapi-store -S
yarn add mobx-react -S
yarn add mobx-react-router -S
</code></pre>
<p>Esas son todas las dependencias que necesitamos hasta ahora. Ahora veamos algo de código.</p>
<p>En primer lugar, vamos a crear un <em>store</em> para manejar los estados globales de la aplicación, como el cargador, las alertas de notificaciones y otros flags comunes.</p>
<p>Crea un nuevo archivo llamado <code>store.jsx</code> y añade el siguiente código:</p>
<pre><code class="language-javascript">import { autorun, observable } from &#39;mobx&#39;;

class MainStore {
  @observable isLoading = true;
  @observable isFetching = false;
  @observable isDesktop = true;
  @observable notification: { message: &#39;&#39;, type: &#39;&#39; };
  @observable apiReady = false;
  @observable isDesktop = false;
  @observable isDesktop = false;
}

const store = new MainStore();

autorun(() =&gt; {
  // eslint-disable-next-line
  console.log(store);
});

export default store;
</code></pre>
<p>En este archivo, sólo estamos creando las variables de estado y haciéndolas observables. También estamos usando <code>autorun</code> para registrar automáticamente en la consola cualquier cambio en el <em>store</em> (sólo para propósitos de depuración).</p>
<p>Ahora, vamos a refactorizar el archivo <code>index.jsx</code>. Utilizaremos la última versión de react router (v4) y el <a href="www.material-ui.com">Material UI framework</a>, así que tenlo en cuenta.</p>
<pre><code class="language-javascript">import React from &#39;react&#39;;
import ReactDOM from &#39;react-dom&#39;;
import createBrowserHistory from &#39;history/createBrowserHistory&#39;;
import { Provider } from &#39;mobx-react&#39;;
import { RouterStore, syncHistoryWithStore } from &#39;mobx-react-router&#39;;
import { Router } from &#39;react-router&#39;;
import MuiThemeProvider from &#39;material-ui/styles/MuiThemeProvider&#39;;
import mainStore from &#39;./store&#39;;
import App from &#39;./components/app&#39;;
import &#39;./components/bundle.scss&#39;;

const browserHistory = createBrowserHistory();
const routingStore = new RouterStore();

const stores = {
  routing: routingStore,
  app: mainStore
};

const history = syncHistoryWithStore(browserHistory, routingStore);

ReactDOM.render(
  &lt;Provider {...stores}&gt;
    &lt;Router history={history}&gt;
      &lt;MuiThemeProvider&gt;
        &lt;App /&gt;
      &lt;/MuiThemeProvider&gt;
    &lt;/Router&gt;
  &lt;/Provider&gt;,
  document.getElementById(&#39;react-root&#39;)
);
</code></pre>
<p>Lo importante aquí es el objeto que contiene los <em>stores</em>, uno para el router y el otro que creamos antes. Luego pasamos estos <em>stores</em> al proveedor MobX y ¡ya está!</p>
<p>Ahora veamos el archivo <code>app.jsx</code>, que contendrá las rutas y otros componentes comunes:</p>
<pre><code class="language-javascript">import React, { Component } from &#39;react&#39;;
import { inject, observer } from &#39;mobx-react&#39;;
import { Route } from &#39;react-router-dom&#39;;
import injectTapEventPlugin from &#39;react-tap-event-plugin&#39;;
import Helmet from &#39;react-helmet&#39;;
import Notification from &#39;./common/notification/notification&#39;;
import Loader from &#39;./common/loader/loader&#39;;
import Home from &#39;./home/home&#39;;
import PageNotFound from &#39;./pageNotFound/pageNotFound&#39;;

injectTapEventPlugin();

@inject(&#39;routing&#39;) @observer
class App extends Component {
  render() {
    const title = this.props.routing.title
      ? `${this.props.routing.title} | App name`
      : &#39;App name&#39;;

    return (
      &lt;section className=&quot;app-container&quot;&gt;
        &lt;Switch&gt;
          &lt;Route exact path=&quot;/&quot; component={Home} /&gt;
          &lt;Route component={PageNotFound} title=&quot;Page not found&quot; /&gt;
        &lt;/Switch&gt;
        &lt;Helmet title={String(title)} /&gt;
        &lt;Loader /&gt;
        &lt;Notification /&gt;
      &lt;/section&gt;
    );
  }
}

export default App;
</code></pre>
<p>Todo lo que estamos haciendo aquí es crear las rutas y decirle al componente que sea un observador, para que cada vez que las variables de estado cambien, el componente se actualice. Fíjate también en que estamos leyendo el <code>title</code> de la ruta para saber qué título de página poner usando el paquete <code>Helmet</code>.</p>
<p>Recuerda usar <code>Switch</code> dentro del <code>Router</code> y establecer la ruta raíz con <code>exact</code>, de lo contrario la página no encontrada no funcionará.</p>
<p>Otro ejemplo de cómo usar MobX, es para el componente <code>Loader</code>. Necesitamos saber cuándo mostrar u ocultar el cargador, así que vamos a utilizar la variable <code>isLoading</code> del <code>store</code> que hemos creado. Si la variable es <code>true</code> entonces el cargador será visible, de lo contrario no.</p>
<p>Veamos el componente del cargador:</p>
<pre><code class="language-javascript">import React, { Component } from &#39;react&#39;;
import { inject, observer } from &#39;mobx-react&#39;;
import classnames from &#39;classnames&#39;;
import Icon from &#39;../lib/icon/icon&#39;;
import Logo from &#39;../../../assets/svg/logo.svg&#39;;

@inject(&#39;app&#39;) @observer
class Loader extends Component {
  render() {
    return (
      &lt;section
        className={classnames(&#39;loader&#39;, {
          &#39;fade-in&#39;: this.props.app.isLoading,
          &#39;fade-out&#39;: !this.props.app.isLoading
        })}
      &gt;
        &lt;div className=&quot;loader__circle&quot; /&gt;
        &lt;div className=&quot;loader__line-mask&quot;&gt;
          &lt;div className=&quot;loader__line&quot; /&gt;
        &lt;/div&gt;
        &lt;Icon glyph={Logo} className=&quot;loader__logo&quot; /&gt;
      &lt;/section&gt;
    );
  }
}

export default Loader;
</code></pre>
<p>Todo lo que estamos haciendo es establecer una clase <code>fade-in</code> o <code>fade-out</code> dependiendo del valor del estado <code>isLoading</code>.</p>
<p>Ahora, desde cualquier componente de la aplicación, podemos cambiar este valor haciendo <code>this.props.app.isLoading = false</code> y el cargador se ocultará.</p>
<p>Otra cosa que no funcionaba con el nuevo router, es la actualización de la página (con el nuevo componente) al pasar de una página a otra. Después de indagar un poco sobre el tema, encontré <a href="https://stackoverflow.com/questions/42875949/react-router-v4-redirect-not-working">esta respuesta de stack-overflow</a> que lo arregló.</p>
<p>Cuando haces <code>@inject(&#39;routing&#39;)</code> a un componente, obtienes acceso a <code>this.props.routing</code>, por lo que puedes enviar nuevas URLs al historial del navegador. Esto funcionaba bien haciendo algo como esto <code>this.props.routing.push(&#39;/leads/231234&#39;)</code>.</p>
<p>El problema era que la página no se refrescaba, así que tuve que envolver la exportación de los componentes con <code>withRouter()</code>: <code>export default withRouter(Home)</code>. Puedes importarlo desde el paquete <code>react-router</code>.</p>
<p>Por último, vamos a ver cómo integrar la API JSON con MobX. Esto es un poco más difícil, pero lo conseguiremos. El paquete que estamos utilizando es <a href="https://github.com/infinum/mobx-jsonapi-store">mobx-jsonapi-store</a>.</p>
<p>Un ejemplo sencillo de cómo solicitar datos de la API y asignarle un store sería el siguiente:</p>
<pre><code class="language-javascript">import { Store, config } from &#39;mobx-jsonapi-store&#39;;
const teststore = new Store();
config.defaultHeaders = {&#39;xxxxxx&#39;: &#39;xxxxxxxxxx&#39;};

teststore.request(&#39;http://localhost:3000/xxxxxxxxxxx&#39;)
  .then((respuesta) =&gt; {
    const Data = teststore.sync(response.data);
    console.log(Datos);
  });
</code></pre>
<p>ACTUALIZACIÓN Junio 2022: Ya no me gusta mucho usar MobX en proyectos React. Es mejor mantener todo bajo el mismo paradigma de programación funcional.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/move-your-react-json-api-project-from-redux-to-mobx/images/mobx.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Algunos ajustes más de VueJS 2 para los principiantes]]></title>
            <link>https://www.joanmira.com/es/blog/a-few-more-vuejs-2-tweaks-for-the-beginners</link>
            <guid>https://www.joanmira.com/es/blog/a-few-more-vuejs-2-tweaks-for-the-beginners</guid>
            <pubDate>Tue, 31 Jan 2017 00:00:00 GMT</pubDate>
            <description><![CDATA[Mi experiencia con este nuevo framework de JavaScript para el front-end]]></description>
            <content:encoded><![CDATA[<p>Esta es mi segunda entrada en el blog sobre VueJS 2. En la primera, cubrí <a href="/es/blog/primeras-impresiones-con-vuejs-y-como-trabajar-con-svgs">mis impresiones iniciales y cómo trabajar con SVGs</a>. En este segundo post, voy a hablar de algunas cosillas que he descubierto y que no fueron tan sencillas de entender.</p>
<p>Antes de que sigas leyendo, recuerda que estoy usando el <a href="vuejs-templates.github.io/webpack/">Vue webpack boilerplate</a>, por lo que todos mis ajustes están adaptados a él. Sin embargo, si no estás usando este boilerplate, podrías captar las ideas y aplicarlas al tuyo.</p>
<h3 id="cómo-configurar-sass-con-archivos-globales">Cómo configurar SASS con archivos globales</h3>
<p>Una de las primeras cosas que debes hacer es estructurar tu aplicación Vue con los mixins globales de SASS, variables, elementos, etc. Para ello, necesitas crear un archivo central <code>scss</code> con todas las declaraciones <code>@import</code> a otros archivos globales o comunes como <code>variables.scss</code>, <code>mixins.scss</code>. Hay varias formas de hacerlo (como siempre), pero he encontrado la siguiente, la más fácil:</p>
<ol>
<li><p>Abre <code>build/utils.js</code> y ve a la línea 43. Ahí es donde está el cargador de SASS. Luego reemplaza la línea con esto: <code>scss: generateLoaders([&#39;css&#39;, &#39;sass?data=@import &quot;~assets/styles/app&quot;;&#39;])</code>.</p>
</li>
<li><p>El cambio anterior cargará el archivo <code>assets/styles/app</code> y ahí es donde tienes que poner todos tus <code>@imports</code>.</p>
</li>
<li><p>Puedes poner otra ruta, pero yo estoy guardando todos mis archivos genéricos de SASS dentro de <code>src/assets/styles</code>.</p>
</li>
</ol>
<h3 id="cómo-enviar-datos-de-un-componente-hijo-a-su-padre-u-otros-componentes">Cómo enviar datos de un componente hijo a su padre u otros componentes</h3>
<p>De <a href="https://vuejs.org/v2/guide/components.html#One-Way-Data-Flow">los documentos oficiales de Vue</a>:</p>
<blockquote>
<p>Todos los props forman una <strong>vinculación unidireccional</strong> entre la propiedad child y la parent: cuando la propiedad parent se actualiza, fluye hacia el child, pero no al revés. Esto evita que los componentes hijos muten accidentalmente el estado del padre, lo que puede hacer que el flujo de datos de tu aplicación sea más difícil de razonar.</p>
</blockquote>
<p>Parece ser que en versiones anteriores de Vue había dos métodos, llamados <code>dispatch</code> y <code>broadcast</code>, que nos permitían comunicarnos entre componentes, pero como puedes ver en los documentos de Vue, <a href="https://vuejs.org/v2/guide/migration.html#dispatch-and-broadcast-replaced">han sido obviados</a> porque no escalan bien.</p>
<p>Así que lo que proponen es, utilizar una implementación de Flux como <a href="https://github.com/vuejs/vuex">Vuex</a>, que está <a href="https://vuejs.org/v2/guide/state-management.html">explicado aquí</a>, o si tu aplicación no va a ser muy compleja, puedes utilizar un <code>event hub</code> o <code>bus</code>. El ejemplo del <code>event hub</code> es <a href="https://vuejs.org/v2/guide/migration.html#dispatch-and-broadcast-replaced">explicado aquí</a> y el ejemplo del <code>bus</code> es <a href="https://vuejs.org/v2/guide/components.html#Non-Parent-Child-Communication">explicado aquí</a>. Creo que ambos son iguales, pero el ejemplo del <code>event hub</code> es más completo.</p>
<p>Si te decides por el <code>event hub</code>, entonces, un aspecto que los documentos no cubren es cómo inyectar el objeto `eventHub`` en todos los componentes hijos desde el componente raíz.</p>
<p>En el siguiente ejemplo, puedes ver cómo implementar el <code>eventHub</code> para que cada componente hijo pueda cambiar el encabezado de una página:</p>
<ol>
<li>En <code>main.js</code>, crea el <code>eventHub</code> y asígnalo a Vue:</li>
</ol>
<pre><code class="language-javascript">const eventHub = new Vue();
Vue.prototype.$eventHub = eventHub;
</code></pre>
<ol start="2">
<li>Luego, pasa la variable a Vue:</li>
</ol>
<pre><code class="language-javascript">new Vue({
  router,
  eventHub,
  ...
</code></pre>
<ol start="3">
<li>Ahora puedes empezar a usar <code>emit</code> y <code>on</code> en tus componentes hijos. Cada vez que <code>emit</code> lance un valor, será enviado a todos los componentes y sólo aquellos que tengan un listener (<code>on</code>) para ese evento, obtendrán el valor.</li>
</ol>
<pre><code class="language-javascript">this.$eventHub.$emit(&#39;whateverChanged&#39;, this.passThisValue);
this.$eventHub.$on(&#39;whateverChanged&#39;, this.callThisFunction);
</code></pre>
<h3 id="vídeos-y-bibliotecas-útiles-de-vue-2">Vídeos y bibliotecas útiles de VUE 2</h3>
<ul>
<li><a href="https://laracasts.com/series/learn-vue-2-step-by-step">Aprende VUE 2 paso a paso</a></li>
<li><a href="http://www.codechannels.com/channel/mindspace/">Muchos videos de VUE 2</a></li>
<li><a href="https://www.youtube.com/watch?v=z6hQqgvGI4Y">Vue.js 2.0 en 60 minutos</a></li>
</ul>
<ul>
<li>Si necesitas una librería CSS y estás cansado de Bootstrap, te recomiendo <a href="https://vuematerial.github.io">Vue Material</a>. Es súper fácil y funciona muy bien</li>
<li>Si necesitas cargar JSON, usa <a href="https://github.com/mzabriskie/axios">Axios</a>. Vue-resource ya no se mantiene.</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/a-few-more-vuejs-2-tweaks-for-the-beginners/images/vuejs.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Primeras impresiones con Vue.js y como trabajar con SVGs]]></title>
            <link>https://www.joanmira.com/es/blog/vuejs-first-impression-and-how-to-work-with-svgs</link>
            <guid>https://www.joanmira.com/es/blog/vuejs-first-impression-and-how-to-work-with-svgs</guid>
            <pubDate>Fri, 13 Jan 2017 00:00:00 GMT</pubDate>
            <description><![CDATA[Mi experiencia con este nuevo framework de JavaScript para el front-end]]></description>
            <content:encoded><![CDATA[<p>Después de un año genial trabajando con <a href="https://facebook.github.io/react/">React</a>, decidí explorar un nuevo framework. Estuve mirando <a href="http://emberjs.com/">Ember</a> (no es tan popular en este momento), <a href="http://elm-lang.org">Elm</a> (aunque no es un framework, todavía le faltan muchas cosas), <a href="https://angular.io/">Angular2</a> (no me interesa aprender TypeScript todavía) y <a href="https://vuejs.org">Vue</a> (está ganando mucho impulso). Al final, ¡elegí <a href="https://vuejs.org">Vue</a>!</p>
<p>La <strong>primera impresión fue muy buena</strong>. Los documentos de Vue son realmente buenos y su sitio web es muy claro y útil. Luego descrubrí los <a href="https://github.com/vuejs/awesome-vue">recursos impresionantes</a>, donde encontré <a href="https://github.com/SimulatedGREG/electron-vue">un par</a> <a href="https://github.com/quasarframework/quasar">de boilerplates</a> que funcionan con <a href="https://github.com/electron/electron">Electron</a>, que es una biblioteca de Git utilizada para construir aplicaciones de escritorio. ¿Utilizas el <a href="https://atom.io/">editor Git Atom</a> o la <a href="https://slack.com/downloads">aplicación de escritorio Slack</a>? ¡Entonces deberías saber que están construidas con <strong>Electron</strong>!</p>
<p>De todos modos, Electron no tiene nada que ver con Vue, pero ha sido un bonito descubrimiento y quería compartirlo.</p>
<p>El objetivo de este artículo es mostrarte cómo he conseguido montar SVGs con el <a href="https://github.com/vuejs-templates/webpack">Vue Webpack boilerplate</a>. Por cierto, si no conoces ese boilerplate, te animo a que lo consultes. Me impresionó mucho su calidad y su simplicidad a la hora de crear un nuevo proyecto. ¡Sólo se necesitan 5 líneas para hacerlo!</p>
<p>Mi intención era replicar la configuración que tenía con mi anterior boilerplate de React, donde tenía una carpeta con todos los archivos SVG y podía importarlos a mis componentes de React cada vez que los necesitaba.</p>
<p>Para ello, en tu proyecto Vue recién creado, necesitas instalar este cargador de Webpack llamado <a href="https://github.com/kisenka/svg-sprite-loader">svg-sprite-loader</a>. Luego, en <code>build/webpack.base.conf.js</code> sólo tenemos que declarar el nuevo cargador (línea 88 a 92 aprox.)</p>
<pre><code class="language-javascript">loader: &#39;svg-sprite?&#39; + JSON.stringify({
  name: &#39;[name]_[hash]&#39;,
  prefixize: true
})
</code></pre>
<p>También, en el mismo archivo, tienes que borrar el formato <code>svg</code> de la línea 72: <code>test: /\.(png|jpe?g|gif)(\?.*)?$/,</code>. Si no lo hacemos, este cargador intentaría cargar el SVG y el cargador svg-sprite no haría nada.</p>
<p>Eso es todo lo que necesitamos en cuanto a la configuración de Webpack. El siguiente paso es crear un nuevo componente llamado <code>Icon</code>. Este componente será útil para representar archivos SVG inline en nuestras páginas. Recuerde que esta es la única forma en que podemos cambiar los colores de los SVG usando <code>fill</code> o <code>stroke</code>. Si los cargamos como fondos CSS o con etiquetas <code>&lt;img&gt;</code>, no se podrá modificar sus colores.</p>
<p>Crea un nuevo archivo llamado <code>Icon.vue</code> dentro de la carpeta <code>src/components</code> y pega el siguiente código:</p>
<pre><code class="language-javascript">&lt;template&gt;
  &lt;svg :class=&quot;className&quot; :width=&quot;width&quot; :height=&quot;height&quot;&gt;
    &lt;use :xlink:href=&quot;glyph&quot; /&gt;
  &lt;/svg&gt;
&lt;/template&gt;

&lt;script&gt;
export default {
  name: &#39;icon&#39;,
  props: [&#39;className&#39;, &#39;glyph&#39;, &#39;width&#39;, &#39;height&#39;],
};
&lt;/script&gt;

&lt;style scoped&gt;
.icon {
  display: inline-block;
}
&lt;/style&gt;
</code></pre>
<p>Esta es una implementación básica. Puedes ampliarla con más código CSS o props.</p>
<p>Finalmente, para cargar los SVGs, voy a mostrarte un ejemplo sencillo de cómo cargar un icono con un logo y un icono de cierre para el componente principal de la App, donde tenemos el diseño de la misma. Si aún no has modificado el boilerplate (lo cual es poco probable), tendrás un componente <code>App</code>. Si no es el caso, no te preocupes, este ejemplo se aplica a cualquier componente.</p>
<p>Veamos primero el código y luego podemos revisarlo:</p>
<pre><code class="language-javascript">&lt;template&gt;
  &lt;div id=&quot;app&quot;&gt;
    &lt;icon width=&quot;100&quot; height=&quot;100&quot; :glyph=&quot;Logo&quot;&gt;&lt;/icon&gt;
    &lt;icon width=&quot;100&quot; height=&quot;100&quot; :glyph=&quot;Close&quot;&gt;&lt;/icon&gt;
  &lt;/div&gt;
&lt;/template&gt;

&lt;script&gt;
import Icon from &#39;./components/Icon&#39;;
import Logo from &#39;./assets/logo.svg&#39;;
import Close from &#39;./assets/close.svg&#39;;

export default {
  name: &#39;app&#39;,
  components: {
    Icon,
  },
  data() {
    return { Logo, Close };
  },
};
&lt;/script&gt;
</code></pre>
<p>Siempre que quieras añadir un nuevo SVG a su plantilla, tienes que añadir código en 4 lugares diferentes:</p>
<ol>
<li><p>Importa el archivo desde la carpeta <code>assets</code>: <code>import Logo from &#39;./assets/logo.svg&#39;;</code></p>
</li>
<li><p>Añade el componente <code>Icon</code> al objeto <code>components</code>.</p>
</li>
<li><p>Devuelve el SVG importado en la función <code>data</code>.</p>
</li>
<li><p>Llama al componente <code>Icon</code> y pásale los props adecuados: <code>&lt;icon width=&quot;100&quot; height=&quot;100&quot; :glyph=&quot;Logo&quot;&gt;&lt;/icon&gt;</code>.</p>
</li>
</ol>
<p>Eso es todo.</p>
<p>Si encuentras una mejor manera de hacer esto. Por favor, compártela en los comentarios. Gracias.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/vuejs-first-impression-and-how-to-work-with-svgs/images/vuejs.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo configurar una aplicación Node.js (React ES6) para producción en Ubuntu con Nginx y autenticación básica]]></title>
            <link>https://www.joanmira.com/es/blog/how-to-set-up-a-react-es6-app-for-production-on-ubuntu</link>
            <guid>https://www.joanmira.com/es/blog/how-to-set-up-a-react-es6-app-for-production-on-ubuntu</guid>
            <pubDate>Wed, 17 Aug 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Unos apuntes sobre devops e infraestructura para proyectos ligeros y pequeños]]></description>
            <content:encoded><![CDATA[<h3 id="introducción">Introducción</h3>
<p>Node.js es un entorno de ejecución de JavaScript de código abierto para construir fácilmente aplicaciones del lado del servidor. La plataforma funciona en Linux, OS X, FreeBSD y Windows. Las aplicaciones Node.js pueden ejecutarse en la línea de comandos, pero nos centraremos en ejecutarlas como un servicio, de modo que se reinicien automáticamente al reiniciar o fallar, y puedan utilizarse con seguridad en un entorno de producción.</p>
<p>En este tutorial, cubriremos la configuración de un entorno Node.js listo para producción en un único servidor Ubuntu 16.04. Este servidor ejecutará una aplicación Node.js gestionada por PM2, y proporcionará a los usuarios un acceso seguro a la aplicación a través de un proxy inverso Nginx con autenticación básica.</p>
<h3 id="prerrequisitos">Prerrequisitos</h3>
<p>Esta guía asume que tienes un servidor Ubuntu 16.04 (también funciona con Ubuntu 14). Si aún no tienes uno, te recomiendo <a href="https://www.digitalocean.com/">Digital Ocean</a>, <a href="http://ovh.com">OVH</a> o <a href="https://aws.amazon.com/">Amazon AWS</a>.</p>
<p>También asume que tienes un nombre de dominio, apuntando a la dirección IP pública del servidor.</p>
<p>Comencemos por conectarnos al servidor vía SSH.</p>
<h3 id="conectarse-al-servidor-vía-ssh">Conectarse al servidor vía SSH</h3>
<p>Una vez que tu servidor está en funcionamiento, debes tener una dirección IP o DNS que puedas utilizar para conectarte al servidor. En este ejemplo, vamos a utilizar las DNS de una micro instancia de Ubuntu de Amazon AWS EC2.</p>
<p>Durante el proceso de configuración del servidor, debes crear o utilizar una clave existente. Descárgala en una carpeta de tu ordenador (normalmente ~/.ssh/) y ejecuta el siguiente comando desde tu terminal:</p>
<p><code>ssh -i ~/carpeta/para/su/ssh/key.pem ubuntu@ec2-28-28-82-82.eu-central-1.compute.amazonaws.com</code></p>
<p>Esto debería darte acceso al servidor.</p>
<p><strong>Nota</strong>: asegúrate de que tu instancia acepta tráfico HTTP. En Amazon AWS tienes que ir a <em>grupos de seguridad</em>, y añadir HTTP / TCP / Puerto 80 a las reglas de entrada del grupo de seguridad de tu instancia.</p>
<h3 id="instalar-nodejs">Instalar Node.js</h3>
<p>Vamos a instalar la última versión actual de Node.js, utilizando los archivos de paquetes de NodeSource.</p>
<p>Primero, necesitas instalar el PPA de NodeSource para poder acceder a su contenido. Asegúrate de que estás en tu directorio principal y utiliza curl para recuperar el script de instalación de los archivos de Node.js 6.x:</p>
<pre><code>cd ~
curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh
</code></pre>
<p>Y ejecuta el script bajo sudo:</p>
<p><code>sudo bash nodesource_setup.sh</code></p>
<p>El PPA se añadirá a tu configuración y tu caché de paquetes local se actualizará automáticamente. Después de ejecutar el script de configuración de nodesource, puedes instalar el paquete de Node.js de la misma manera que lo hiciste anteriormente:</p>
<p><code>sudo apt-get install nodejs</code></p>
<p>El paquete nodejs contiene el binario de nodejs así como npm, por lo que no necesitas instalar npm por separado. Sin embargo, para que algunos paquetes de npm funcionen (como los que requieren compilar código desde la fuente), necesitarás instalar el paquete build-essential:</p>
<p><code>sudo apt-get install build-essential</code>.</p>
<p>Node.js está ahora instalado, y listo para ejecutar una aplicación!</p>
<h3 id="clonar-tu-aplicación">Clonar tu aplicación</h3>
<p>Asegúrate de que git está instalado:</p>
<p><code>sudo apt-get install git</code></p>
<p>A continuación, clona tu aplicación desde GitHub (o cualquier otro repositorio) a <code>/opt/your_app</code>. El directorio /opt/ es una ubicación estándar para el software que no se instala desde los repositorios de paquetes oficiales de la distribución:</p>
<p><code>sudo git clone https://github.com/your_user/your_app /opt/your_app</code>.</p>
<p>Cambia al directorio de tu aplicación:</p>
<p><code>cd /opt/your_app</code></p>
<p>Ejecuta npm install, bower install o cualquier otro comando que necesites para configurar tu aplicación. Asegúrate de que no hay errores de compilación y una vez que hayas terminado, cierra tu aplicación y procede al siguiente paso.</p>
<h3 id="configurar-nginx-como-servidor-proxy-inverso">Configurar Nginx como servidor proxy inverso</h3>
<p>Ahora que tu aplicación está funcionando, necesitas configurar una forma para que tus usuarios accedan a ella. Para ello configuraremos un servidor web Nginx como proxy inverso. En este tutorial se configurará un servidor Nginx desde cero. Si ya tienes un servidor Nginx configurado, puedes simplemente copiar el bloque de ubicación en el bloque de servidor de tu elección (asegúrate de que la ubicación no entra en conflicto con ningún contenido existente de tu servidor web).</p>
<p>Primero, instala Nginx usando apt-get:</p>
<p><code>sudo apt-get install nginx</code></p>
<p>Ahora abra el archivo de configuración del bloque del servidor por defecto para editarlo:</p>
<p><code>sudo nano /etc/nginx/sites-available/default</code></p>
<p>Borra todo lo que hay en el archivo e inserta la siguiente configuración. Asegúrate de sustituir la directiva <code>server_name</code> por su propio nombre de dominio. Además, cambia el puerto (8080) si tu aplicación está configurada para escuchar en un puerto diferente:</p>
<pre><code class="language-javascript">server {
    listen 80;

    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#39;upgrade&#39;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
</code></pre>
<p>Esto configura el servidor para responder a las peticiones en su raíz. Suponiendo que nuestro servidor está disponible en example.com, el acceso a <a href="http://example.com/">http://example.com/</a> a través de un navegador web enviaría la solicitud a su aplicación, escuchando en el puerto 8080 en localhost.</p>
<p>Una vez que hayas terminado de añadir los bloques de ubicación para tus aplicaciones, guarda y sal.</p>
<p>A continuación, reinicia Nginx:</p>
<p><code>sudo service restart nginx</code></p>
<p>Asumiendo que tu aplicación Node.js se está ejecutando, y que las configuraciones de tu aplicación y de Nginx son correctas, ahora deberías poder acceder a tu aplicación a través del proxy inverso de Nginx. Pruébalo accediendo a la URL de tu servidor (tu dirección IP pública o nombre de dominio).</p>
<h3 id="configurar-la-autenticación-básica">Configurar la autenticación básica</h3>
<p>A veces, no queremos que todo el mundo vea nuestra aplicación hasta que no esté completamente lista. Por esa y otras razones, podríamos implementar un sistema simple de autenticación de usuarios que solicite un nombre de usuario y una contraseña.</p>
<p>Primero, vamos a crear el archivo de contraseñas usando las utilidades de OpenSSL. Crearemos un archivo oculto llamado .htpasswd en el directorio de configuración /etc/nginx para almacenar nuestras combinaciones de nombre de usuario y contraseña.</p>
<p>Puedes añadir un nombre de usuario al archivo usando este comando. Nosotros estamos usando &#39;pepe&#39; como nombre de usuario, pero puedes usar el nombre que quieras:</p>
<p><code>sudo sh -c &quot;echo -n &#39;pepe:&#39; &gt;&gt; /etc/nginx/.htpasswd&quot;</code></p>
<p>A continuación, añade una entrada de contraseña cifrada para el nombre de usuario escribiendo:</p>
<p><code>sudo sh -c &quot;openssl passwd -apr1 &gt;&gt; /etc/nginx/.htpasswd&quot;</code></p>
<p>Puedes repetir este proceso para otros nombres de usuario. Puedes ver cómo se almacenan los nombres de usuario y las contraseñas cifradas dentro del archivo escribiendo</p>
<p><code>cat /etc/nginx/.htpasswd</code></p>
<h3 id="configurar-la-autenticación-de-contraseñas-de-nginx">Configurar la autenticación de contraseñas de Nginx</h3>
<p>Ahora que tenemos un archivo con nuestros usuarios y contraseñas en un formato que Nginx puede leer, necesitamos configurar Nginx para que compruebe este archivo antes de servir nuestro contenido protegido.</p>
<p>Comienza abriendo de nuevo el archivo de configuración del bloque del servidor que abrimos anteriormente:</p>
<p><code>sudo nano /etc/nginx/sites-enabled/default</code></p>
<p>Para configurar la autenticación, hay que decidir el contexto a restringir. Entre otras opciones, Nginx permite establecer restricciones a nivel de servidor o dentro de una ubicación específica. En nuestro ejemplo, restringiremos toda la raíz del documento con un bloque de ubicación, pero puedes modificar este listado para que sólo se dirija a un directorio específico dentro del espacio web:</p>
<p>Dentro de este bloque de ubicación, utiliza la directiva auth_basic para activar la autenticación y elije un nombre de dominio que se mostrará al usuario cuando se le soliciten las credenciales. Utilizaremos la directiva <code>auth_basic_user_file</code> para dirigir a Nginx al archivo de contraseñas que hemos creado:</p>
<pre><code class="language-javascript">server {
    listen 80;

    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#39;upgrade&#39;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        auth_basic &quot;Restricted Content&quot;;
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
</code></pre>
<p>Guarda y cierra el archivo cuando hayas terminado. Reinicia Nginx para implementar la política de contraseñas:</p>
<p><code>sudo service nginx restart</code></p>
<p>El directorio que has especificado debería estar ahora protegido por contraseña.</p>
<h3 id="instalar-pm2">Instalar PM2</h3>
<p>PM2 es un gestor de procesos para aplicaciones Node.js. PM2 proporciona una manera fácil de gestionar y daemonizar aplicaciones (ejecutarlas en segundo plano como un servicio).</p>
<p>Utilizaremos npm, un gestor de paquetes para módulos Node que se instalan con Node.js, para instalar PM2 en nuestro servidor. Utiliza este comando para instalar PM2:</p>
<p><code>sudo npm install -g pm2</code></p>
<p>La opción -g le dice a npm que instale el módulo globalmente para que esté disponible en todo el sistema.</p>
<p>PM2 es simple y fácil de usar. Vamos a cubrir algunos usos básicos de PM2.</p>
<h3 id="iniciar-la-aplicación">Iniciar la aplicación</h3>
<p>Lo primero que querrás hacer es utilizar el comando pm2 start para ejecutar tu aplicación, hello.js, en segundo plano:</p>
<p><code>pm2 start hello.js</code></p>
<p>En algunos casos, tu aplicación puede utilizar <code>npm start</code> para iniciar su ejecución. Si ese es el caso, puedes iniciar tu aplicación con PM2 de la siguiente manera</p>
<p><code>pm2 start npm -- start</code></p>
<p><strong>Nota</strong>: la configuración de producción de cada aplicación puede ser muy diferente, por lo que no cubriremos eso en este tutorial. Sólo asegúrate de ejecutar el comando que ejecutará las tareas de producción para agrupar y ejecutar la aplicación.</p>
<p>Esto también añade la aplicación a la lista de procesos de PM2, que se muestra cada vez que se inicia una aplicación:</p>
<pre><code class="language-html">[PM2] Creando el demonio PM2
[PM2] PM2 ha sido demonio con éxito
[PM2] Iniciando npm en modo fork_mode (1 instancia)
[PM2] Hecho.
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ memory      │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ npm      │ 0  │ fork │ 3524 │ online │ 0       │ 0s     │ 21.566 MB   │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘
Usa `pm2 show &amp;lt;id|name&amp;gt;` para obtener más detalles sobre una aplicación
</code></pre>
<p>Como puedes ver, PM2 asigna automáticamente un nombre de App (basado en el nombre del archivo, sin la extensión .js) y un id de PM2. PM2 también mantiene otra información, como el PID del proceso, su estado actual y el uso de la memoria.</p>
<p>Las aplicaciones que se ejecutan bajo PM2 se reiniciarán automáticamente si la aplicación se cuelga o se mata, pero hay que dar un paso adicional para que la aplicación se inicie en el arranque del sistema (boot o reboot). Por suerte, PM2 proporciona una manera fácil de hacer esto, el subcomando de inicio.</p>
<p>El subcomando de inicio genera y configura un script de inicio para lanzar PM2 y sus procesos gestionados al arrancar el servidor. También hay que especificar la plataforma en la que se está ejecutando, que es ubuntu, en nuestro caso:</p>
<p><code>sudo pm2 startup ubuntu</code>.</p>
<p>Esto creará una unidad <code>systemd</code> que ejecuta pm2 para tu usuario en el arranque. Esta instancia de pm2, a su vez, ejecuta <code>npm start</code>.</p>
<h3 id="otros-usos-de-pm2-opcional">Otros usos de PM2 (Opcional)</h3>
<p>PM2 proporciona muchos subcomandos que permiten gestionar o buscar información sobre aplicaciones. Ten en cuenta que la ejecución de pm2 sin ningún argumento mostrará una página de ayuda, incluyendo ejemplos de uso, que cubre el uso de PM2 en más detalle que esta sección del tutorial.</p>
<p>Detener una aplicación con este comando (especifica el nombre o id de la aplicación PM2):</p>
<p><code>pm2 stop nombre_de_la_aplicación_o_id</code>.</p>
<p>Reiniciar una aplicación con este comando (especifica el nombre o el identificador de la aplicación PM2):</p>
<p><code>pm2 restart app_name_or_id</code></p>
<p>La lista de aplicaciones gestionadas actualmente por PM2 también puede consultarse con el subcomando list:</p>
<p><code>pm2 list</code>.</p>
<p>Se puede encontrar más información sobre una aplicación específica utilizando el subcomando info (especifica el nombre o el identificador de la aplicación PM2):</p>
<p><code>pm2 info example</code></p>
<p>El monitor de procesos de PM2 se puede consultar con el subcomando monit. Esto muestra el estado de la aplicación, la CPU y el uso de la memoria:</p>
<p><code>pm2 monit</code></p>
<p>Ahora que tu aplicación Node.js se está ejecutando, y es gestionada por PM2, vamos a configurar el proxy inverso.</p>
<h3 id="disclaimer">Disclaimer</h3>
<p>Este tutorial está basado en el gran trabajo de <a href="https://www.digitalocean.com/community/tutorials/">Digital Ocean community tutorials</a>. En mi opinión, uno de los mejores sitios en Internet en términos de cosas relacionadas con el sys-admin.</p>
<ul>
<li><a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-password-authentication-with-nginx-on-ubuntu-14-04">Cómo configurar la autenticación por contraseña con nginx en ubuntu 14 04</a></li>
<li><a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04">Cómo configurar una aplicación node js para producción en ubuntu 16 04</a></li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/how-to-set-up-a-react-es6-app-for-production-on-ubuntu/images/ubuntu-react-nodejs.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Libros especiales para mí]]></title>
            <link>https://www.joanmira.com/es/blog/books-that-have-had-the-greatest-impact-on-me</link>
            <guid>https://www.joanmira.com/es/blog/books-that-have-had-the-greatest-impact-on-me</guid>
            <pubDate>Sat, 02 Jul 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Algunos libros que quiero compartir porque me han resultado enriquecedores de alguna forma]]></description>
            <content:encoded><![CDATA[<p>Aunque no haya leído todo lo que me habría gustado (algo que quiero poner remedio), soy un gran defensor de la literatura. Es sin lugar a dudas el mejor medio para aprender (en general) <strong>de forma profunda</strong> sobre muchos temas. Los grandes pensadores, artistas e intelectuales son todos amantes de los libros. ¿Eso tiene que significar algo, verdad?</p>
<p>¿No te has parado a pensar nunca, el grandísimo trabajo que hay detrás de un libro? A veces es el trabajo de toda una vida el que acaba condensado en un libro. De forma que, cuando lo leemos, estamos adquiriendo (de forma resumida) el conocimiento de la persona que lo escribió. Esa es la grandeza de los libros. Es como cuando en la película Matrix, a Neo le enchufaban la cabeza a un cable y le empezaban a cargar programas de artes marciales...</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/books-that-have-had-the-greatest-impact-on-me/images/kungfu-matrix.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/books-that-have-had-the-greatest-impact-on-me/images/kungfu-matrix.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/books-that-have-had-the-greatest-impact-on-me/images/kungfu-matrix-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/books-that-have-had-the-greatest-impact-on-me/images/kungfu-matrix-mobile.jpg" />
          <img class="image" src="/blog/books-that-have-had-the-greatest-impact-on-me/images/kungfu-matrix.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<p>Durante mi vida, he ido leyendo diferentes tipos de libros. Cuando era pequeño, solía leer novelas y libros de ciencia ficción. Luego empecé a interesarme por la psicología, los libros de auto-ayuda, filosofía y religión. Luego me pico el gusanillo con los libros de viajes y de arte. Actualmente, los libros que más leo son los relacionados con mi trabajo. Cosas de programación, tecnología, ciencia y algo relacionado con los emprendedores y los negocios.</p>
<p>La verdad es que es complicado sacar tiempo para poder leer libros de todo tipo. Por tanto, no puedo culpar a nadie de no hacerlo! Lo entiendo perfectamente.</p>
<p>El pasado viernes, mi vuelo de Alicante a Londres se retrasó, así que se me ocurrió la idea de comprar un libro para ir haciendo tiempo hasta que llegara la hora de embarcar. Encontré una novela de Haruki Murakami. Se llama &#39;<strong>Kafka en la orilla</strong>&#39; y es la historia de un chico joven que se va de casa a los 15 años. La verdad es que me ha enganchado! He empezado a recordar el placer que se siente cuando encuentras un libro que realmente te gusta mucho y que no puedes dejar de leer! Por eso, he decidido hacer un poco de retrospección y revisar algunos de los libros que he leído durante mi vida y me han marcado de algún modo.</p>
<p>A continuación, he preparado una pequeña lista de libros que han sido especiales para mí por alguna razón. Podría incluso llegar a decir que algunos de estos libros me han cambiado la vida! No esperéis nada del otro mundo. Los tochos mega-intelectuales (filosofía y religión) muchas veces me dan sueño, así que tengo un montón de libros pendientes de terminar ¯\<em>(ツ)</em>/¯</p>
<iframe src="https://rcm-eu.amazon-adsystem.com/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=gazpachu06-21&o=30&p=8&l=as1&m=amazon&f=ifr&ref=tf_til&asins=B00CSJYYO4" style="float:right;width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

<p><strong>El alquimista</strong> (Paolo Coelho) y <strong>El monje que vendió su Ferrari</strong> (Robin Sharma): estos dos libros que leí en el verano de 2007 fueron el caldo de cultivo de la <a href="/samurai-route">ruta samurai</a>. Fueron una gran inspiración para mi y me ayudaron a visualizar la forma en la que debía prepararme para aquel gran viaje. El alquimista también me inspiró a realizar un viaje a lo mochilero por Marruecos, donde sucedieron multitud de aventuras.</p>
<p><strong>En el filo de la navaja</strong> (William Somerset Maugham): este libro lo leí en mis viajes de metro cuando vivía solo en París. En cierto modo, amplificó ese sentimiento de aventura que estaba sintiendo al vivir por primera vez en un país distinto.</p>
<p><strong>En el camino</strong> (Jack Kerouac): este libro lo leí durante mi viaje por el sur de España y luego Marruecos. Leer libros de viajes mientras se viaja es muy excitante.</p>
<p><strong>Zen, it&#39;s history and teachings</strong> (Osho): este libro lo encontré en la casa de mis suegros en Manila, Filipinas. Era mi último día allí antes de volver a Londres, así que le pedí a mi suegro que me dejara llevármelo. Me gustó mucho leer sobre el Zen y descubrir como al final todo se concentra en soltar una carcajada! ¿Te has quedado desconcertado/a? Pues ya sabes... :)</p>
<p><strong>Un geek en Japón</strong> (Héctor García): llevo siguiendo el blog de <a href="http://kirainet.com">Kirai</a> desde su comienzo, allá por el año 2005. Desde entonces, ya estaba entusiasmado con las historias que publicaba sobre sus vivencias en Japón. Por tanto, no es de extrañar que su primer libro lo disfrutara igual o más que las entradas en su blog. Aún tengo pendiente leer su último libro, <a href="http://www.kirainet.com/ikigai-los-secretos-de-japon-para-una-vida-larga-y-feliz/">Ikigai</a>, del cual he leído un <a href="http://www.lavanguardia.com/lacontra/20160516/401820516617/con-110-anos-todo-lo-que-haga-deberia-ser-instinto-de-vida.html">artículo en el periódico La Vanguardia</a> y tiene muy buena pinta!</p>
<p><strong>The dream</strong> (Gurbaksh Chahal): este fue el primer libro que leí relacionado con los emprendedores. Me quedé fascinado por la historia de Gurbaksh y de como su determinación y ambición le habían llevado a hacerse millonario siendo muy jóven.</p>
<p><strong>Tus zonas erróneas</strong> (Wayne Dyer) y <strong>La brújula interior</strong> (Alex Rovira): estos dos libros son de la época cuando descubrí los libros de auto-ayuda. Me flipé un poco con el tema y estuve leyendo otros relacionados con la inteligencia emocional, el positivismo, etc. En general, me fueron muy útiles para poner en práctica algunas cosas en mis relaciones con los demás. Quieras o no quieras, cuando sales por primera vez de tu casa y te enfrentas al mundo, hay cosas que tienes que aprender para desenvolverte mejor en la sociedad, y estos libros son sin duda una gran ayuda en esos momentos.</p>
<iframe src="https://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&o=30&p=8&l=as1&asins=1517513049&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="float:right;width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

<p><strong>Siddharta</strong> (Herman Hess): llamándome Joan Siddharta, habría sido un pecado gordo no haber leído este libro! En cualquier caso, es una historia muy bonita que recomiendo a todos leer. Además, tiene unas enseñanzas que bien me gustaría que todo el mundo pusiera más en práctica. Como por ejemplo, el deshacerse de las posesiones materiales o el tratar la naturaleza y los animales con amor y respeto. Quién sabe..., quizás alguno de vosotros llegue a experimentar el nirvana? :)</p>
<p><strong>Congreso de futurología</strong> (Stanislaw Lem): este fue el primer libro de ciencia-ficción que leí. No recuerdo la edad, pero sería alrededor de los 12 o 14 años. Seguramente no le saqué todo lo que podría, pero recuerdo haberme quedado bastante flipado.</p>
<p>Seguro que hay alguno más que ha sido especial, pero como la mayoría de mis libros los tengo en Alicante, no consigo acordarme. Lo que voy a hacer es ir actualizando esta entrada del blog a medida que me vaya acordando de otros libros.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/books-that-have-had-the-greatest-impact-on-me/images/bookshelf.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[LMS de código abierto con React y Node.js]]></title>
            <link>https://www.joanmira.com/es/blog/open-source-lms-with-react-and-node-js</link>
            <guid>https://www.joanmira.com/es/blog/open-source-lms-with-react-and-node-js</guid>
            <pubDate>Sun, 29 May 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Una nueva luz en el mundo de los sistemas de gestión del aprendizaje de código abierto con mi punto de vista]]></description>
            <content:encoded><![CDATA[<p><strong>ACTUALIZACIÓN 08/2016</strong>: Por favor, consulta <a href="https://joanmira.com/hypatia">esta página</a> para conocer las últimas noticias sobre el proyecto. ¡Gracias!</p>
<p>Si todo va como se espera, el próximo semestre comenzaré mi proyecto final de carrera universitaria. Decidí aprovechar esa &quot;obligación&quot; para hacer algo útil para la comunidad y al mismo tiempo mejorar mis habilidades en React y Node.js. Así fue como llegué a la idea de construir un <strong>Sistema de Gestión de Aprendizaje de Código Abierto</strong>.</p>
<p>Otra razón por la que elegí construir un LMS es que sigo viendo cómo se podrían hacer mejor las cosas en el campus virtual de mi universidad. Particularmente <strong>tengo muchas cosas que decir con respecto a la forma en que los estudiantes interactúan entre sí y con el profesor</strong>. El sistema actual no proporciona una comunicación ágil. Se siente lento, con ventanas emergentes, abarrotado de firmas y otros datos no relevantes. Quiero construir una plataforma que tome lo mejor de otros productos de éxito (que uso en mi trabajo), como <a href="https://slack.com/">Slack</a> o <a href="https://trello.com/">Trello</a> y los adapte para entornos educativos.</p>
<p>En los últimos días, he estado buscando en la web y en los <a href="https://github.com/search?l=JavaScript&amp;o=desc&amp;q=LMS&amp;s=stars&amp;type=Repositories&amp;utf8=%E2%9C%93">repositorios de GitHub para proyectos de JS LMS</a>, tratando de ver si hay algo así ya en marcha, pero <strong>no he encontrado ninguno</strong> con una presencia fuerte (lo cual es una buena noticia). No estoy seguro de si empezaría el proyecto si alguien ya lo ha hecho. De todos modos, ¡quizás si lo haría!</p>
<p>Por supuesto, hay otros LMS con APIs y stacks modernos, como <a href="https://www.canvaslms.com/try-canvas">Canvas LMS</a> o <a href="http://www.blackboard.com/learning-management-system/blackboard-learn.aspx">Blackboard</a> (41% de la cuota de mercado), <a href="http://www.d2l.com/">D2L</a>, <a href="https://www.kannu.com/">Kaanu</a>, pero no están usando el mismo stack que yo quiero usar y no se dirigen a los desarrolladores. Al mismo tiempo, creo que tener más opciones de código abierto sería mejor para todos.</p>
<p>Sé que suena como un compromiso muy fuerte para una sola persona y un enorme proyecto paralelo (ya que todavía estoy trabajando a tiempo completo), pero esto va a ser como un patio de recreo para mí, donde puedo aprender sobre la tecnología que me gusta y al mismo tiempo producir algo útil.</p>
<p>Estos son algunos de los requisitos en los que ya he pensado:</p>
<ul>
<li><p>El objetivo final es ofrecer algo a la comunidad que se sienta como <strong>el WordPress de los LMS</strong>. Algo lo suficientemente flexible como para adaptarse a la mayoría de las necesidades siendo muy abierto y fácil de extender / escalar</p>
</li>
<li><p>Hasta ahora, quiero utilizar una tecnología similar a la utilizada en el proyecto <a href="https://developer.wordpress.com/calypso/">WordPress Calypso</a>. El cada vez más popular <a href="https://facebook.github.io/react/">React</a> y <a href="https://facebook.github.io/react-native/">React Native</a>, <a href="https://facebook.github.io/flux/">Flux</a>, <a href="https://babeljs.io/">Babel.js</a> para ES6, <a href="https://webpack.github.io/">Webpack</a> como bundler, <a href="https://nodejs.org/en/">Node.js</a> como plataforma backend y quizás <a href="https://loopback.io/">Loopback</a> para construir la API</p>
</li>
<li><p>La UX y el <strong>diseño responsivo</strong> tienen que ser perfectos. Este es un requisito muy importante, ya que no quiero crear algo que se parezca a <a href="https://moodle.org/">Moodle</a> (23% de la cuota de mercado), que tiene una interfaz de usuario muy antigua.</p>
</li>
<li><p>La página de inicio mostrará una lista de cursos disponibles, de la misma manera que lo hace <a href="https://www.udemy.com/">Udemy</a></p>
</li>
<li><p>Tiene que ser <strong>en tiempo real</strong>, con una comunicación ágil como <a href="https://slack.com/">Slack</a>. No más foros, correos electrónicos u otros sistemas lentos y desordenados para hablar entre los estudiantes y profesores</p>
</li>
<li><p>Quiero incluir <strong>cuestiones</strong>, algo similar a lo que hice con <a href="http://quizwars.herokuapp.com/">Quizwars</a> y probablemente inspirarme en <a href="https://www.quizup.com/">QuizUp</a></p>
</li>
<li><p>Necesita <strong>integrarse fácilmente</strong> con <a href="https://www.google.com/docs/about/">Google Docs</a>, <a href="https://trello.com/">Trello</a>, <a href="https://www.dropbox.com">Dropbox</a> y otras herramientas externas. ¡Quiero usar Internet como un CMS!</p>
</li>
<li><p>Tiene que tener una <strong>API REST abierta</strong>, para que los usuarios puedan crear sus front-ends</p>
</li>
<li><p>Tiene que ser <strong>social</strong> e implementar <strong>análisis de aprendizaje</strong></p>
</li>
<li><p>Tiene que tener un <strong>nombre atractivo</strong> con un dominio gratuito .com y .org (esto va a ser difícil)</p>
</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/open-source-lms-with-react-and-node-js/images/online-learning.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Los antecedentes de los medios interactivos]]></title>
            <link>https://www.joanmira.com/es/blog/the-background-of-interactive-media</link>
            <guid>https://www.joanmira.com/es/blog/the-background-of-interactive-media</guid>
            <pubDate>Sat, 05 Mar 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Un artículo de opinión sobre como afectan las nuevas tecnologías a las vidas de las personas]]></description>
            <content:encoded><![CDATA[<p>El siguiente artículo es una reflexión sobre la importancia y significación de la vida cotidiana, la globalización y la inteligencia colectiva para el nacimiento de los medios de comunicación en masa y la consolidación de la sociedad de la información.</p>
<p>Además, este artículo es un trabajo de la asignatura de <a href="http://cv.uoc.edu/tren/trenacc/web/GAT_EXP.PLANDOCENTE?any_academico=20152&amp;cod_asignatura=76.523&amp;idioma=CAS&amp;pagina=PD_PREV_PORTAL">Medios interactivos</a> del <a href="http://estudios.uoc.edu/es/grados/multimedia/presentacion">Grado Multimedia de la UOC</a>.</p>
<h3 id="la-vida-cotidiana">La vida cotidiana</h3>
<p>Recientemente, mi padre publicó una nota en Facebook, en la cual decía lo siguiente:</p>
<p>Creo que la obsesión tecnológica se está convirtiendo en una pesadilla ¿Nos libera la hipertecnología? ¿Tal vez de nosotros mismos? ¿Será un lujo tener un YO en el mundo que estamos o están...construyendo? ¿Crea la hipertecnología puestos de trabajo o más bien los destruye a un ritmo cada vez mayor? En fin, a mi personalmente no me gusta un pelo el mundo que viene. Creo que es más bien terrorífico, deshumanizador..., eso sí... de una manera ligera (light, soft, etc). Para que no veamos la cara del monstruo. Pero ya se va viendo algo y <a href="http://www.eldiario.es/cienciacritica/Evolucion-tecnologia-sueno-pesadilla_6_233136711.html">aquí tenemos al androide sonriente</a>...</p>
<p>Es una opinión crítica contra la tecnología de una persona de 65 años. Licenciado en Filosofía, catedrático de Historia y usuario de nuevas tecnologías desde que tiene uso de razón. En cualquier caso, encaja bastante bien dentro del perfil de una persona jubilada de su actividad laboral y que en teoría tiene tiempo libre para aprender a usar las nuevas tecnologías y a participar en los medios interactivos.
Su opinión no era nueva para mi, ya que en otras ocasiones habíamos hablando del tema. Mi reacción inicial fue defender los beneficios de la tecnología para la humanidad. Repliqué en Inglés:</p>
<blockquote>
<p>Because of technology, a lot of people have access to information, a lot of diseases are being cured, the universe is being explored and we are having this conversation. How technology can be a bad thing? Just because kids use their phones in the table while having lunch with their parents?</p>
</blockquote>
<p>La conversación continuo con varios intercambios de opiniones, hasta que al final, me reveló el motivo de su frustración:</p>
<p>Entre 1987 y 1992 yo tenia entre 35 y 40 años y pertenecía a la generación de &quot;los reyes del mambo&quot; o &quot;los putos amos&quot; (como dicen ahora). Con los cassettes, los VHS y el Fax (ultima maravilla tecnológica) nos sentíamos de puta madre. Llegan los 90 y con ellos el PC e Internet y, de ser los putos amos, nos vamos convirtiendo en &quot;material reciclable&quot;. Es una historia que se repite siempre. De ahí que nadie de mi generación flipe con las tecnologías que nos destronaron ni les haga reverencias. Las usamos en lo que podemos, sabiendo que cada vez nos será mas difícil estar al día e incluso participar. En todo esto también exagero pero es una manera de llamar la atención y desahogar una cierta frustración.</p>
<p>En cierta medida, no le falta razón. Las nuevas tecnologías han redefinido muchos aspectos de nuestra vida y siguen haciéndolo a un ritmo exponencial. De hecho, para los profesionales que trabajamos en algo relacionado con Internet o las nuevas tecnologías, no hay ningún año que pase que no tengamos que aprender un nuevo paradigma, framework, sistema, plataforma, librería, software o herramienta. El aprendizaje es continuo y constantemente tenemos que reciclar nuestro conocimiento del medio para poder seguir siendo útiles en nuestra profesión.</p>
<p>La vida cotidiana ha cambiado muchísimo con respecto a los anos 60 y es normal que la gente que no ha crecido en esta vorágine de adelantos tecnológicos tan rápidos, se vea abrumada y frustrada. Por muy cultos e intelectuales que puedan ser, el mundo digital utiliza unos códigos, metáforas, sistemas y entornos virtuales que requieren de un aprendizaje. Es necesario invertir tiempo y esfuerzo, de lo contrario, te ves abocado al ostracismo tecnológico o a una participación simbólica y poco fructífera.</p>
<p>Por otro lado, los <a href="https://es.wikipedia.org/wiki/Generaci%C3%B3n_Y">millenials</a> y gran parte de la <a href="https://es.wikipedia.org/wiki/Generaci%C3%B3n_X">generación X</a> nos hemos adaptado a los nuevos tiempos sin mayores complicaciones. Al fin y al cabo hemos crecido jugando a las maquinitas, asistiendo al nacimiento de Internet y siendo los pioneros en consumo y producción de todo lo digital y virtual. Actos tan sencillos como comprar la revista de videojuegos en el quiosco fueron remplazados por una suscripción a una revista online. <a href="https://es.wikipedia.org/wiki/Napster">Napster</a> marco un antes y un después en el intercambio de música. Lo de grabar el cassette del vecino quedo relegado inmediatamente al pasado.</p>
<p>Hay infinidad de ejemplos de nuestra vida cotidiana que fuimos adaptando uno a uno a la sociedad de la información, hasta llegar al presente, donde prácticamente todas las acciones susceptibles de ser incorporadas al mundo digital, ya lo han hecho o lo van a hacer pronto (léase <a href="https://es.wikipedia.org/wiki/Tecnolog%C3%ADa_financiera">fintech</a>). A este proceso de reconversión de una actividad analógica comercial o industrial se le conoce con el termino anglosajón disruption. Ya lo hemos ido viendo recientemente en el caso de <a href="https://www.airbnb.com/">AirBnB</a> o <a href="https://www.uber.com/">Uber</a>, los cuales siguen teniendo tensiones con los profesionales que aun se ganan la vida con el modelo tradicional.</p>
<h3 id="la-globalización">La globalización</h3>
<p>Los medios de comunicación en masa y la sociedad de la información también contribuyeron a acelerar una mayor integración de las naciones del mundo, el intercambio de ideas, productos y culturas. A este proceso se le conoce como la globalización.
Internet ha propiciado que la gente de países aislados tenga acceso a la mayor fuente de información del mundo y pueda aprender y observar lo que esta pasando en otras partes del planeta. Los medios de transporte también han ayudado a que las personas podamos viajar y confirmar todo aquello que conocemos a través de Internet. Por tanto, es un sistema que se retroalimenta. Los usuarios buscan y comparten información en las redes y luego comprueban que esa información les es útil en la vida real. Por ejemplo, el caso de <a href="https://es.wikipedia.org/wiki/TripAdvisor">TripAdvisor</a>, una aplicación que reúne miles de opiniones de usuarios sobre hoteles, restaurantes y lugares, de forma que los viajeros puedan tomar decisiones informadas para su beneficio durante sus viajes.
Hoy en día, las modas ya no son fenómenos aislados. Las noticias ya no son solo locales. Los cambios en las economías afectan a todos los países. Todo es global. Todo es instantáneo. Todos los datos fluyen y nos afectan en mayor o menos medida. Las personas que habitamos el mundo moderno y conectado ya no estamos aisladas y dependemos unas de otras.</p>
<p>La cantidad ingente de datos que estamos generando está dando pie a que aparezcan nuevas disciplinas científicas, como por ejemplo el <a href="https://es.wikipedia.org/wiki/Macrodatos">Big Data</a>, cuyo objetivo es analizar cantidades masivas de datos en busca de patrones para obtener conclusiones que puedan luego reportar luego beneficios.
La globalización hace que la gente cada vez consuma más información. Ya no solo consumimos el periódico local y conversamos con los vecinos o compañeros de trabajo. Hoy en día, la gente se mueve de un lado a otro, habla varios idiomas y se comunica con colegas y conocidos en varias zonas horarias del planeta. Nuestro círculo de acción se ha expandido notablemente y por tanto, cada vez necesitamos mejores medios de comunicación y maneras de interactuar mas entretenidas, productivas y efectivas.</p>
<h3 id="la-inteligencia-colectiva">La inteligencia colectiva</h3>
<p>Los medios de comunicación masivos también se han retroalimentado a partir de otro movimiento muy importante. El de la inteligencia colectiva. Este movimiento está mas respaldado por la gente joven, ya que requiere un nivel de asimilación alto sobre el funcionamiento de Internet y las redes sociales. También es el medio de expresión más popular entre la gente en posición de luchar por cambios drásticos a nivel social y político.
La inteligencia colectiva emerge de la colaboración y los esfuerzos colectivos de muchos individuos con el objetivo de tomar decisiones conjuntas y consensuadas. Es un fenómeno que se puede apreciar en su mayor esplendor en las actividades de <a href="https://es.wikipedia.org/wiki/Micromecenazgo">crowdfunding</a>, en la <a href="https://es.wikipedia.org/wiki/Wikipedia">Wikepedia</a> (una enciclopedia gratuita mantenida por los usuarios de Internet), en las peticiones de firmas online, redes sociales, sistemas de votos online, foros y comunidades online como <a href="https://es.wikipedia.org/wiki/Stack_Overflow">StackOverflow</a>, etc.</p>
<p>En los últimos anos, hemos podido observar como la gente se ha organizado para crear movimientos tan importantes como la <a href="https://es.wikipedia.org/wiki/Primavera_%C3%81rabe">primavera árabe</a> o el <a href="https://es.wikipedia.org/wiki/Movimiento_15-M">15M</a>. Estos movimientos también tienen una base de inteligencia colectiva, ya que las redes sociales tuvieron un papel principal en su organización y difusión. Estos sucesos son únicos y novedosos en la historia de la humanidad, ya que sin los medios de comunicación masiva, no podrían haber llegado a ese nivel de repercusión. También el hecho de que los dictadores y represores censuraran y cortaran el uso de Internet durante la primavera árabe, nos indica el nivel de poder e influencia que ha llegado a tener este medio para desestabilizar todo un país y llegar a derrocar gobiernos.</p>
<p>El anterior punto me lleva a hablar de otro tema de gran actualidad: las elecciones presidenciales en EEUU. Si tenemos en cuenta que Internet se ha convertido en un medio de vital importancia, es normal que los gobiernos y las grandes corporaciones lo quieran controlar. Por este motivo, hoy en día es muy importante informarse sobre los intereses de los diferentes partidos políticos. ¿Quién subvenciona sus campanas electorales? ¿Qué objetivos tienen respecto a la neutralidad de la red? ¿Qué opinión les merece organizaciones como Wikileaks o personajes como Edward Snowden…? Todos estos aspectos se discuten en las redes sociales como Facebook o Twitter y acaban moldeando la conciencia colectiva y las opiniones de la gente mediante la inteligencia colectiva. Entre todos, se obtienen los datos objetivos y transparentes. Es una forma de desvelar la verdad. De destapar a los mentirosos y manipuladores. Es la nueva política de participación ciudadana. Creada a partir de la inteligencia colectiva y el intercambio de datos en las redes sociales.</p>
<h3 id="conclusión">Conclusión</h3>
<p>Todos los fenómenos de los que hemos hablado se retroalimentan entre ellos y sus causas/efectos no están detalladamente limitados. Otro de los aspectos que ha llevado al éxito de los medios de comunicación masivos y la sociedad de la información es su naturaleza bidireccional. Ya no estamos hablando de TV, radio o prensa. Medios unidireccionales. Internet nos permite convertirnos en productores de contenidos. No solo en consumidores. Todos los usuarios tenemos una voz y espacios donde compartir información. La manipulación de la sociedad ya no es tan sencilla. Ahora es más fácil poder obtener una perspectiva más objetiva juntando las opiniones de cientos de publicaciones (incluyendo blogs). Podemos decir que Internet ha democratizado la información y la ha hecho más viva y rápida.</p>
<p>Seguramente, la neutralidad de la red y la bidireccionalidad de las comunicaciones, sean los factores mas importantes para su éxito, ya que son la esencia, los principios que permiten que se desarrollen otros fenómenos como la globalización y la inteligencia colectiva. Por tanto, nuestro objetivo como ciudadanos defensores de la libre información, la democracia y la justicia social es esforzarnos para que los gobiernos no legislen para favorecen los intereses de unos pocos y las grandes corporaciones no intenten comprar a los gobiernos para que favorezcan sus intereses.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-background-of-interactive-media/images/medios-interactivos-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Construir un agregador de webs con Meteor]]></title>
            <link>https://www.joanmira.com/es/blog/build-a-social-website-aggregator-using-meteor</link>
            <guid>https://www.joanmira.com/es/blog/build-a-social-website-aggregator-using-meteor</guid>
            <pubDate>Wed, 10 Feb 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Mi experiencia trabajando con este popular framework full-stack]]></description>
            <content:encoded><![CDATA[<p><a class="btn github" role="button" href="https://github.com/gazpachu/siteace" target="_blank">Código fuente</a></p>
<p>Este tutorial es el resultado de mi trabajo final para el curso <a href="https://www.coursera.org/learn/meteor-development/">Introduction to Meteor.js Development</a> del Dr. Matthew Yee-King (<a href="http://www.gold.ac.uk/">University of London &amp; Goldsmiths</a>) en Coursera. Este curso forma parte de una especialización en <a href="https://www.coursera.org/specializations/website-development">Responsive Website Development and Design</a> que cubre los fundamentos del desarrollo web moderno full-stack, desde el diseño UX hasta la codificación front-end, pasando por las bases de datos personalizadas.</p>
<p>En ese curso, aprendí a crear un sitio web completo y multiusuario utilizando el framework Meteor.js y MongoDB. Está dividido en cuatro semanas y tiene un par de tareas y varios cuestionarios. En general, fue una muy buena introducción al framework y espero que este tutorial muestre todo lo que aprendí.</p>
<h3 id="requisitos">Requisitos</h3>
<p>El propósito de la aplicación es permitir a los usuarios <strong>compartir</strong>, <strong>discutir</strong> y <strong>calificar</strong> las páginas que encuentran en Internet. La aplicación también necesita tener las siguientes características:</p>
<ul>
<li>Utilizar <a href="http://getbootstrap.com/">Bootstrap</a></li>
<li>Los usuarios pueden registrarse e iniciar sesión</li>
<li>Los usuarios pueden publicar nuevos sitios web si están conectados. Los sitios web publicados por los usuarios deben tener una URL y una descripción</li>
<li>Los usuarios pueden votar las páginas web hacia arriba y hacia abajo haciendo clic en un botón de más o de menos</li>
<li>Los sitios web deben ser listados con el sitio más votado primero</li>
<li>La página del listado muestra cuándo se añadió el sitio web y cuántos votos positivos y negativos tiene</li>
<li>Los usuarios pueden pasar a la página de detalles de un sitio web (utilizando el enrutamiento)</li>
<li>En la página de detalles, los usuarios pueden publicar comentarios sobre una página web, y se muestran debajo de la descripción de la página web</li>
<li>Utilizar el paquete HTTP de Meteor para obtener información sobre los enlaces web publicados de forma automática, de modo que el usuario no tenga que introducir nada más que la URL</li>
<li>Implementar una función de búsqueda que permita al usuario buscar dentro de los sitios listados por palabras clave</li>
<li>Recomendar sitios web a los usuarios en función de lo que hayan votado y comentado. Por ejemplo, si yo voto un sitio titulado &quot;Recetas de tofu&quot;, se recomendarán otros sitios con &quot;tofu&quot; y &quot;receta&quot; en sus títulos o descripciones</li>
<li>Despliegue de la aplicación utilizando el comando de despliegue de Meteor</li>
</ul>
<h3 id="parte-1-instalación-de-meteor-y-creación-de-la-aplicación">Parte 1. Instalación de Meteor y creación de la aplicación</h3>
<p>Ve a <a href="https://www.meteor.com/">meteor.com</a> y sigue <a href="https://www.meteor.com/install">las instrucciones</a> para instalar Meteor en tu sistema operativo.</p>
<p>Para crear la app, abre tu terminal, ve a la carpeta donde quieres guardar la app y escribe</p>
<p><code>meteor create siteace</code>.</p>
<p>Esto creará una nueva carpeta llamada <code>siteace</code> (el nombre de la app que estamos construyendo) con todos los archivos que necesita una app de Meteor:</p>
<p><strong>siteace.js</strong>: un archivo JavaScript que se carga tanto en el cliente como en el servidor
<strong>siteace.html</strong>: un archivo HTML que define las plantillas de las vistas
<strong>siteace.css</strong>: un archivo CSS para definir los estilos de tu aplicación
<strong>.meteor</strong>: archivos internos de Meteor (carpeta oculta)</p>
<p>Para ejecutar la app recién creada:</p>
<p><code>cd siteace</code></p>
<p><code>meteor</code></p>
<p>Abre tu navegador web y ve a <a href="http://localhost:3000">http://localhost:3000</a> para ver la app en funcionamiento. Si funciona, puedes detenerla pulsando Ctrl+C.</p>
<h3 id="parte-2-organizando-la-estructura-de-carpetas">Parte 2. Organizando la estructura de carpetas</h3>
<p>Meteor es un framework de cliente y servidor, lo que significa que tenemos código para el front-end y código para el back-end. Ambos utilizan Javascript. Los registros de la consola del código del back-end se muestran en la terminal/consola del sistema operativo y los registros de la consola del front-end se muestran en la consola del navegador.</p>
<p>Una forma de decidir qué código se va a ejecutar en el front-end o en el back-end es utilizar las siguientes sentencias condicionales:</p>
<pre><code class="language-javascript">if (Meteor.isClient) {
}
if (Meteor.isServer) {
}
</code></pre>
<p>Eso está bien para aplicaciones muy pequeñas, pero hay una mejor manera de dividir el código usando carpetas:</p>
<ul>
<li><strong>/server</strong>: poner todos los archivos Javascript con código que necesitan ser ejecutados en el servidor aquí</li>
<li><strong>/client</strong>: pon todos los archivos Javascript con código que necesitan ser ejecutados en el cliente aquí</li>
<li><strong>/lib</strong>: todos los archivos Javascript que tienen código compartido y necesitan ser ejecutados antes que cualquier otra cosa</li>
</ul>
<p><strong>/public</strong>: todos los activos públicos, como imágenes, sonidos, JSON, etc.</p>
<p>Así que, vamos a seguir adelante y crear esas carpetas en nuestra aplicación.</p>
<p>Ahora renombra siteace.js a main.js, siteace.css a style.css, siteace.html a index.html y colócalos dentro de la carpeta cliente.</p>
<p>Luego vamos a crear un archivo llamado <code>collections.js</code> y colocarlo en la carpeta lib. Ese archivo contendrá la definición de las colecciones de Mongo para nuestra BD.</p>
<p>Por último, crearemos un archivo llamado <code>startup.js</code> y lo colocaremos en la carpeta del servidor. Utilizaremos este archivo para inicializar la BD con algunos datos ficticios cuando se inicie la aplicación.</p>
<p>Una vez que ejecutemos meteor en la consola, se encargará de la minificación de los archivos.</p>
<h3 id="parte-3-enrutamiento-y-definición-de-las-marcas-y-plantillas">Parte 3. Enrutamiento y definición de las marcas y plantillas</h3>
<p>Meteor utiliza <a href="https://www.meteor.com/blaze">Blaze</a> y <a href="https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md">Spacebars</a> (una versión modificada de Handlebars) para producir plantillas reactivas de Meteor cuando se compila. Un momento... <strong>¿Reactivo</strong>? Sí, Meteor actualiza la interfaz automáticamente cada vez que hay un cambio en los datos vinculados a esa UI. Llegados a este punto, puedes estar pensando: ¿es eso como <a href="https://facebook.github.io/react/">React de Facebook</a>? En cierto modo sí. ¿Debería usar React en su lugar? Probablemente sí, pero ese es un tema sobre el que quizás quieras leer más <a href="https://www.discovermeteor.com/blog/blaze-react-meteor/">aquí</a>.</p>
<p>En aras de la simplicidad, vamos a seguir con las herramientas de front-end por defecto de Meteor: Blaze y Spacebars.</p>
<p>Primero, vamos a empezar por instalar el router. Escribe lo siguiente en la terminal:</p>
<p><code>meteor add iron:router</code>.</p>
<p>Ahora vamos a definir el diseño de la aplicación (los marcadores de posición principales) y la plantilla de la barra de navegación. Usamos <code>yield</code> para definir el marcador de posición donde luego renderizaremos las plantillas elegidas en las rutas. Abre index.html y añade lo siguiente:</p>
<pre><code class="language-html">&lt;head&gt;
  &lt;title&gt;Site Ace by Joan Mira&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;/body&gt;

&lt;template name=&quot;ApplicationLayout&quot;&gt;
    {{&gt; yield &quot;navbar&quot;}}
    &lt;div class=&quot;container&quot;&gt;
        {{&gt; yield &quot;form&quot;}}
        {{&gt; yield &quot;main&quot;}}
    &lt;/div&gt;
&lt;/template&gt;

&lt;!-- template that displays the header with the nav bar --&gt;
&lt;template name=&quot;navbar&quot;&gt;
    &lt;nav class=&quot;navbar navbar-default&quot;&gt;
      &lt;div class=&quot;container-fluid&quot;&gt;
        &lt;div class=&quot;navbar-header&quot;&gt;
            &lt;a class=&quot;navbar-brand&quot; href=&quot;/&quot;&gt;Site Ace, a social website aggregator by Joan Mira&lt;/a&gt;
        &lt;/div&gt;
          {{&gt; loginButtons align=&quot;right&quot;}}
      &lt;/div&gt;
    &lt;/nav&gt;
&lt;/template&gt;
</code></pre>
<p>Ahora también estamos añadiendo tres plantillas más, website_form, website_list y website_item. La primera mostrará un formulario para que el usuario pueda enviar nuevas URLs a la aplicación. La segunda mostrará una lista de sitios web que ya están en la base de datos y la tercera es una plantilla parcial para mostrar un elemento individual de la lista de sitios web:</p>
<pre><code class="language-html">&lt;template name=&quot;website_form&quot;&gt;
    &lt;a class=&quot;btn btn-default toggle-website-form js-toggle-website-form&quot; href=&quot;#&quot;&gt;
          &lt;span class=&quot;glyphicon glyphicon-plus&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
    &lt;/a&gt;
    &lt;div id=&quot;website_form&quot; class=&quot;hidden_div&quot;&gt;
        &lt;form class=&quot;js-save-website-form&quot;&gt;
          &lt;div class=&quot;form-group&quot;&gt;
            &lt;label for=&quot;url&quot;&gt;Site address&lt;/label&gt;
            &lt;input type=&quot;text&quot; class=&quot;form-control&quot; id=&quot;url&quot; placeholder=&quot;http://www.mysite.com&quot;&gt;
          &lt;/div&gt;
          &lt;button type=&quot;submit&quot; class=&quot;btn btn-default&quot;&gt;Submit&lt;/button&gt;
        &lt;/form&gt;
    &lt;/div&gt;
&lt;/template&gt;

&lt;!-- template that displays several website items --&gt;
&lt;template name=&quot;website_list&quot;&gt;
    &lt;ol&gt;
    {{#each websites}}
    {{&gt;website_item}}
    {{/each}}
    &lt;/ol&gt;
&lt;/template&gt;

&lt;!-- template that displays individual website entries --&gt;
&lt;template name=&quot;website_item&quot;&gt;
&lt;li&gt;
    &lt;a href=&quot;{{_id}}&quot;&gt;{{title}}&lt;/a&gt;
    &lt;p&gt;
        {{description}}
    &lt;/p&gt;
    &lt;a href=&quot;#&quot; class=&quot;btn btn-default js-upvote&quot;&gt;
        &lt;span class=&quot;glyphicon glyphicon-arrow-up&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
    &lt;/a&gt;
    &lt;a href=&quot;#&quot; class=&quot;btn btn-default js-downvote&quot;&gt;
        &lt;span class=&quot;glyphicon glyphicon-arrow-down&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
    &lt;/a&gt;
    &lt;!-- you will be putting your up and down vote buttons in here! --&gt;
&lt;/li&gt;
&lt;/template&gt;
</code></pre>
<p>Observa que en lugar de la URL, hemos utilizado _id para componer la URL del enlace de la página web. Esto será útil más tarde cuando creemos la página de detalles...</p>
<p>Ahora vamos a definir la configuración del router y la ruta homepage/default. Abre main.js y añade lo siguiente en la parte superior:</p>
<pre><code class="language-javascript">Router.configure({
    layoutTemplate: &#39;ApplicationLayout&#39;
});

Router.route(&#39;/&#39;, function () {
    this.render(&#39;navbar&#39;, {
        to: &#39;navbar&#39; // The name of the main placeholder in applicationLayout
    });
    this.render(&#39;website_form&#39;, {
        to: &#39;form&#39;
    });
    this.render(&#39;website_list&#39;, {
        to: &#39;main&#39;
    });
});
</code></pre>
<h3 id="parte-4-definir-la-colección-y-los-datos-iniciales">Parte 4. Definir la colección y los datos iniciales</h3>
<p>Abre collections.js y crea una nueva escribiendo</p>
<p><code>Websites = new Mongo.Collection(&quot;websites&quot;);</code></p>
<p>Ahora abre startup.js y establece algunos datos ficticios:</p>
<pre><code class="language-javascript">// start up function that creates entries in the Websites databases.
Meteor.startup(function () {
    // code to run on server at startup
    if (!Websites.findOne()){
        console.log(&quot;No websites yet. Creating starter data.&quot;);
          Websites.insert({
            title:&quot;Goldsmiths Computing Department&quot;,
            url:&quot;http://www.gold.ac.uk/computing/&quot;,
            description:&quot;This is where this course was developed.&quot;,
            createdOn:new Date()
        });
         Websites.insert({
            title:&quot;University of London&quot;,
            url:&quot;http://www.londoninternational.ac.uk/courses/undergraduate/goldsmiths/bsc-creative-computing-bsc-diploma-work-entry-route&quot;,
            description:&quot;University of London International Programme.&quot;,
            createdOn:new Date()
        });
         Websites.insert({
            title:&quot;Coursera&quot;,
            url:&quot;http://www.coursera.org&quot;,
            description:&quot;Universal access to the world’s best education.&quot;,
            createdOn:new Date()
        });
        Websites.insert({
            title:&quot;Google&quot;,
            url:&quot;http://www.google.com&quot;,
            description:&quot;Popular search engine.&quot;,
            createdOn:new Date()
        });
    }
});
</code></pre>
<h3 id="parte-5-añadir-algo-de-css">Parte 5. Añadir algo de CSS</h3>
<p>El formulario para enviar nuevas URLs que especificamos en el marcado está oculto por defecto. Sólo se abre cuando el usuario hace clic en el botón &#39;+&#39;. Para hacer que este formulario esté oculto, sólo tenemos que añadir el siguiente CSS:</p>
<pre><code class="language-css">.hidden_div {
    display: none;
}

ol {
    padding: 0;
    list-style-type: none;
    counter-reset: section;
}

ol li,
.info {
    counter-increment: section;
    border: 1px solid #CCC;
    border-radius: 5px;
    margin-bottom: 20px;
    padding: 10px;
    background-color: #F8F8F8;
}

ol li::before {
    content: counter(section);
    margin-right: 5px;
    font-size: 80%;
    background-color: #3388BB;
    color: white;
    font-weight: bold;
    padding: 3px 8px;
    border-radius: 3px;
}

.info {
    background-color: #3388BB;
    color: white;
    text-align: center;
}
.info a {
    color: white;
    text-decoration: underline;
}

.website-meta {
    float: right;
    line-height: 35px;
}

.website-meta span {
    font-weight: bold;
}

.comment-meta {
    text-align: right;
    margin: 5px 0 0 0;
}

.toggle-website-form,
#website_form,
.info {
    margin-bottom: 10px;
}

#login-buttons {
    float: right;
    margin-top: 15px;
}

#url {
    float: left;
    width: 50%;
    margin-right: 5px;
}

#search {
    float: right;
    max-width: 150px;
}
</code></pre>
<h3 id="parte-6-añadir-eventos-básicos">Parte 6. Añadir eventos básicos</h3>
<p>Para mostrar/ocultar el formulario, vamos a necesitar capturar el evento click. Abre el archivo main.js y añade lo siguiente:</p>
<pre><code class="language-javascript">Template.website_form.events({
    &quot;click .js-toggle-website-form&quot;:function(event){
        $(&quot;#website_form&quot;).toggle(&#39;slow&#39;);
    }
)};
</code></pre>
<p>Aquí sólo estamos apuntando al evento click del elemento <code>.js-toggle-website-form</code> y cambiando su estado visible.</p>
<p>En este punto, la aplicación debería tener un aspecto similar al siguiente (probablemente un poco mejor ;-)</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/build-a-social-website-aggregator-using-meteor/images/meteor-tutorial-1.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/build-a-social-website-aggregator-using-meteor/images/meteor-tutorial-1.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/build-a-social-website-aggregator-using-meteor/images/meteor-tutorial-1-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/build-a-social-website-aggregator-using-meteor/images/meteor-tutorial-1-mobile.jpg" />
          <img class="image" src="/blog/build-a-social-website-aggregator-using-meteor/images/meteor-tutorial-1.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<h3 id="parte-7-añadir-nuevas-urls-a-la-bd">Parte 7. Añadir nuevas URLs a la BD</h3>
<p>Antes de empezar a programar, vamos a necesitar un paquete de Meteor llamado HTTP para recuperar el título y la descripción del sitio web que estamos añadiendo. Puedes leer más sobre el paquete <a href="https://themeteorchef.com/snippets/using-the-http-package/">aquí</a>. Escribe lo siguiente en la terminal para instalarlo:</p>
<p><code>meteor add http</code>.</p>
<p>Debido a las restricciones de CORS, necesitamos contactar con el sitio web desde el servidor. Así que abre el archivo startup.js y crea un nuevo método (dentro del método startup) para obtener el título y la descripción de la URL:</p>
<pre><code class="language-javascript">Meteor.methods({
    getWebsiteData: function (url) {
        this.unblock();
        return Meteor.http.call(&quot;GET&quot;, url, {&quot;npmRequestOptions&quot; : {&quot;gzip&quot; : true}});
    }
});
</code></pre>
<p>La opción GZIP es para descomprimir los datos en caso de que el servidor los devuelva comprimidos.</p>
<p>Ahora tenemos que llamar a ese método desde el front-end cuando el usuario envíe el formulario. Abre main.js y en la misma función en la que estábamos trabajando en la parte anterior, añade el siguiente evento para capturar el envío del formulario:</p>
<pre><code class="language-javascript">    &quot;submit .js-save-website-form&quot;:function(event){

        // here is an example of how to get the url out of the form:
        var url = event.target.url.value;
        console.log(&quot;The url they entered is: &quot;+url);

        //  put your website saving code in here!
        Meteor.call(&quot;getWebsiteData&quot;, url, function(error, results) {

            // Dump the markup into a dummy element for jQuery manipulation
            var el = $(&#39;&lt;div&gt;&lt;/div&gt;&#39;);
            el.html(results.content);

            // Get the meta data
            var title = $(&#39;title&#39;, el).text();
            var description = $(&#39;meta[name=&quot;description&quot;]&#39;, el).attr(&#39;content&#39;);

            // Add the new website in the Websites collection
            Websites.insert({
                title: title,
                url: url,
                description: description,
                createdOn:new Date()
            })
        });

        return false; // stop the form submit from reloading the page
    }
</code></pre>
<p>Puedes intentar añadir algunas URLs y luego recargar la página. Las nuevas deberían permanecer allí. Si quieres restablecer la BD, simplemente escribe en la terminal meteor reset.</p>
<h3 id="parte-8-autenticación-de-usuarios">Parte 8. Autenticación de usuarios</h3>
<p>Dos paquetes de Meteor se encargan del registro y la autenticación de los usuarios. Para instalarlos escribe esto en la terminal:</p>
<p><code>meteor add accounts-ui accounts-password</code>.</p>
<p>Y luego añade el siguiente parcial a la barra de navegación (además del título de Site Ace):</p>
<p><code>{{&gt; loginButtons }}</code></p>
<p>Por defecto, los únicos campos habilitados para el registro de usuarios son el email y la contraseña. Si queremos tener también un campo de nombre de usuario, tenemos que especificarlo en la configuración del paquete. Abre main.js y añade lo siguiente en la parte superior:</p>
<pre><code class="language-javascript">Accounts.ui.config({
    passwordSignupFields: &quot;USERNAME_AND_EMAIL&quot;
});
</code></pre>
<p>Además, a partir de ahora, si necesitamos comprobar si el usuario está conectado o queremos acceder a sus datos, podemos hacerlo así:</p>
<pre><code class="language-javascript">if (Meteor.user()) {
    Meteor.user().username;
}
</code></pre>
<h3 id="parte-9-permitir-que-sólo-los-usuarios-logueados-publiquen-nuevos-sitios-web">Parte 9. Permitir que sólo los usuarios logueados publiquen nuevos sitios web</h3>
<p>Podríamos hacerlo ocultando el formulario para los usuarios no logueados, pero entonces esto podría ser fácilmente hackeado manipulando el DOM desde la consola. Así que vamos a utilizar una tarea de validación de formularios en su lugar. Abre el archivo main.js y envuélvelo todo dentro del evento del formulario de envío con el enfoque que especificamos en la parte anterior. Además, añade una condición else y muestra una ventana de alerta con un mensaje de error si el usuario no está conectado:</p>
<pre><code class="language-javascript">&quot;submit .js-save-website-form&quot;:function(event){

    if (Meteor.user()) {
        (...)
    }
    else {
        alert(&#39;You need to be logged in to submit websites!&#39;);
    }

    return false;
}
</code></pre>
<h3 id="parte-10-mostrar-la-fecha-y-añadir-votos">Parte 10. Mostrar la fecha y añadir votos</h3>
<p>En la página del listado, vamos a mostrar la fecha en que se agregó el sitio web. Necesitamos instalar un nuevo paquete llamado Moments.js, una popular librería para trabajar con fechas en Javascript:</p>
<p><code>meteor add momentjs:moment</code>.</p>
<p>También necesitamos crear una nueva función de plantilla para analizar la fecha. En este caso, vamos a hacerla global, para que otras plantillas puedan usarla también. Abre main.js y añade esto:</p>
<pre><code class="language-javascript">// format the date
Template.registerHelper(&#39;formattedDate&#39;, function() {
     return moment(this.createdOn).format(&quot;MM/DD/YYYY&quot;);  // or whatever format you prefer
});
</code></pre>
<p>Luego, en index.html añade un marcador de posición para la fecha y los votos justo después de los botones de votación:</p>
<pre><code class="language-html">&lt;p class=&quot;website-meta&quot;&gt;{{formattedDate}} | &lt;span class=&quot;js-votes-up&quot;&gt;{{up}}&lt;/span&gt;↑, &lt;span class=&quot;js-votes-down&quot;&gt;{{down}}&lt;/span&gt;↓&lt;/p&gt;
</code></pre>
<p>También tenemos que inicializar los campos de subida y bajada para cada entrada de la web en la BD. Abre startup.js y refactoriza los elementos iniciales así. Hazlo también en el evento de envío del formulario en main.js:</p>
<pre><code class="language-javascript">Websites.insert({
    title:&quot;Coursera&quot;,
    url:&quot;http://www.coursera.org&quot;,
    description:&quot;Universal access to the world’s best education.&quot;,
    createdOn:new Date(),
    user: &quot;Anonymous&quot;, // Use Meteor.user()._id in main.js
    up: 0,
    down: 0
});
</code></pre>
<p>Por último, tenemos que guardar los votos en la BD. Para ello, tenemos que utilizar el método &#39;update&#39; de la colección Websites. En este caso, vamos a definir los eventos para la plantilla padre &#39;ApplicationLayout&#39;. Lo hacemos así para poder utilizar estos eventos posteriormente en la página de detalle. Abre main.js y añade lo siguiente:</p>
<pre><code class="language-javascript">Template.ApplicationLayout.events({
    &quot;click .js-upvote&quot;:function(event){
        // example of how you can access the id for the website in the database
        // (this is the data context for the template)
        var website_id = this._id;
        console.log(&quot;Up voting website with id &quot;+website_id);

        // put the code in here to add a vote to a website!
        Websites.update({_id: website_id},
                        {$set: {up: this.up + 1}});

        return false;// prevent the button from reloading the page
    },
    &quot;click .js-downvote&quot;:function(event){

        // example of how you can access the id for the website in the database
        // (this is the data context for the template)
        var website_id = this._id;
        console.log(&quot;Down voting website with id &quot;+website_id);

        // put the code in here to remove a vote from a website!
        Websites.update({_id: website_id},
                        {$set: {down: this.down + 1}});

        return false;// prevent the button from reloading the page
    }
})
</code></pre>
<h3 id="parte-11-ordenar-los-artículos-por-votos-arriba">Parte 11. Ordenar los artículos por votos arriba</h3>
<p>Esto es fácil. Sabemos que las plantillas de Meteor son reactivas, lo que significa que la interfaz de usuario se actualiza automáticamente cada vez que algo cambia. Vamos a aprovechar eso definiendo una ordenación en la plantilla de la lista del sitio web en main.js:</p>
<pre><code class="language-javascript">Template.website_list.helpers({
    websites:function(){
        return Websites.find({}, {sort: {up:-1}});
    }
});
</code></pre>
<h3 id="parte-12-implementar-una-página-de-detalle-utilizando-el-enrutamiento">Parte 12. Implementar una página de detalle utilizando el enrutamiento</h3>
<p>Ahora necesitamos crear una nueva ruta en main.js que tomará el id del sitio web como parámetro en la ruta de la URL y consultará a la BD para obtener los datos de ese id. También vamos a renderizar una nueva plantilla en el marcador de posición principal:</p>
<pre><code class="language-javascript">Router.route(&#39;/:_id&#39;, function () {
    this.render(&#39;navbar&#39;, {
        to: &#39;navbar&#39;
    });
    this.render(&#39;website_detail&#39;, {
        to: &#39;main&#39;,
        data: function() {
            return Websites.findOne({_id: this.params._id});
        }
    });
});
</code></pre>
<p>Ahora vamos a crear la nueva plantilla en index.html:</p>
<pre><code class="language-html">&lt;!-- template that displays a website detail --&gt;
&lt;template name=&quot;website_detail&quot;&gt;

    &lt;h1&gt;&lt;a href=&quot;{{url}}&quot;&gt;{{title}}&lt;/a&gt;&lt;/h1&gt;
    &lt;p&gt;
        {{description}}
    &lt;/p&gt;
    &lt;a href=&quot;#&quot; class=&quot;btn btn-default js-upvote&quot;&gt;
        &lt;span class=&quot;glyphicon glyphicon-arrow-up&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
    &lt;/a&gt;
    &lt;a href=&quot;#&quot; class=&quot;btn btn-default js-downvote&quot;&gt;
        &lt;span class=&quot;glyphicon glyphicon-arrow-down&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
    &lt;/a&gt;
    &lt;p class=&quot;website-meta&quot;&gt;Votes: &lt;span class=&quot;js-votes-up&quot;&gt;{{up}}&lt;/span&gt;↑, &lt;span class=&quot;js-votes-down&quot;&gt;{{down}}&lt;/span&gt;↓&lt;/p&gt;

&lt;/template&gt;
</code></pre>
<h3 id="parte-13-añadir-comentarios-a-la-página-de-detalles">Parte 13. Añadir comentarios a la página de detalles</h3>
<p>Primero vamos a crear una nueva colección Mongo en collections.js:</p>
<p><code>Comments = new Mongo.Collection(&quot;comments&quot;);</code></p>
<p>A continuación, dos nuevos marcadores de posición principales en la plantilla ApplicationLayout y tres nuevas plantillas (muy similares a las que ya tenemos) en index.html:</p>
<pre><code class="language-html">{{&gt; yield &quot;comments&quot;}}
{{&gt; yield &quot;comment&quot;}}

(...)

&lt;!-- template that displays several comments --&gt;
&lt;template name=&quot;comments_list&quot;&gt;
    &lt;h3&gt;Comments&lt;/h3&gt;
    &lt;ol&gt;
        {{#each comments}}
        {{&gt;comment_item}}
        {{/each}}
    &lt;/ol&gt;
&lt;/template&gt;

&lt;!-- template that displays individual comment entries --&gt;
&lt;template name=&quot;comment_item&quot;&gt;
    &lt;li&gt;
        {{comment}}
        &lt;p class=&quot;comment-meta&quot;&gt;{{formattedDate}} by {{getUser user}}&lt;/p&gt;
    &lt;/li&gt;
&lt;/template&gt;

&lt;!-- template that displays the form to submit a new comment --&gt;
&lt;template name=&quot;comment_form&quot;&gt;
    &lt;div id=&quot;comment_form&quot;&gt;
        &lt;form class=&quot;js-save-comment-form&quot;&gt;
          &lt;div class=&quot;form-group&quot;&gt;
            &lt;input type=&quot;text&quot; class=&quot;form-control&quot; id=&quot;comment&quot; placeholder=&quot;Type your comment here...&quot;&gt;
          &lt;/div&gt;

          &lt;button type=&quot;submit&quot; class=&quot;btn btn-default&quot;&gt;Submit&lt;/button&gt;
        &lt;/form&gt;
    &lt;/div&gt;
&lt;/template&gt;
</code></pre>
<p>Ahora, antes de continuar. Fíjate que estamos usando un nuevo helper llamado getUser. Lo necesitamos para obtener el nombre de usuario real de un determinado ID de usuario (que es el que tenemos en la DB). Así que añade este nuevo helper en main.js:</p>
<pre><code class="language-javascript">// helper function that returns the username for a given user ID
Template.registerHelper(&#39;getUser&#39;, function(userId) {
     var user = Meteor.users.findOne({_id: userId});
    if (user) {
        return user.username;
    }
    else {
        return &quot;anonymous&quot;;
    }
});
</code></pre>
<p>A continuación, vamos a actualizar la ruta de la página de detalles (en main.js) y renderizar las nuevas plantillas:</p>
<pre><code class="language-javascript">this.render(&#39;comments_list&#39;, {
    to: &#39;comments&#39;
});
this.render(&#39;comment_form&#39;, {
    to: &#39;comment&#39;
});
</code></pre>
<p>Ahora tenemos que insertar los nuevos comentarios en la colección de comentarios cada vez que un usuario conectado envíe el formulario de comentarios. El esquema de esta colección va a almacenar el ID del sitio web al que pertenece el comentario, el comentario en sí, la fecha y el usuario que lo escribió. Fíjate que para obtener el ID del sitio web, vamos a utilizar el parámetro Router...</p>
<pre><code class="language-javascript">Template.comment_form.events({
    &quot;submit .js-save-comment-form&quot;:function(event){

        if (Meteor.user()) {

            // here is an example of how to get the comment out of the form:
            var comment = event.target.comment.value;
            console.log(&quot;The comment they entered is: &quot;+comment);

            Comments.insert({
                website: Router.current().params._id,
                comment: comment,
                createdOn: new Date(),
                user: Meteor.user().username
            });
        }
        else {
            alert(&#39;You need to be logged in to submit comments!&#39;);
        }

        return false; // stop the form submit from reloading the page

    }
});
</code></pre>
<p>Ahora que tenemos los comentarios almacenados en la base de datos, necesitamos un ayudante de plantilla para mostrar la lista de comentarios. Filtraremos la consulta encontrando sólo los comentarios que tengan un ID de sitio web igual al de la página actual:</p>
<pre><code class="language-javascript">Template.comments_list.helpers({
    comments:function(){
        return Comments.find({website: Router.current().params._id});
    }
});
</code></pre>
<h3 id="parte-14-asegurar-y-desplegar">Parte 14. Asegurar y desplegar</h3>
<p>Por último, vamos a eliminar el paquete inseguro (de lo contrario nuestra BD podría verse fácilmente comprometida):</p>
<p><code>meteor remove insecure</code></p>
<p>Y ahora tenemos que permitir el acceso a las diferentes operaciones de la BD en collections.js:</p>
<pre><code class="language-javascript">// set up security on collections
Websites.allow({
    insert: function(userId, doc) {

        if (Meteor.user()) {
            if (userId != doc.user) {
                return false;
            }
            else {
                return true;
            }
        }
        else {
            return false;
        }
    }
});

Comments.allow({
    insert: function(userId, doc) {

        if (Meteor.user()) {
            if (userId != doc.user) {
                return false;
            }
            else {
                return true;
            }
        }
        else {
            return false;
        }
    }
});
</code></pre>
<p>Ahora que tenemos una seguridad básica, estamos listos para desplegar en los servidores de Meteor GRATIS:</p>
<p><code>meteor deploy siteace-joanmira.meteor.com</code>.</p>
<p>Eso es todo. Espero que hayas disfrutado del tutorial y, por favor, añade un comentario si encuentras algún problema. Gracias.</p>
<p>En los próximos días, podría añadir las funcionalidades restantes: búsqueda y sitios web recomendados.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/build-a-social-website-aggregator-using-meteor/images/meteor-header.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Javascript: entendiendo las partes raras [Parte 2]]]></title>
            <link>https://www.joanmira.com/es/blog/javascript-understanding-the-weird-parts-part-2</link>
            <guid>https://www.joanmira.com/es/blog/javascript-understanding-the-weird-parts-part-2</guid>
            <pubDate>Mon, 01 Feb 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Mis aprendizajes repasando conceptos de JavaScript en el sitio educativo Udemy]]></description>
            <content:encoded><![CDATA[<p>En la <a href="/blog/javascript-understanding-the-weird-parts/">parte anterior de este artículo</a>, aprendimos sobre contextos de ejecución, tipos y operadores, funciones, etc. En esta parte, vamos a aprender más sobre la programación orientada a objetos con Javascript.</p>
<h3 id="lectura-53-herencia-clásica-vs-prototípica">Lectura 53: Herencia clásica vs prototípica</h3>
<p><strong>Herencia</strong>: un objeto tiene acceso a las propiedades y métodos de otro objeto.</p>
<p>Herencia clásica: (la más popular) está en C++, Java, etc. Es muy verbosa. Podemos acabar con un enorme árbol de objetos y relaciones. Muchas palabras clave: friend, protected, private, interface,...</p>
<p>Herencia prototípica: simple. Extensible. Fácil de entender.</p>
<h3 id="lectura-54-entendiendo-el-prototipo">Lectura 54: Entendiendo el prototipo</h3>
<p>Todos los objetos tienen una &quot;propiedad especial&quot; llamada propiedad proto {}. Es el prototipo del objeto. También puede tener sus propiedades. Cuando solicitamos la propiedad de un objeto, JS primero busca en el propio objeto para encontrar esa propiedad, si no la encuentra, entonces busca la propiedad dentro del prototipo.</p>
<p>Ese prototipo también puede contener otro objeto prototipo y JS siempre irá hacia abajo en la cadena. Eso se llama la <strong>cadena de prototipos</strong>.</p>
<p>Si tenemos el objeto2, también puede apuntar al mismo prototipo del objeto1. Los objetos pueden compartir el mismo prototipo.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/JS-prototype-chain.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/JS-prototype-chain.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/JS-prototype-chain-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/JS-prototype-chain-mobile.jpg" />
          <img class="image" src="/blog/javascript-understanding-the-weird-parts-part-2/images/JS-prototype-chain.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<p>Ejemplo:</p>
<pre><code class="language-javascript">var person = {
    firstname: &#39;Default&#39;,
    lastname: &#39;Default&#39;,
    getFullName: function() {
        return this.firstname + &#39; &#39; + this.lastname;
    }
}

var john = {
    firstname = &#39;John&#39;.
    lastname: &#39;Doe&#39;
}

// ¡¡¡No hagas esto NUNCA!!! ¡¡¡Sólo para fines de demostración!!!
// Esta es una forma del navegador de acceder al prototipo pero con muy mal rendimiento
john.__proto__ = person;
console.log(john.getFullName());
console.log(john.firstname); // Devuelve el nombre de John, no el de person debido a la prioridad de la cadena de prototipos.
</code></pre>
<h3 id="lectura-55-todo-es-un-objeto-o-una-primitiva">Lectura 55: Todo es un objeto (o una primitiva)</h3>
<pre><code class="language-javascript">var a = {};
var b = function() {};
c = [];

console.log(a.__proto__); // devuelve el objeto base y podemos acceder toString, etc

console.log(b.__proto__); // devuelve la función Empty() {} y podemos acceder a apply, call, bind,...

console.log(c.__proto__); // devuelve push, pop, indexOf, length, etc

console.log(c.__proto__.__proto__); // devuelve el objeto base
</code></pre>
<p>Todo conduce al objeto base. Es la parte inferior de la cadena de prototipos.</p>
<h3 id="lectura-56-reflexión-y-extensión">Lectura 56: Reflexión y extensión</h3>
<p>Reflexión: un objeto puede mirarse a sí mismo, listando y cambiando sus propiedades y métodos. Podemos usar eso para implementar el patrón extendido. Veamos cómo funciona la reflexión:</p>
<pre><code class="language-javascript">var person = {
    firstname: &#39;Default&#39;,
    lastname: &#39;Default&#39;,
    getFullName: function() {
        return this.firstname + &#39; &#39; + this.lastname;
    }
}

var john = {
    firstname = &#39;John&#39;.
    lastname: &#39;Doe&#39;
}

// bucle a través de cada miembro en el objeto john
for (var prop in john) {
    console.log(prop + &#39;: &#39; + john[prop]);
}

// El código anterior también mostrará getFullName y la función. Para evitarlo hacemos:

for (var prop in john) {
    // it will only list it if it&#39;s on john&#39;s object
    if (john.hasOwnProperty(prop)) {
        console.log(prop + &#39;: &#39; + john[prop]);
    }
}
</code></pre>
<p>Apartado conceptual: mira el método &quot;_extend&quot; de la biblioteca Underscore. Analiza el método &quot;createAssigner&quot; para entender cómo se utiliza la reflexión. Utiliza dos bucles para asignar las propiedades y métodos de los objetos pasados como parámetros al primer objeto pasado como parámetro.</p>
<p>Extend se utiliza en muchas bibliotecas y frameworks. Podríamos sacar ese método de Underscore y utilizarlo en nuestra propia biblioteca/proyecto.</p>
<p>En ES6, también tenemos &#39;extends&#39;, pero eso se usa para una funcionalidad diferente.</p>
<h3 id="lectura-57-construyendo-objetos">Lectura 57: Construyendo objetos</h3>
<p>Constructores de funciones, &#39;new&#39; y la historia de Javascript.</p>
<p>Se llamó Javascript para atraer a los desarrolladores de Java. De la misma manera, Microsoft creó VBScript para atraer a sus desarrolladores.</p>
<p>Así, los desarrolladores de Java estaban acostumbrados a crear objetos como este</p>
<p><code>var john = new Person();</code></p>
<p>Aunque ES6 introducirá la palabra clave class, Javascript no tiene clases.</p>
<p>Así que los desarrolladores de Java pensaron que Javascript era como Java y lo recomendaron.</p>
<pre><code class="language-javascript">function Person(firstname, lastname) {
    this.firstname = firstname;
    this.lastname = lastname;
}

var john = new Person(&#39;John&#39;, &#39;Doe;);
console.log(john);

var jane = new Person(&#39;Jane&#39;, &#39;Doe;);
console.log(jane);
</code></pre>
<p>&#39;new&#39; crea inmediatamente un objeto vacío. Luego llama a la función. Entonces &#39;this&#39; apuntará a ese objeto vacío. Así, la función se convierte en el constructor de ese objeto.</p>
<h3 id="lectura-58-constructores-de-funciones-y-prototype">Lectura 58: Constructores de funciones y &#39;.prototype&#39;</h3>
<p>Las funciones tienen propiedades especiales, además del nombre, el código, etc, también tienen una propiedad prototipo, que comienza su vida como un objeto vacío y SOLO es utilizado por el operador new.</p>
<pre><code class="language-javascript">function Person(firstname, lastname) {
    this.firstname = firstname;
    this.lastname = lastname;
}

Person.prototype.getFullName = function() {
    return this.firstname + &#39; &#39; + this.lastname;
}

var john = new Person(&#39;John&#39;, &#39;Doe;);
console.log(john);

var jane = new Person(&#39;Jane&#39;, &#39;Doe;);
console.log(jane);&lt;/pre&gt;

Person.prototype.getFormalFullName = function() {
    return this.lastname + &#39;, &#39; + this.firstname;
}

console.log(john.getFormalFullName());
</code></pre>
<p>Así, podemos añadir características a todos aquellos objetos que creamos utilizando el prototipo.</p>
<p>En un buen código, los métodos de un objeto se establecen con el prototipo. ¿Por qué? Porque si añadimos <code>getFullName</code> a cada objeto, significa que están usando mucha memoria. Si lo añadimos al prototipo, sólo lo tenemos una vez. Sólo usamos una copia para todas las instancias del objeto. Estamos ahorrando espacio de memoria porque sólo hay un prototipo para todos los objetos.</p>
<h3 id="lectura-59-apartado-peligroso-uso-de-new-y-funciones">Lectura 59: Apartado peligroso, uso de &#39;new&#39; y funciones</h3>
<p>Si nos olvidamos de usar &#39;new&#39;, el constructor de la función devolverá undefined. Es una buena práctica usar mayúsculas para los constructores. De esta manera, si vemos que falta la palabra clave new, nos daremos cuenta de que está mal.</p>
<p>En ES6, es probable que los constructores de funciones desaparezcan.</p>
<h3 id="lectura-60-constructores-de-función-incorporados">Lectura 60: Constructores de función incorporados</h3>
<p><code>var a = new Number(3);</code></p>
<p>Eso crea un objeto del tipo Number con algunos métodos especiales. Podemos usar a.toFixed();</p>
<p><code>var a = new String(&#39;John&#39;);</code></p>
<p>Lo mismo y podemos usar a.indexOf(&#39;o&#39;);</p>
<p>También podemos hacer &quot;John&quot;.length</p>
<p>Ambos almacenan el valor en una propiedad llamada <code>PrimitiveValue</code>. Así que no son primitivas, son objetos con métodos especiales.</p>
<p>De la misma manera, podemos hacer lo mismo con las fechas:</p>
<p><code>var a = new Date(&#39;10/12/2010&#39;);</code></p>
<p>También podemos hacer cosas como</p>
<pre><code class="language-javascript">String.prototype.isLengthGreaterThan = function(limit) {
   return this.legth &gt; limit;
}
console.log(&#39;John&#39;.isLengthGreaterThan(3));
</code></pre>
<p><code>String</code> es un objeto y estamos añadiendo un método al prototipo. ¡Acabamos de mejorar el lenguaje JS sin más! Tenemos que tener cuidado de no sobrescribir un método existente.</p>
<pre><code class="language-javascript">Number.prototype.isPositive = function() {
    return this &gt; 0;
}

console.log(3.isPositive()); // Devuelve un error
</code></pre>
<p>Javascript no devuelve un número en un objeto, así que tenemos que hacer lo siguiente:</p>
<pre><code class="language-javascript">var a = new Number(3);
a.isPositive();
</code></pre>
<p>Por lo tanto, es una buena característica, pero se vuelve un poco confusa porque no todo funciona de la misma manera.</p>
<h3 id="lectura-62-peligrosidad-aparte-constructores-de-funciones-incorporadas">Lectura 62: Peligrosidad aparte. Constructores de funciones incorporadas</h3>
<pre><code class="language-javascript">var a = 3;
var b = new Number(3);

a == b // devuelve verdadero debido a la coerción
a === b // devuelve false
</code></pre>
<p>Así que, como puedes ver, no es una situación muy recomendable. Es mejor no usar new para crear primitivas.</p>
<p>Del mismo modo, si vamos a trabajar mucho con fechas, es recomendable utilizar la librería <a href="http://momentjs.com">Moment.js</a>.</p>
<h3 id="lectura-62-apartado-peligroso-arrays-y-forin">Lectura 62: Apartado peligroso. Arrays y for..in</h3>
<pre><code class="language-javascript">Array.prototype.myCustomFeature = &#39;cool!&#39;;

var arr = [&#39;John&#39;, &#39;Jane&#39;, &#39;Bob&#39;];
for (item in arr) {
    console.log(item + &#39;: &#39; + arr[item]);
}
// Eso mostrará también myCustomFeature
</code></pre>
<p>Así que, en el caso de los arrays, no uses <code>for..in</code>. Usa el bucle clásico <code>for..i</code>.</p>
<h3 id="lectura-63-objectcreate-y-la-herencia-prototípica-pura">Lectura 63: Object.create y la herencia prototípica pura</h3>
<p>Esta es una nueva característica para los nuevos navegadores. Si necesitamos dar soporte a un navegador antiguo, usamos un <strong>polyfill</strong>, que es código que añade una característica de la que el motor puede carecer.</p>
<pre><code class="language-javascript">var person = {
    firstname = &#39;Default&#39;,
    lastname = &#39;Default&#39;,
    greet = function() {
        return &#39;Hi&#39; + this.firstname;
    }
}

var john = Object.create(person);
console.log(john);
</code></pre>
<p>Eso crea un objeto vacío con un prototipo con todos los métodos indicados anteriormente. Así, si queremos anular esos valores por defecto, podemos hacerlo:</p>
<pre><code class="language-javascript">john.firstname = &#39;John&#39;;
john.lastname = &#39;Doe&#39;;
</code></pre>
<p>Por lo tanto, la gran ventaja del prototipo frente a la herencia clásica, es que podemos añadir nuevos métodos sobre la marcha y mutar las cosas fácilmente, sin capas e interacciones complejas.</p>
<h3 id="lectura-64-es6-y-las-clases">Lectura 64: ES6 y las clases</h3>
<pre><code class="language-javascript">class Person {
    constructor(firstname, lastname) {
        this.firstname = firstname;
        this.lastname = lastname;
    }

    greet() {
        return &#39;Hi &#39; + firstname;
    }
}

var john = new Person(&#39;John&#39;, &#39;Doe&#39;);
</code></pre>
<p>Eso es un OBJECTO.</p>
<p>Para establecer el prototipo, lo hacemos así:</p>
<pre><code class="language-javascript">class InformalPerson extends Person {
    constructor(firstname, lastname) {
        super(firstname, lastname);
    }

    greet() {
        return &#39;Yo &#39; + firstname;
    }
}
</code></pre>
<p>Bonus: una forma diferente de escribir algo que no cambia cómo funciona por dentro.</p>
<h3 id="lectura-65-peculiaridades-inicialización">Lectura 65: Peculiaridades. Inicialización</h3>
<p>Sólo hablamos de errores sintácticos comunes al crear objetos literales grandes con arrays y funciones. Nada que destacar aquí.</p>
<h3 id="lectura-66-curiosidades-typeof-intanceof-y-cómo-averiguar-qué-es-algo">Lectura 66: Curiosidades. Typeof, intanceof y cómo averiguar qué es algo</h3>
<p>Podemos usar typeof para averiguar el tipo de primitiva u objeto con el que estamos tratando, pero en el caso de los arrays, tenemos que usar algo así:</p>
<pre><code class="language-javascript">var d = [];
console.log(Object.prototype.toString.call(d));&lt;/pre&gt;

That would output [Object Array]

In the case of objects:

&lt;pre&gt;function Person(name) {
    this.name = name;
}
var e = new Person(&#39;Jane&#39;);
</code></pre>
<p>Con instanceof Person, estamos buscando un objeto del tipo Persona en la cadena de prototipos.</p>
<p>Hay un error muy conocido. Si escribes typeof null, devuelve un objeto.</p>
<p>Y typeof functionName devuelve una función.</p>
<h3 id="lectura-67-peculiaridades-modo-estricto">Lectura 67: Peculiaridades. Modo estricto</h3>
<p>Esto le dice al motor JS que procese el código de forma más estricta. Por ejemplo, en el siguiente caso, escribimos mal la variable pero sin el modo estricto, no lanzará un error.</p>
<pre><code class="language-javascript">var person;

persom = {};
console.log(persom);
</code></pre>
<p>Si ponemos &quot;use strict&quot;; al principio, arrojará un error porque estamos obligados a declarar una variable para poder usarla.</p>
<p>Para más información, consulta <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Strict_mode">la referencia del modo estricto</a>.</p>
<h3 id="lectura-69-aprendiendo-del-buen-código-de-otros">Lectura 69: Aprendiendo del buen código de otros</h3>
<p>Una educación de código abierto. Github.com contiene una gran colección de código fuente donde podemos aprender. Así, es una buena práctica echar de vez en cuando un vistazo a algunos de los métodos de las bibliotecas que utilizamos.</p>
<h3 id="lecturas-70-72-inmersión-profunda-en-el-famoso-código-fuente-de-jquery">Lecturas 70-72: Inmersión profunda en el famoso código fuente de jQuery</h3>
<p>Estas conferencias son bastante densas en términos de revisión de código, por lo que omitiré comentarlas. Eres más que bienvenido a descargar la versión sin minificar de jQuery y sumergirte en el código para intentar entender cómo se inicializa la librería (sin necesidad de usar &#39;new&#39;) y cómo se almacenan todos los métodos en el prototipo de fn.</p>
<p>Sólo me gustaría mencionar el <strong>encadenamiento de métodos</strong>, que es una forma muy útil de encadenar llamadas a métodos. Si usas jQuery, entonces muy probablemente ya conoces esto. Como cuando añades una clase y eliminas otra en la misma línea:</p>
<pre><code class="language-javascript">$(&#39;.selector&#39;).addClass(&#39;a&#39;).removeClass(&#39;b&#39;);
</code></pre>
<p>Para conseguirlo, sólo tenemos que &#39;return this;&#39; en los métodos que estamos llamando.</p>
<h3 id="lectura-73-construyamos-un-frameworkbiblioteca-requisitos">Lectura 73: Construyamos un framework/biblioteca. Requisitos</h3>
<ul>
<li>Vamos a llamarlo &#39;Greetr&#39;, una aplicación para saludar a los usuarios</li>
<li>Cuando se le da un nombre, un apellido y los idiomas opcionales, genera saludos formales e informales</li>
<li>Soporta los idiomas inglés y español</li>
<li>Biblioteca/marco reutilizable</li>
<li>Estructura &#39;G$()&#39; fácil de escribir</li>
<li>Soporta jQuery</li>
</ul>
<h3 id="lectura-74-construyamos-un-frameworkbiblioteca-estructurando-código-seguro">Lectura 74: Construyamos un framework/biblioteca. Estructurando código seguro</h3>
<p>Primero, crea un archivo llamado Greetr.js. Vamos a crear un nuevo contexto de ejecución con una función auto-invocada.</p>
<pre><code class="language-javascript">(function(global, $) {

}(window, jQuery))
</code></pre>
<h3 id="lectura-75-construyamos-un-frameworkbiblioteca-nuestro-objeto-y-su-prototipo">Lectura 75: Construyamos un framework/biblioteca. Nuestro objeto y su prototipo</h3>
<p>Crea un archivo llamado app.js. Vamos a imitar la estructura de jQuery. Así que no queremos usar &#39;new&#39;, queremos usar G$() como en jQuery y obtener un objeto como resultado:</p>
<pre><code class="language-javascript">var g = G$(&#39;John&#39;, &#39;Doe&#39;);
</code></pre>
<p>Y en Greetr.js:</p>
<pre><code class="language-javascript">(function(global, $) {

    var Greetr = function(firstName, lastName, language) {
    return new Greetr.init(firstName, lastName, language);

    Greetr.prototype = {};

    Greetr.init = function(firstName, lastName, language) {
        var self = this;
        self.firstName = firstName || &#39;&#39;;
        self.lastName = lastName || &#39;&#39;;
        self.language = language || &#39;en&#39;;
    }

    Greetr.init.prototype = Greetr.prototype;

    global.Greetr = global.G$ = Greetr;
}

}(window, jQuery))
</code></pre>
<h3 id="lectura-76-construyamos-un-frameworkbiblioteca-propiedades-y-métodos-encadenables">Lectura 76: Construyamos un framework/biblioteca. Propiedades y métodos encadenables</h3>
<p>Ahora sólo vamos a crear métodos en el prototipo y devolver esto en algunos de ellos para hacerlos encadenables.</p>
<pre><code class="language-javascript">(function(global, $) {

    var Greetr = function(firstName, lastName, language) {
    return new Greetr.init(firstName, lastName, language);

    var supportedLangs = [&#39;en&#39;, &#39;es&#39;];

    var greetings = {
        en: &#39;Hello&#39;,
        es: &#39;Hola&#39;
    };

    var formalGreetings = {
        en: &#39;Greetings&#39;,
        es: &#39;Saludos&#39;
    };

    var logMessages = {
        en: &#39;Logged in&#39;,
        es: &#39;Inició sesión&#39;
    }

    Greetr.prototype = {

        fullName: function() {
            return this.firstName + &#39; &#39; + this.lastName;
        },

        validate: function() {
            if (supportedLangs.indexOf(this.language) === -1) {
                throw &quot;Invalid language&quot;;
            }
        },

        greeting: function() {
            return greetings[this.language] + &#39; &#39; + this.firstName + &#39;!&#39;;
        },

        formalGreeting: function() {
            return formalGreetings[this.language] + &#39;, &#39; + this.fullName();
        },

        greet: function(formal) {
            var msg;

            if (formal) msg this.formalGreeting();
            else msg = this.greeting();

            if (console) console.log(msg);
            return this;
        },

        log: function() {
            if (console) {
                console.log(logMessages[this.language] + &#39;: &#39; + this.fullName();
            }
            return this;
        },

        setLang: function(lang) {
            this.language = lang;
            this.validate();
            return this;
        }
    };

    Greetr.init = function(firstName, lastName, language) {
        var self = this;
        self.firstName = firstName || &#39;&#39;;
        self.lastName = lastName || &#39;&#39;;
        self.language = language || &#39;en&#39;;
        self.validate();
    }

    Greetr.init.prototype = Greetr.prototype;

    global.Greetr = global.G$ = Greetr;
}

}(window, jQuery))
</code></pre>
<p>así que ahora podemos llamarlo así:</p>
<pre><code class="language-javascript">var g = G$(&#39;John&#39;, &#39;Doe&#39;);
g.greet().setLang(&#39;es&#39;).greet(true);
</code></pre>
<h3 id="lectura-77-construyamos-un-frameworkbiblioteca-añadiendo-soporte-para-jquery">Lectura 77: Construyamos un framework/biblioteca. Añadiendo soporte para jQuery</h3>
<p>Imagina que tenemos un formulario HTML para los usuarios que se registran. Sólo necesitamos un desplegable con los dos idiomas soportados y un botón de login. También necesitamos un H1 con el id de saludo.</p>
<p>Ahora vamos a añadir un método que acepte un selector jQuery y actualice lo que sea el selector.</p>
<p>Para ello, sólo tenemos que añadir el siguiente método al prototipo:</p>
<pre><code class="language-javascript">    HTMLGreeting: function(selector) {
        if (!$) throw &#39;jQuery not loaded&#39;;

        if (!selector) throw &#39;Missing jQuery selector&#39;;

        var msg;
        if (formal) msg this.formalGreeting();
        else msg = this.greeting();

        $(selector).html(msg);
        return this;
    }
</code></pre>
<h3 id="lectura-78-construyamos-un-frameworkbiblioteca-buenos-comentarios">Lectura 78: Construyamos un framework/biblioteca. Buenos comentarios</h3>
<p>Esto es especialmente importante en JS porque no es muy verboso y podríamos hacer las cosas muy lisas pero no fáciles de leer.</p>
<p>También es bueno para que otros desarrolladores revisen tu código y vean si es legible.</p>
<h3 id="lectura-79-construyamos-un-frameworkbiblioteca-usemos-nuestro-framework">Lectura 79: Construyamos un framework/biblioteca. Usemos nuestro framework</h3>
<p>A veces las bibliotecas también utilizan un punto y coma antes de la función auto-invocada como una comprobación de cordura (por si acaso otra biblioteca no se cerró correctamente).</p>
<p>El resto de la conferencia es sólo acerca de la conexión de la forma HTML con la biblioteca, que no es particularmente agregar mucho valor, así que voy a saltármelo.</p>
<h3 id="lectura-81-typescript-es6-y-lenguajes-transpilados">Lectura 81: Typescript, ES6 y lenguajes transpilados</h3>
<p><strong>Transpilar</strong>: convertir la sintaxis de un lenguaje de programación a otro. En este caso, los lenguajes no se ejecutan en ningún sitio, sino que son procesados por &quot;transpiladores&quot; que generan Javascript.</p>
<p><a href="http://www.typescriptlang.org/">Typescript</a> de Microsoft es bastante popular. Proporciona tipos para las variables, por ejemplo, message: string. También utiliza clases y constructores.</p>
<p><a href="https://github.com/google/traceur-compiler">Traceur</a> de Google es también otra biblioteca ES6 muy popular.</p>
<p>Muchos equipos con proyectos Javascript a largo plazo están utilizando estas herramientas para poder escribir código ES6 (a prueba de futuro) y al mismo tiempo ser compatible con los navegadores actuales.</p>
<p>Como opinión personal, he oído hablar de <a href="https://babeljs.io/">BabelJs</a> más que de cualquiera de las bibliotecas anteriores. <a href="http://ilikekillnerds.com/2015/01/transpiling-wars-6to5-vs-traceur/">Algunas personas</a> recomiendan Babel sobre Traceur si la compatibilidad con JSX es un requisito o si la calidad del código resultante también es importante para ti por encima de la función.</p>
<h3 id="lectura-83-ecmascript-60-características-actuales-y-futuras">Lectura 83: EcmaScript 6.0. Características actuales y futuras</h3>
<p>Este es probablemente el mejor recurso que existe para aprender sobre las características de ES6: <a href="https://github.com/lukehoban/es6features">https://github.com/lukehoban/es6features</a></p>
<p>Y eso es todo. Aquí está el certificado que obtendrás si haces el curso en Udemy:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/UC-E8UQOM40.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/UC-E8UQOM40.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/UC-E8UQOM40-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/javascript-understanding-the-weird-parts-part-2/images/UC-E8UQOM40-mobile.jpg" />
          <img class="image" src="/blog/javascript-understanding-the-weird-parts-part-2/images/UC-E8UQOM40.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/javascript-understanding-the-weird-parts-part-2/images/coding.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cómo crear un portafolio en ghost]]></title>
            <link>https://www.joanmira.com/es/blog/how-to-create-a-portfolio-in-ghost</link>
            <guid>https://www.joanmira.com/es/blog/how-to-create-a-portfolio-in-ghost</guid>
            <pubDate>Fri, 22 Jan 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Mi experiencia trabajando con el nuevo CMS: La plataforma de publicación Ghost]]></description>
            <content:encoded><![CDATA[<p>He sido un desarrollador de <strong>WordPress</strong> durante bastante tiempo, pero en algún momento, me cansé de la atención masiva que estaba recibiendo de <strong>hackers</strong>. También empecé a sentirme cansado del LAMP stack y quería tener un nuevo comienzo con tecnologías relevantes como Node.js, Nginx, Ember.js, etc. Así es como cambié todos mis sitios web a <a href="http://ghost.org">Ghost</a>.</p>
<p>He estado usando la <strong>fantástica</strong> plataforma <a href="http://ghost.org">Ghost</a> para ejecutar este sitio web desde hace casi un año y hasta ahora, ha sido una gran experiencia. En este artículo, voy a explicar cómo construí la sección <a href="/es/work">/work</a> de este sitio web. En cierto modo, es un poco un hack, teniendo en cuenta que <a href="http://ghost.org">Ghost</a> no tiene todavía una forma clara de crear páginas de un tipo específico o tener campos de post personalizados que podamos leer en las plantillas (como en WordPress).</p>
<p>Para que esto funcione, vamos a utilizar:</p>
<ul>
<li>El <strong>sistema de etiquetas</strong>: para categorizar nuestros trabajos del portolio</li>
<li>Una nueva <strong>page-work.hbs</strong> <a href="https://themes.ghost.org/docs/templates">plantilla</a>: para mostrar la rejilla del portafolio y la navegación</li>
<li>El <strong>page.hbs</strong> <a href="https://themes.ghost.org/docs/templates">template</a>: para crear la estructura HTML de las páginas del portafolio</li>
<li>El nuevo <strong>{{#get}}</strong> <a href="https://themes.ghost.org/docs/get">helper</a>: para buscar las entradas del portafolio entre todos nuestros posts de Ghost</li>
<li>La <a href="http://isotope.metafizzy.co/">biblioteca Isotope</a>: para crear el diseño interactivo de mampostería responsiva</li>
</ul>
<p>Puedes leer más sobre las características mencionadas de Ghost en la <a href="https://themes.ghost.org/docs/about">documentación</a>. Ten en cuenta que el <a href="https://themes.ghost.org/docs/get">{{get}} helper</a> aún está en fase beta.</p>
<p>El funcionamiento es muy sencillo, vamos a utilizar las etiquetas normales de Ghost (como web, móvil, vídeo, diseño, etc) para categorizar los elementos de nuestr portafolio y también utilizaremos la etiqueta &#39;<strong>work</strong>&#39; para identificar las páginas que deben ser tratadas como páginas del portafolio.</p>
<p>Este enfoque tiene al menos <strong>una limitación</strong>:</p>
<p>Si vamos a utilizar la plantilla <strong>page.hbs</strong> para las entradas del portafolio, lo que significa que no podemos crear nuevas páginas sobre la marcha porque esa plantilla se utiliza por defecto para cada nueva página que creamos. Para el resto de las páginas estáticas de nuestro sitio, tendremos que utilizar nuevas plantillas específicas. Por ejemplo, la página de información requerirá una nueva plantilla llamada page-about.hbs, la página de contacto requerirá una nueva plantilla llamada page-contact.hbs, etc. Este enfoque es más apropiado para los sitios pequeños que no tienen muchas páginas estáticas y el nuevo contenido normalmente va a ser una entrada de blog o una nueva entrada de portafolio.</p>
<h3 id="paso-1-crear-una-nueva-plantilla-html-para-mostrar-la-cuadrícula-del-portafolio">Paso 1. Crear una nueva plantilla HTML para mostrar la cuadrícula del portafolio</h3>
<p>Primero, vamos a crear una nueva plantilla. La he llamado page-work.hbs (porque mi URL es /work), pero puedes llamarla como prefieras, es decir, page-portfolio, page-projects, etc. En esta plantilla, vamos a tener:</p>
<ul>
<li>Un poco de texto de introducción (introducido con el editor markdown)</li>
<li>La navegación principal del portafolio</li>
<li>La rejilla con los elementos del portafolio</li>
</ul>
<p>Y este es el código que usaremos:</p>
<pre><code class="language-html">&lt;section&gt;
  {{#post}}
    {{content}}
  {{/post}}
&lt;/section&gt;

&lt;main&gt;
  &lt;div class=&quot;work-navigation&quot;&gt;
    &lt;div id=&quot;filters&quot; class=&quot;button-group&quot;&gt;
      &lt;button class=&quot;btn is-checked&quot; data-filter=&quot;*&quot;&gt;ALL&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.web&quot;&gt;WEB&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.desktop&quot;&gt;DESKTOP&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.mobile&quot;&gt;MOBILE&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.prototype&quot;&gt;PROTOTYPE&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.installation&quot;&gt;INSTALLATION&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.open-source&quot;&gt;OPEN SOURCE&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.consultancy&quot;&gt;CONSULTANCY&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.design&quot;&gt;DESIGN&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.ux&quot;&gt;UX&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.video&quot;&gt;VIDEO&lt;/button&gt;
      &lt;button class=&quot;btn&quot; data-filter=&quot;.photo&quot;&gt;PHOTO&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;work-grid clearfix&quot;&gt;
    &lt;div class=&quot;grid-sizer&quot;&gt;&lt;/div&gt;
    {{#get &quot;posts&quot; limit=&quot;all&quot; include=&quot;tags&quot; filter=&quot;tag:work+page:true&quot;}}
      {{#foreach posts}}
        &lt;a href=&quot;/{{slug}}&quot; class=&quot;{{tags separator=&quot; &quot; autolink=&quot;false&quot;}}&quot;&gt;
          &lt;div class=&quot;work-thumb&quot;&gt;&lt;/div&gt;
          &lt;h2 class=&quot;name&quot;&gt;{{title}}&lt;/h2&gt;
          &lt;p class=&quot;meta&quot;&gt;&lt;span class=&quot;date&quot;&gt;{{date published_at format=&quot;YYYY&quot;}}&lt;/span&gt;&lt;span class=&quot;country&quot;&gt;{{#has tag=&quot;uk&quot;}}UK{{/has}}{{#has tag=&quot;spain&quot;}}Spain{{/has}}{{#has tag=&quot;multiple-regions&quot;}}Multiple regions{{/has}}&lt;/span&gt;&lt;/p&gt;
        &lt;/a&gt;
      {{/foreach}}
    {{/get}}
  &lt;/div&gt;
&lt;/main&gt;
</code></pre>
<p>La primera parte del código renderizará el contenido que introduzcamos en el editor markdown. Luego definimos los botones de navegación del portafolio, cada uno de ellos tiene un atributo de filtro con un nombre de clase. Al hacer clic, la biblioteca isotope mostrará sólo las entradas del portafolio que tengan el nombre de clase especificado en el atributo de filtro del botón.</p>
<p>Por último, en el bloque work-grid, vamos a utilizar el helper {{get}} para obtener una colección de entradas que tengan la etiqueta &#39;work&#39; y estén marcadas como &#39;page&#39;. Esto omitirá todas las entradas normales del blog y todas las páginas que no tengan la etiqueta &quot;trabajo&quot;.</p>
<p>A continuación, vamos a recorrer la colección (utilizando {{#foreach}} y a mostrar una etiqueta de anclaje con los metadatos de cada entrada de la colección. Fíjate en que para mostrar las etiquetas de las entradas, utilizamos el ayudante {{tags}} dentro del atributo de clase de la etiqueta de anclaje. Este es el punto clave de este enfoque.</p>
<p>El contenido dentro de la etiqueta de anclaje no se impone. Puedes estilizarlo como prefieras. Yo sólo estoy renderizando la fecha del post y una cadena de país u otra dependiendo de las etiquetas del post.</p>
<h3 id="paso-2-establecer-la-configuración-de-isotope">Paso 2. Establecer la configuración de isotope</h3>
<p>Ahora que nuestro markup está listo, necesitamos descargar la <a href="http://isotope.metafizzy.co/">biblioteca Isotope</a> y cargarla en nuestra página. Hay muchas maneras diferentes de hacer esto, dependiendo del tipo de gestor de tareas que estés utilizando, si estás empaquetando y minificando el código y cómo está estructurado tu tema Ghost. Así que lo dejaré a tu elección. Lo único que hay que tener en cuenta es que necesitamos que la biblioteca se cargue en la página.</p>
<p>Una vez que estemos seguros de que la biblioteca se carga, tenemos que configurarla. Una vez más, el lugar donde debes poner el siguiente código, depende de cómo esté estructurado tu tema, pero debes tener un archivo Javascript en algún lugar de tu tema que puedas utilizar:</p>
<pre><code class="language-javascript">// init Isotope
var $grid = $(&#39;.work-grid&#39;).isotope({
  itemSelector: &#39;.work&#39;,
  percentPosition: true,
  masonry: {
    columnWidth: &#39;.grid-sizer&#39;
  }
});

// bind filter button click
$(&#39;#filters&#39;).on(&#39;click&#39;, &#39;button&#39;, function() {
  var filterValue = $(this).attr(&#39;data-filter&#39;);
  $grid.isotope({ filter: filterValue });
});

// change is-checked class on buttons
$(&#39;.button-group&#39;).each( function(i, buttonGroup) {
  var $buttonGroup = $(buttonGroup);
  $buttonGroup.on(&#39;click&#39;, &#39;button&#39;, function() {
    $buttonGroup.find(&#39;.is-checked&#39;).removeClass(&#39;is-checked&#39;);
    $(this).addClass(&#39;is-checked&#39;);
  });
});
</code></pre>
<p>En la primera parte del código, sólo estamos adjuntando Isotope al bloque work-grid definido en nuestra plantilla HTML. Luego le decimos a Isotope que las miniaturas de nuestro portafolio tendrán el nombre de clase &#39;work&#39;. El resto de los ajustes son los indicados por la <a href="http://isotope.metafizzy.co/#getting-started">documentación de Isotope</a> para que la rejilla sea responsiva.</p>
<p>La siguiente parte se encarga de los eventos de clic de navegación. Le dice a Isotope que reorganice los elementos de la cuadrícula en función del filtro seleccionado.</p>
<p>Finalmente, el último fragmento actualiza los nombres de clase &#39;checked&#39; en los botones de navegación cuando se hace clic en ellos. Fíjese en que estamos apuntando a los botones dentro de los bloques &#39;button-group&#39;. Esto es porque puedes decidir tener diferentes grupos de navegación, uno para filtrar y otro para ordenar. Puedes encontrar información sobre cómo ordenar elementos en la <a href="http://isotope.metafizzy.co/#getting-started">documentación de Isotope</a>.</p>
<h3 id="paso-3-crear-nuevas-entradas">Paso 3. Crear nuevas entradas</h3>
<p>El siguiente paso es crear unas cuantas entradas nuevas en tu panel de administración de Ghost y prepararlas para que sean entradas del portafolio. Recuerda que lo único que tienes que hacer es marcar la opción &#39;Convertir esta entrada en una página estática&#39; y asignar al menos la etiqueta &#39;work&#39;.</p>
<h3 id="paso-4-decidir-qué-hacer-con-las-imágenes-del-post">Paso 4. Decidir qué hacer con las imágenes del post</h3>
<p>En cuanto a las imágenes en miniatura que se utilizarán en la parrilla de Isotope, hay al menos un par de opciones.</p>
<p>La primera (que yo no utilicé) sería añadir una imagen de la entrada utilizando la configuración de la barra lateral de la entrada en el panel de administración. A continuación, recuperarías esa imagen durante el bucle {{foreach}} en la plantilla &#39;page-work.hbs&#39; y la renderizarías como un &lt;img&gt; o como un CSS <code>background-image</code>. Esta opción es la mejor si sólo necesita una imagen para las miniaturas, sin colores de fondo u otras cosas y no va a utilizar la imagen del puesto en la página de entrada del portafolio (page.hbs).</p>
<p>La otra opción llevaría más tiempo (en términos de mantenimiento) pero sería más flexible en términos de presentación. Elegí esta opción porque quería tener un CSS específico para cada una de las miniaturas de la cuadrícula de mi portafolio. Eso significa que cada vez que quiero añadir un nuevo elemento a mi portafolio, tengo que actualizar manualmente mi CSS con el logotipo del proyecto. ¿Por qué me he complicado la vida de esta manera? Sólo porque quería tener bonitas animaciones roll-over con colores cambiantes de fondo y mantener la imagen del post para la plantilla page.hbs :-)</p>
<p>Así que, si sólo quieres mostrar las miniaturas normales de los proyectos como imágenes, yo optaría por la primera opción. ¡De esta manera, podrías añadir nuevos elementos al portafolio directamente desde el panel de administración sin la necesidad de tocar una línea de código!</p>
<h3 id="paso-5-modificar-la-plantilla-pagehbs">Paso 5. Modificar la plantilla page.hbs</h3>
<p>Vamos a utilizar esta plantilla como base para cada nueva página de portafolio:</p>
<pre><code class="language-html">{{#post}}
  {{#if image}}
    &lt;section class=&quot;hero&quot; style=&quot;background-image: url({{image}})&quot;&gt;&lt;/section&gt;
  {{/if}}

  &lt;main class=&quot;content {{#if image}}{{else}}no-hero{{/if}}&gt;
    &lt;article class=&quot;{{post_class}}&quot;&gt;
      &lt;h1 class=&quot;post-title&quot;&gt;{{{title}}}{{#if tags}}&lt;time datetime=&quot;{{date format=&quot;YYYY-MM-DD&quot;}}&quot;&gt;{{date format=&#39;YYYY&#39;}}&lt;/time&gt;{{/if}}&lt;/h1&gt;
      &lt;section class=&quot;post-content&quot;&gt;
        {{content}}
      &lt;/section&gt;
    &lt;/article&gt;
  &lt;/main&gt;
{{/post}}
</code></pre>
<p>Dependiendo de la ruta que hayas decidido tomar en el paso anterior y si quieres mostrar la imagen de la entrada en la parte superior de la página de la entrada del portafolio, necesitarás la primera condición o no.</p>
<p>El resto del código es sólo la configuración de una estructura HTML básica para mostrar el contenido de la entrada del portafolio.</p>
<h3 id="paso-6-establecer-los-estilos-básicos-para-la-cuadrícula">Paso 6. Establecer los estilos básicos para la cuadrícula</h3>
<p>En tu CSS, añade los siguientes estilos. No estoy incluyendo todas las partes que se refieren sólo a mi sitio web específico, como las animaciones hover, imágenes de fondo, etc, pero si estás interesado, envíame un comentario y lo añadiré:</p>
<pre><code class="language-css">.work-grid {
  .grid-sizer,
  .work {
    width: 16.67%;

    @media screen and (max-width: 1500px) {
      width: 20%;
    }

    @media screen and (max-width: 1200px) {
      width: 25%;
    }

    @media screen and (max-width: 900px) {
      width: 33.34%;
    }

    @media screen and (max-width: 700px) {
      width: 50%;
    }

    @media screen and (max-width: 380px) {
      width: 100%;
    }
  }

  .work {
    position: relative;
    box-sizing: border-box;
    float: left;
    height: 200px;
    overflow: hidden;

    .work-thumb {
      position: absolute;
      height: 100%;
      width: 100%;
      background-repeat: no-repeat;
      background-position: center;
    }

    .name, .meta {
      opacity: 0;
      position: relative;
      color: white;
    }

    .name {
      padding-left: 40px;
      padding-right: 40px;
      font-size: 1.5em;
      white-space: pre-wrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-height: 60px;

      @media screen and (max-width: 700px) {
        font-size: 1.2em;
        max-height: 70px;
      }
    }

    .meta {
      .date {
        margin-right: 5px;
      }
    }

    /* Si te has decidido por la opción 2 en el paso anterior,
        tendrás que vincular manualmente la miniatura CSS de tu portafolio
        añadiendo una etiqueta con el nombre del proyecto */
    &amp;.project-name {
      background-color: #c60c30; // esto es opcional
      .work-thumb {
        background-image: url(/assets/work/project-name/logo.png);
      }
    }
  }
}
</code></pre>
<h3 id="paso-7-¡listo-para-empezar">Paso 7. ¡Listo para empezar!</h3>
<p>En este punto, deberías estar listo para empezar a añadir las entradas, el contenido y las imágenes de tu portafolio. Si encuentras algo que falta en mi código o hay algo que no tiene mucho sentido, envía un comentario y lo perfeccionaré.</p>
<p>Buena suerte! y sigue blogueando con <a href="http://ghost.org">Ghost</a> ;-)</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/how-to-create-a-portfolio-in-ghost/images/ghost-portfolio.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Tutorial: construir app del tiempo con react]]></title>
            <link>https://www.joanmira.com/es/blog/tutorial-build-a-weather-app-with-react</link>
            <guid>https://www.joanmira.com/es/blog/tutorial-build-a-weather-app-with-react</guid>
            <pubDate>Wed, 20 Jan 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Este es un ejercicio o prueba clásica cuando se solicita un empleo]]></description>
            <content:encoded><![CDATA[<p><a class="btn github" role="button" href="https://github.com/gazpachu/react-weather" target="_blank">Código fuente</a></p>
<p>En este tutorial de <a href="https://facebook.github.io/react/">React</a> para principiantes, vamos a aprender a construir una pequeña y sencilla aplicación de <a href="https://facebook.github.io/react/">React</a> para mostrar el tiempo de las ciudades del mundo. Si estás interesado en aprender React, este tutorial es un buen punto de partida, ya que no cubre temas muy complejos. Al mismo tiempo, una vez que aprendas a conectarte a una API externa y a mostrar los resultados, puede ser bastante útil para construir otro tipo de apps de una sola página cuyo único requisito sea obtener datos de una fuente externa y mostrar los resultados de cualquier manera.</p>
<p>Es una aplicación muy sencilla que se puede programar en unas pocas horas, así que deberías intentar hacerlo por ti mismo. ¡Así aprenderás más! Para los impacientes... <a href="https://github.com/gazpachu/react-weather">aquí está el código fuente</a>.</p>
<h3 id="requisitos-funcionales">Requisitos funcionales</h3>
<ul>
<li>Mostrar el nombre de la ciudad, el icono del tiempo actual, la temperatura, la humedad y la velocidad del viento</li>
<li>El color de fondo cambia en función de la temperatura</li>
<li>Carga un nombre de ciudad usando la cadena de consulta &#39;?city=Madrid&#39;</li>
<li>Carga ciudades separadas por comas y las rota después de 5s</li>
<li>Almacena los datos de la API y los actualiza después de 5 m.</li>
<li>Diseño responsivo. Debería funcionar bien en todos los dispositivos</li>
</ul>
<h3 id="tech-stack">Tech stack</h3>
<ul>
<li>Compatible con todos los navegadores hasta Internet Explorer 9</li>
<li>No usar jQuery</li>
<li>Usar la fuente <a href="https://fonts.adobe.com/fonts/league-gothic">League Gothic</a></li>
<li>Utiliza los iconos del tiempo de <a href="erikflowers.github.io/weather-icons/">Erik Flowers</a></li>
<li>Utiliza los datos de <a href="http://openweathermap.org/apihttp://openweathermap.org/api">Open Weather Map</a></li>
<li>Utiliza <a href="https://nodejs.org/en/">Node.js</a> y <a href="http://bower.io/">Bower</a></li>
<li>Utilizar el <a href="http://gulpjs.com/">Gulp Task Runner</a> y el <a href="http://sass-lang.com/">SASS CSS pre-processor</a></li>
<li>Usar <a href="http://browserify.org/">Browserify</a> para requerir módulos</li>
</ul>
<p>Nota: debido a la simplicidad y al pequeño tamaño de la arquitectura, omitiremos el uso de <a href="http://getbem.com/introduction/">BEM</a> y <a href="https://speakerdeck.com/dafed/managing-css-projects-with-itcss">ITCSS</a>.</p>
<p>Este es el aspecto que debería tener la aplicación al final del tutorial:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather.png" />
          <img class="image" src="/blog/tutorial-build-a-weather-app-with-react/images/react-weather.png" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<p>Puede haber algunas diferencias en los iconos o la fuente (dependencias de terceros), pero el aspecto general será muy similar a cualquiera de estas dos capturas de pantalla.</p>
<h3 id="paso-1-configurar-el-entorno-de-desarrollo">Paso 1. Configurar el entorno de desarrollo</h3>
<p>Lo primero que vamos a hacer es <strong>instalar</strong> <a href="https://nodejs.org/en/">Node.js</a>. Yo voy a utilizar el terminal de Mac Os, <a href="http://brackets.io/">Brackets</a> y Chrome. Puedes utilizar cualquier herramienta o sistema operativo que prefieras, lo único que necesitas es una consola, un editor de texto y un navegador.</p>
<p>Si decides usar <a href="http://brackets.io/">Brackets</a>, te recomiendo instalar también estas extensiones:</p>
<ul>
<li><a href="https://github.com/ivogabe">Brackets icons</a> (para mostrar bonitos iconos junto a los archivos)</li>
<li><a href="https://github.com/cfjedimaster/brackets-htmlhint">HTMLHint</a> (añade sugerencias a las etiquetas HTML)</li>
<li><a href="https://github.com/Brackets-Themes/Monokai">Monokai theme</a> (basado en el esquema de colores monokai de Sublime Text)</li>
<li><a href="https://github.com/apla/brackets-jsx">React JSX language mode</a> (añade el modo de lenguaje JSX)</li>
<li><a href="https://github.com/DH3ALEJANDRO/custom-work-for-brackets">Tabs custom</a> (añade pestañas a Brackets)</li>
</ul>
<p>Así es como se ve mi Brackets con todas estas extensiones instaladas:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/tutorial-build-a-weather-app-with-react/images/brackets-extensions.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/tutorial-build-a-weather-app-with-react/images/brackets-extensions.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/tutorial-build-a-weather-app-with-react/images/brackets-extensions.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/tutorial-build-a-weather-app-with-react/images/brackets-extensions.png" />
          <img class="image" src="/blog/tutorial-build-a-weather-app-with-react/images/brackets-extensions.png" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<h3 id="paso-2-apartado-conceptual-sobre-los-módulos-de-nodejs">Paso 2. Apartado conceptual: sobre los módulos de Node.js</h3>
<p>Como probablemente ya sepas, el bloque de construcción fundamental de Node se llama módulo, que mapea directamente a un archivo y todo lo que hay dentro de ese módulo es privado (las vars sólo funcionan en ese archivo).</p>
<p>Ahora, antes de ver cómo exponer cosas fuera de un módulo, veamos cómo cargar un módulo. Aquí es donde entra &#39;<strong>require</strong>&#39;. &#39;require&#39; se utiliza para cargar un módulo, por lo que su valor devuelto se asigna típicamente a una variable:</p>
<p><code>var móduloA = require(&#39;./nombredelmóduloA&#39;);</code></p>
<p>Mientras nuestro módulo no exponga nada, lo anterior no es muy útil. Para exponer cosas usamos &#39;<strong>module.exports</strong>&#39; y exportamos todo lo que queramos. Podemos exportar objetos o primitivas de diferentes maneras:</p>
<pre><code class="language-javascript">var User = function(name, email) { ... }
module.exports = User;
</code></pre>
<pre><code class="language-javascript">module.exports = function(name, email) { ... }
</code></pre>
<pre><code class="language-javascript">var x = 5;
module.exports.x = x;
</code></pre>
<p>En esta aplicación, sólo vamos a crear un módulo, el módulo <strong>API</strong> (api.jsx), que se encargará de obtener los datos de la <a href="http://openweathermap.org/apihttp://openweathermap.org/api">API meteorológica</a>. Hablaremos de ello con más detalle más adelante.</p>
<h3 id="paso-3-instalación-de-los-módulos-npm-y-bower">Paso 3. Instalación de los módulos NPM y Bower</h3>
<p>NPM es un gestor de paquetes que viene con Node.js. Es muy útil para instalar módulos de Node.js de terceros que podemos utilizar para acelerar nuestro desarrollo.</p>
<p>NPM utiliza un archivo llamado package.json como referencia de todas las dependencias que va a tener el proyecto. Podemos crear este archivo manualmente o escribiendo &#39;<strong>npm init</strong>&#39;.</p>
<p>Empecemos creando una carpeta llamada &#39;<strong>react-weather</strong>&#39; como prefieras en tu ordenador.</p>
<p>Luego abre la consola/terminal, cd a esa carpeta y escribe <code>npm init</code>. Te aparecerán unas cuantas preguntas que no es necesario responder. Simplemente mantén presionado enter hasta que salgas del proceso.</p>
<p>Ahora deberías tener un archivo package.json en tu carpeta.</p>
<p>A continuación, vamos a descargar algunos paquetes (que se guardarán automáticamente en la carpeta &#39;<strong>node_modules</strong>&#39;) y guardar la referencia en el archivo package.json:</p>
<p>Usa <code>npm install &lt;pkg&gt; --save</code> después para instalar un paquete y guardarlo como dependencia en el archivo package.json.</p>
<p>También podemos descargar varios paquetes al mismo tiempo. Así que escribe lo siguiente:</p>
<p><code>npm install --save browserify classnames gulp gulp-concat gulp-react gulp-sass gulp-server-livereload gulp-util gulp-watch node-notifier react-dom reactify vinyl-source-stream watchify whatwg-fetch</code>.</p>
<p>También vamos a instalar el cliente gulp de forma global (no sólo para este proyecto). Usamos la opción &#39;-g&#39;. Es posible que tengamos que dar derechos de administrador usando &#39;sudo&#39;:</p>
<p><code>sudo npm install -g gulp-cli</code></p>
<p>Puede llevar un rato..., pero deberías terminar con un package.json que se parezca a esto:</p>
<pre><code class="language-javascript">{
  &quot;name&quot;: &quot;react-weather&quot;,
  &quot;version&quot;: &quot;1.0.0&quot;,
  &quot;main&quot;: &quot;index.js&quot;,
  &quot;scripts&quot;: {
    &quot;test&quot;: &quot;echo \&quot;Error: no test specified\&quot; &amp;&amp; exit 1&quot;
  },
  &quot;author&quot;: &quot;&quot;,
  &quot;license&quot;: &quot;ISC&quot;,
  &quot;dependencies&quot;: {
    &quot;browserify&quot;: &quot;^9.0.3&quot;,
    &quot;classnames&quot;: &quot;^2.2.3&quot;,
    &quot;gulp&quot;: &quot;^3.8.11&quot;,
    &quot;gulp-concat&quot;: &quot;^2.5.2&quot;,
    &quot;gulp-react&quot;: &quot;^3.0.1&quot;,
    &quot;gulp-sass&quot;: &quot;^2.0.1&quot;,
    &quot;gulp-server-livereload&quot;: &quot;1.3.0&quot;,
    &quot;gulp-util&quot;: &quot;^3.0.4&quot;,
    &quot;gulp-watch&quot;: &quot;^4.2.4&quot;,
    &quot;node-notifier&quot;: &quot;^4.2.1&quot;,
    &quot;react&quot;: &quot;^0.14.3&quot;,
    &quot;react-dom&quot;: &quot;^0.14.3&quot;,
    &quot;reactify&quot;: &quot;^1.1.0&quot;,
    &quot;vinyl-source-stream&quot;: &quot;^1.1.0&quot;,
    &quot;watchify&quot;: &quot;^2.4.0&quot;,
    &quot;whatwg-fetch&quot;: &quot;^0.11.0&quot;
  },
  &quot;devDependencies&quot;: {}
}
</code></pre>
<p>A continuación, vamos a instalar Bower (otro gestor de paquetes para la web) y descargar los iconos del tiempo. Creará una carpeta llamada &#39;<strong>bower_components</strong>&#39; y un archivo de registro llamado &#39;<strong>bower.json</strong>&#39;:</p>
<p><code>npm install -g bower</code></p>
<p><code>bower install weather-icons</code></p>
<p>Si tuviéramos que subir este proyecto a un repositorio de código Git, tendríamos que crear un archivo &#39;<strong>.gitignore</strong>&#39; y añadirle &#39;node_modules/&#39; y &#39;bower_components/&#39;, ya que no queremos subir todas estas dependencias al repositorio. Los nuevos usuarios pueden escribir &#39;<strong>npm install</strong>&#39; y &#39;bower install&#39; para descargar todas las dependencias.</p>
<h3 id="paso-4-estructura-de-carpetas-y-marcadores-de-posición">Paso 4. Estructura de carpetas y marcadores de posición</h3>
<p>Vamos a crear unas cuantas carpetas y archivos. Deberíamos terminar con la siguiente estructura de carpetas:</p>
<pre><code class="language-javascript">/react-weather
    bower.json
    package.json
    gulpfile.js
    index.html
    /bower_components
    /node_modules
    /sass
        main.scss
        /partials
            base.scss
            reset.scss
    /src
        app.jsx
        /utils
            api.jsx
</code></pre>
<p>Los nuevos archivos son:</p>
<ul>
<li><strong>gulpfile.js</strong>: aquí es donde definiremos las tareas a ejecutar, como compilar SASS y JSX, empaquetar el código, vigilar los cambios, recargar el navegador, etc.</li>
<li><strong>index.html</strong>: un marcado muy mínimo para nuestra aplicación</li>
<li><strong>main.scss</strong>: lo usaremos para establecer el orden en el que queremos cargar los archivos SASS</li>
<li><strong>base.scss</strong>: todos nuestros estilos CSS</li>
<li><strong>reset.scss</strong>: reglas CSS de restablecimiento básico</li>
<li><strong>app.jsx</strong>: el núcleo de nuestra aplicación</li>
<li><strong>api.jsx</strong>: el módulo para contactar con la API meteorológica</li>
</ul>
<h3 id="paso-5-configurar-las-tareas-gulp">Paso 5. Configurar las tareas Gulp</h3>
<p>Al hablar de React, no sólo estamos viendo el framework en sí. También estamos conociendo las herramientas que nos ayudarán a tener una experiencia de desarrollo ágil y sin problemas. Es entonces cuando un ejecutor de tareas se convierte en tu mejor amigo :-)
<a href="http://gulpjs.com/">Gulp</a> es un ejecutor de tareas, al igual que <a href="http://gruntjs.com/">Grunt</a>. No tengo ninguna preferencia particular por Gulp, de hecho, estoy más acostumbrado a trabajar con Grunt, pero por el bien de aprender y probar cosas nuevas, vamos a utilizar Gulp en este tutorial.</p>
<p>Primero, vamos a empezar abriendo el <strong>gulpfile.js</strong> en el editor y requiriendo las dependencias:</p>
<pre><code class="language-javascript">var gulp = require(&#39;gulp&#39;);
var gutil = require(&#39;gulp-util&#39;);
var source = require(&#39;vinyl-source-stream&#39;);
var browserify = require(&#39;browserify&#39;);
var watchify = require(&#39;watchify&#39;);
var reactify = require(&#39;reactify&#39;);
var notifier = require(&#39;node-notifier&#39;);
var server = require(&#39;gulp-server-livereload&#39;);
var concat = require(&#39;gulp-concat&#39;);
var sass = require(&#39;gulp-sass&#39;);
var watch = require(&#39;gulp-watch&#39;);
</code></pre>
<p>Como hemos mencionado antes, necesitamos compilar los archivos SASS y JSX, agrupar el código y vigilar los cambios. También queremos mostrar errores con formato y recargar el navegador automáticamente cuando haya un cambio en los archivos JS o SASS.</p>
<p>Empecemos con los mensajes de error:</p>
<pre><code class="language-javascript">// Format error messages
var notify = function (error) {
    var message = &#39;In: &#39;;
    var title = &#39;Error: &#39;;

    if (error.description) {
        title += error.description;
    }
    else if (error.message) {
        title += error.message;
    }

    if (error.filename) {
        var file = error.filename.split(&#39;/&#39;);
        message += file[file.length-1];
    }

    if (error.lineNumber) {
        message += &#39;\nOn Line: &#39; + error.lineNumber;
    }

    notifier.notify({title: title, message: message});
};
</code></pre>
<p>El módulo &#39;node-notifier&#39; crea bonitas alertas (al menos en Mac Os) con los mensajes de error que se producen durante el proceso de construcción. Con el fragmento de arriba, sólo estamos formateando el mensaje de error de una manera que podría ser más legible.</p>
<p>El siguiente paso es <strong>crear el bundle</strong>. Para esta parte, vamos a necesitar tres módulos: watchify, browserify y reactify. El primero es un módulo para hacer el bundle automático de los scripts basados en browserify.</p>
<p>Browserify nos permite hacer require(&#39;modules&#39;) en el navegador agrupando todas nuestras dependencias. Mira un único archivo JavaScript (en este caso app.jsx), y sigue el árbol de dependencias de require, y las agrupa en un nuevo archivo.</p>
<p>ReactJS utiliza una sintaxis especial llamada JSX, no la normal de JS. Normalmente, cuando quieres trabajar con archivos JSX de ReactJS, necesitas transformarlos en archivos JS normales. Así que vamos a utilizar &#39;reactify&#39; para transformar esos JSX en archivos JS.</p>
<p>En conclusión, crearemos un bundler de Browserify y añadiremos un transformador para transformar los JSX en Javascript y luego lo agruparemos todo en un archivo llamado <strong>main.js</strong> que estará en la raíz.</p>
<pre><code class="language-javascript">// Bundle settings
var bundler = watchify(browserify({
    entries: [&#39;./src/app.jsx&#39;],
    transform: [reactify],
    extensions: [&#39;.jsx&#39;],
    debug: true,
    cache: {},
    packageCache: {},
    fullPaths: true
}));

// Bundle tasks
function bundle() {
    return bundler
        .bundle()
        .on(&#39;error&#39;, notify)
        .pipe(source(&#39;main.js&#39;))
        .pipe(gulp.dest(&#39;./&#39;))
}
bundler.on(&#39;update&#39;, bundle);

// Create bundle
gulp.task(&#39;build&#39;, function() {
    bundle()
});
</code></pre>
<p>Ahora vamos a procesar los archivos SASS y ponerlos todos juntos (en el orden especificado en main.scss) en un único archivo CSS (style.css) que se ubicará en la carpeta raíz:</p>
<pre><code class="language-javascript">// Compile the SASS files from main.scss
gulp.task(&#39;sass&#39;, function () {
    gulp.src(&#39;./sass/main.scss&#39;)
        .pipe(sass().on(&#39;error&#39;, sass.logError))
        .pipe(concat(&#39;style.css&#39;))
        .pipe(gulp.dest(&#39;./&#39;));
});
</code></pre>
<p>La siguiente etapa es configurar el servidor de recarga en vivo. Este módulo recargará el navegador automáticamente cada vez que haya un cambio en nuestro código. ¡Esta es una característica muy buena! En este caso, vamos a pasar un filtro de prueba al módulo livereload, para que compruebe nuestros archivos CSS y JS compilados antes de recargar el navegador. Puedes leer más sobre la documentación del módulo <a href="https://github.com/hiddentao/gulp-server-livereload">aquí</a>.</p>
<pre><code class="language-javascript">// Live reload server settings
gulp.task(&#39;serve&#39;, function(done) {
    gulp.src(&#39;&#39;)
        .pipe(server({
            livereload: {
                enable: true,
                filter: function(filePath, cb) {
                if (/main.js/.test(filePath)) {
                    cb(true)
                }
                else if (/style.css/.test(filePath)) {
                    cb(true)
                }
            }
        },
        open: true
    }));
});
</code></pre>
<p>Por último, vamos a crear la tarea de vigilancia para nuestros archivos SASS y establecer el orden en que todas las tareas creadas deben ser ejecutadas:</p>
<pre><code class="language-javascript">// Watch for changes in the SASS files
gulp.task(&#39;watch&#39;, function () {
    gulp.watch(&#39;./sass/**/*.scss&#39;, [&#39;sass&#39;]);
});

// Run tasks in a specific order
gulp.task(&#39;default&#39;, [&#39;build&#39;, &#39;serve&#39;, &#39;sass&#39;, &#39;watch&#39;]);
</code></pre>
<p>En este punto, si estás usando Git, deberías añadir <strong>main.js</strong> y <strong>style.css</strong> a tu archivo .gitignore, ya que estos archivos serán generados por Gulp y no los necesitamos en el repositorio.</p>
<h3 id="paso-6-crear-un-marcado-básico">Paso 6. Crear un marcado básico</h3>
<p>Vamos a crear un archivo HTML básico con:</p>
<ul>
<li>Un DIV contenedor donde adjuntaremos el componente React.</li>
<li>La fuente cargada desde Adobe Edge Fonts</li>
<li>El archivo CSS compilado</li>
<li>El archivo CSS de los iconos del tiempo</li>
<li>El archivo JS compilado</li>
</ul>
<p>Yo prefiero cargar las fuentes usando <code>&lt;link&gt;</code> en lugar de una etiqueta <code>&lt;script&gt;</code>, pero en aras de la simplicidad, vamos a ir con este método esta vez.</p>
<pre><code class="language-html">&lt;html&gt;
    &lt;head&gt;
        &lt;script src=&quot;//use.edgefonts.net/league-gothic:n4:all.js&quot;&gt;&lt;/script&gt;
        &lt;link rel=&quot;stylesheet&quot; href=&quot;/style.css&quot;&gt;
        &lt;link rel=&quot;stylesheet&quot; href=&quot;/bower_components/weather-icons/css/weather-icons.min.css&quot;&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div class=&quot;container&quot;&gt;&lt;/div&gt;
    &lt;/body&gt;
    &lt;script src=&quot;main.js&quot;&gt;&lt;/script&gt;
&lt;/html&gt;
</code></pre>
<h3 id="paso-7-añadir-el-css-de-reinicio">Paso 7. Añadir el CSS de reinicio</h3>
<p>Sólo tienes que copiar/pegar el siguiente código en /sass/partials/reset.scss</p>
<pre><code class="language-css">html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote {
  &amp;:before, &amp;:after {
    content: &#39;&#39;;
    content: none; } }

q {
  &amp;:before, &amp;:after {
    content: &#39;&#39;;
    content: none; } }

table {
  border-collapse: collapse;
  border-spacing: 0; }
</code></pre>
<h3 id="paso-8-empezar-a-construir-el-componente-react">Paso 8. Empezar a construir el componente React</h3>
<p>¡Por fin llegamos al momento en el que realmente puedes empezar a aprender React! Siento haber tardado tanto, pero ya tenemos todo listo y a partir de ahora será pura programación con react :P</p>
<p>Primero vamos a abrir <code>/src/app.jsx</code>. Aquí es donde crearemos nuestro componente React. Necesitamos requerir algunos módulos:</p>
<pre><code class="language-javascript">var React = require(&#39;react&#39;);
var ReactDOM = require(&#39;react-dom&#39;);
var classNames = require(&#39;classnames&#39;);
var Api = require(&#39;./utils/api&#39;);
</code></pre>
<p>Los dos primeros módulos corresponden al framework React. Classname es un módulo de terceros (recomendado por React) para construir nombres de clases que contengan datos dinámicos. En JSX no podemos usar &#39;+&#39; como en JS para concatenar cadenas en el atributo class. El objeto API está requiriendo el módulo que utilizaremos para obtener los datos de la API meteorológica. Fíjate que para cargar este módulo, tenemos que construir la ruta relativa, ya que no es un módulo que tengamos instalado con NPM.</p>
<p>Ahora vamos a definir unas cuantas variables para manejar las ciudades de la cadena de consulta:</p>
<pre><code class="language-javascript">var query = &#39;&#39;; // Espera algo así: ?city=London,Paris,Berlin,Madrid
var cities = []; // Transforma el query string cities en un array
var citiesWeather = []; // API cache
var currentCity = 0; // Index de la ciudad actual mostrada
</code></pre>
<p>No vamos a profundizar demasiado en tratar de explicar lo que vamos a hacer con estas variables. Su propósito se revelará a medida que vayamos construyendo el componente.</p>
<p>Ahora podemos definir el nuevo componente React así:</p>
<pre><code class="language-javascript">var Weather = React.createClass({
    render: function() {

    }
});

// Asignar el componente React a un elemento DOM
var element = React.createElement(Weather, {});
ReactDOM.render(element, document.querySelector(&#39;.container&#39;));
</code></pre>
<p>Básicamente creamos un componente React llamado &#39;Weather&#39; y lo renderizamos dentro del DIV &#39;container&#39;.</p>
<p>A partir de ahora, vamos a trabajar en los métodos del objeto definido dentro de React.createClass().</p>
<p>El primer método es getInitialState():</p>
<pre><code class="language-javascript">// Init data for UI
getInitialState: function() {
    return {
        weather: &#39;&#39;,
        temp: 0,
        humidity: 0,
        wind: 0
    }
},
</code></pre>
<p>Aquí, sólo estamos inicializando los props que vamos a utilizar más tarde para mantener los valores de nuestros indicadores meteorológicos en la UI.</p>
<p>Ahora tenemos que crear la estructura HTML para nuestro componente meteorológico Usemos este sencillo wireframe para asignar cada caja a un elemento HTML:</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather-wire.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather-wire.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather-wire-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/tutorial-build-a-weather-app-with-react/images/react-weather-wire-mobile.jpg" />
          <img class="image" src="/blog/tutorial-build-a-weather-app-with-react/images/react-weather-wire.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<p>Dentro del método render(), añade lo siguiente:</p>
<pre><code class="language-javascript">// Build class names with dynamic data
var weatherClass = classNames(&#39;wi wi-owm-&#39; + this.state.weather);
var bgColorClass = &#39;weather-widget &#39;; // very-warm, warm, normal, cold, very-cold

// Set the background colour based on the temperature
if (this.state.temp &gt;= 30) {
    bgColorClass += &#39;very-warm&#39;;
}
else if (this.state.temp &gt; 20 &amp;&amp; this.state.temp &lt; 30) {
    bgColorClass += &#39;warm&#39;;
}
else if (this.state.temp &gt; 10 &amp;&amp; this.state.temp &lt; 20) {
    bgColorClass += &#39;normal&#39;;
}
else if (this.state.temp &gt; 0 &amp;&amp; this.state.temp &lt; 10) {
    bgColorClass += &#39;cold&#39;;
}
else if (this.state.temp &lt;= 0) {
    bgColorClass += &#39;very-cold&#39;;
}

// Render the DOM elements
return &amp;lt;div className={bgColorClass}&gt;
    &amp;lt;h1 className=&quot;city&quot;&gt;{cities[currentCity]}&amp;lt;/h1&gt;
    &amp;lt;div className=&quot;weather&quot;&gt;
        &amp;lt;i className={weatherClass}&gt;&amp;lt;/i&gt;
    &amp;lt;/div&gt;
    &amp;lt;section className=&quot;weather-details&quot;&gt;
        &amp;lt;div className=&quot;temp&quot;&gt;&amp;lt;span className=&quot;temp-number&quot;&gt;{this.state.temp}&amp;lt;/span&gt;&amp;lt;span className=&quot;wi wi-degrees&quot;&gt;&amp;lt;/span&gt;&amp;lt;/div&gt;
        &amp;lt;div className=&quot;humidity&quot;&gt;&amp;lt;i className=&quot;wi wi-raindrop&quot;&gt;&amp;lt;/i&gt;{this.state.humidity} %&amp;lt;/div&gt;
        &amp;lt;div className=&quot;wind&quot;&gt;&amp;lt;i className=&quot;wi wi-small-craft-advisory&quot;&gt;&lt;/i&gt;{this.state.wind} &amp;lt;span className=&quot;vel&quot;&gt;Km/h&amp;lt;/span&gt;&amp;lt;/div&gt;
    &amp;lt;/section&gt;
&amp;lt;/div&gt;
</code></pre>
<p>Analicemos el código paso a paso.</p>
<p>Para representar el icono meteorológico grande (el sol, las nubes, etc.), necesitamos obtener el <a href="http://api.openweathermap.org/data/2.5/weather?q=London&amp;appid=2de143494c0b295cca9337e1e96b00e0">ID del icono de la API meteorológica</a>. Una vez que lo tengamos, podemos utilizar el prefijo &#39;<strong>wi wi-owm-</strong>&#39; (lo hemos obtenido de la <a href="https://erikflowers.github.io/weather-icons/api-list.html">lista de compatibilidad de la API de iconos meteorológicos</a>) para componer el nombre de la clase que necesitamos. Eso es lo que estamos haciendo con la variable weatherClass.</p>
<p>La siguiente variable, &#39;bgColorClass&#39;, compone el nombre de la clase que utilizaremos para el color de fondo de la aplicación. El objetivo es tener la clase &#39;warm&#39; para las temperaturas entre 20 y 30 grados y así sucesivamente. Luego asignaremos un color a cada clase más adelante en el archivo SASS.</p>
<p>En la declaración de retorno, lo primero que destaca es el uso de &#39;className&#39; en lugar de &#39;class&#39;. Así es como se añaden las clases CSS en las plantillas JSX. Los nombres de las clases también necesitan ser compuestos usando el módulo classNames que requerimos al principio del archivo.</p>
<p>Luego tenemos variables envueltas en {}, como en Handlebars. Así es como renderizamos el contenido de las variables, estados o propiedades de React (llamadas <em>props</em>). En esta aplicación, vamos a utilizar estados. Si quieres saber más sobre la diferencia entre props y states, dirígete a <a href="https://github.com/uberVU/react-guide/blob/master/props-vs-state.md">este artículo</a>.</p>
<h3 id="paso-9-obtener-los-datos-de-la-api">Paso 9. Obtener los datos de la API</h3>
<p>Resumamos. Hasta ahora, tenemos un componente React que inicializa y renderiza sus datos vacíos. Eso es todo. Así que el siguiente paso es obtener los datos de la API y pasárselos al componente React.</p>
<p>Abramos el archivo <code>/src/utils/api.jsx</code> y escribamos el siguiente código:</p>
<pre><code class="language-javascript">var Fetch = require(&#39;whatwg-fetch&#39;);
var rootUrl = &#39;http://api.openweathermap.org/data/2.5/weather?q=&#39;;
var apiUrl = &#39;&amp;appid=2de143494c0b295cca9337e1e96b00e0&#39;;

module.exports = {
    get: function(place) {
        return fetch(rootUrl + place + apiUrl, {
            headers: {
                // No need for special headers
            }
        })
        .then(function(response) {
            return response.json();
        });
    }
};
</code></pre>
<p>En este módulo, vamos a requerir &#39;whatwg-fetch&#39;, que es un <a href="https://github.com/github/fetch">polyfill para window.fetch </a>. También vamos a utilizar una clave de API y la URL de la API. Creo que no es necesario registrarse para generar una nueva clave, ya que esta la obtuve de los documentos de la API y parece funcionar bien.</p>
<p>El código de obtención es súper sencillo. Componemos la URL final concatenando las variables más el nombre de la ciudad que recibimos como parámetro y lo pasamos al método fetch. Luego tenemos una &#39;promesa&#39; que recibirá la respuesta de la API y simplemente la devolvemos en formato JSON.</p>
<h3 id="paso-10-conectar-el-módulo-de-la-api-con-el-componente-react">Paso 10. Conectar el módulo de la API con el componente React</h3>
<p>De vuelta en <code>/src/app.jsx</code>, vamos a crear un nuevo método llamado &#39;fetchData&#39; que intentará cargar los datos de nuestra caché y si no los encuentra, entonces llamará al módulo que hemos creado en el paso anterior para obtener nuevos datos:</p>
<pre><code class="language-javascript">fetchData: function() {

    // Get the data from the cache if possible
    if (citiesWeather[currentCity]) {
        this.updateData();
    }
    else {
        // Request new data to the API
        Api.get(cities[currentCity])
            .then(function(data) {
                citiesWeather[currentCity] = data;
                this.updateData();
        }.bind(this));
    }
},
</code></pre>
<p>El array <strong>citiesWeather</strong> es nuestro objeto caché. Aquí vamos a almacenar las respuestas JSON que obtenemos de la API. ¿Por qué hacemos esto? Porque cuando tenemos una lista de ciudades rotando, no queremos seguir contactando con la API cada vez que cambiamos de ciudad.</p>
<p>Cuando queremos solicitar nuevos datos, simplemente llamamos al método get del módulo de la API y le pasamos el nombre de la ciudad actual. En la &#39;promesa&#39;, nos aseguramos de actualizar el objeto caché con los datos recibidos y llamamos al método updateData para establecer el nuevo valor en los estados.</p>
<h3 id="paso-11-actualizar-los-estados">Paso 11. Actualizar los estados</h3>
<p>En este punto, el componente React acaba de recibir <a href="http://api.openweathermap.org/data/2.5/weather?q=London&amp;appid=2de143494c0b295cca9337e1e96b00e0">nuevos datos de la API</a> y está listo para actualizar la UI con estos nuevos datos. Vamos a crear un nuevo método llamado updateData:</p>
<pre><code class="language-javascript">updateData: function() {
    // Update the data for the UI
    this.setState({
        weather: citiesWeather[currentCity].weather[0].id,
        temp: Math.round(citiesWeather[currentCity].main.temp - 273.15), // Kelvin to Celcius
        humidity: Math.round(citiesWeather[currentCity].main.humidity),
        wind: Math.round(citiesWeather[currentCity].wind.speed)
    });
}
</code></pre>
<p>Modificar this.props o this.state directamente no es una buena idea, porque React no podrá captar los cambios. Eso es porque React hace una comparación superficial de tu post prop para determinar si ha cambiado. Así que usa siempre &#39;setState&#39;.</p>
<h3 id="paso-12-leer-la-cadena-de-consulta-y-crear-los-temporizadores">Paso 12. Leer la cadena de consulta y crear los temporizadores</h3>
<p>Antes de empezar con el estilo de la aplicación, hay un paso más que tenemos que abordar. Vamos a crear un nuevo método llamado <code>componentWillMount()</code>, que se llama antes de que se ejecute el método render:</p>
<pre><code class="language-javascript">// Called before the render method is executed
componentWillMount: function() {

    // Get the query string data
    query = location.search.split(&#39;=&#39;)[1];

    // Figure out if we need to display more than one city&#39;s weather
    if (query !== undefined) {
        cities = query.split(&#39;,&#39;); // Get an array of city names

        // Set the interval to load new cities
        if (cities.length &gt; 1) {
            setInterval((function() {
                currentCity++;
                if (currentCity === cities.length) {
                    currentCity = 0;
                }
                this.fetchData(); // Reload the city every 5 seconds
            }).bind(this), 5000);
        }
    }
    else {
        cities[0] = &#39;London&#39;; // Set London as the default city
    }

    // Create a timer to clear the cache after 5 minutes, so we can get updated data from the API
    setInterval(function() {
        citiesWeather = []; // Empty the cache
    }, (1000*60*5));

    this.fetchData();
},
</code></pre>
<p>Hay un módulo llamado React Router que puede ser muy útil para construir aplicaciones de una sola página, pero en aras de la simplicidad, he decidido no incluirlo. Así que vamos a utilizar un enfoque muy simple para leer la lista de ciudades: una cadena de consulta.</p>
<p>En las primeras líneas del fragmento de arriba, sólo estamos dividiendo la cadena en un array y comprobando si el usuario introdujo una sola ciudad o varias separadas por comas. Si tenemos varias, entonces creamos un temporizador que llamará al método <code>fetchData()</code> cada 5 segundos, que actualizará los datos de la ciudad actual. Fíjate que también estamos pasando el contexto de ejecución del componente React al temporizador, de lo contrario <code>this</code> no encontraría el método <code>fetchData</code>.</p>
<p>En la segunda parte del snippet, estamos creando otro timer que se encargará de limpiar la caché cada 5 minutos, de lo contrario, sólo obtendríamos los datos de LIVE una vez (al lanzar la app).</p>
<p>¡Enhorabuena, has llegado al final de la parte de Javascript! Ahora vamos a añadir rápidamente el CSS y a intentar ejecutar la app.</p>
<h3 id="paso-13-añadir-los-estilos-sass">Paso 13. Añadir los estilos SASS</h3>
<p>Copia/pega el siguiente código en <code>/sass/partials/base.scss</code>:</p>
<pre><code class="language-scss">// Colours
$very-warm: #FF8500;
$warm: #ffc600;
$normal: #94AF10;
$cold: #06799F;
$very-cold: #233884;

// Breakpoints
$mobile-width: 500px;
@mixin mobile {
    @media (max-width: $mobile-width) {
        @content;
    }
}

// DOM Elements
.weather-widget {
    width: 100%;
    color: white;
    font-family: league-gothic, sans-serif;
    font-weight: 100;
    font-style: normal;
    padding: 5% 10%;

    @include mobile {
        padding: 2%;
    }

    &amp;.very-warm { background-color: $very-warm; }
    &amp;.warm { background-color: $warm; }
    &amp;.normal { background-color: $normal; }
    &amp;.cold { background-color: $cold; }
    &amp;.very-cold { background-color: $very-cold; }
}

.city {
    font-size: 4em;
    text-transform: uppercase;
    letter-spacing: 2px;
    width: 100%;
    text-align: center;
}

.weather{
    display: table;
    height: 415px;
    width: 100%;
    text-align: center;
    border-bottom: 2px solid white;

    @include mobile {
        height: 350px;
    }

     .wi {
        display: table-cell;
        vertical-align: middle;
        font-size: 20em;

         @include mobile {
            font-size: 15em;
         }
    }
}

.weather-details {
    overflow: hidden;
    margin-top: 35px;
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;

    .temp {
        font-size: 13.5em;
        float: left;
        width: 55%;
        max-height: 200px;

        @include mobile {
            font-size: 9em;
        }

        .temp-number, .wi {
            vertical-align: top;
            line-height: 0.85em;
        }

        .wi {
            font-size: 1.5em;
            line-height: 0.8em;
        }
    }

    .humidity, .wind {
        font-size: 5em;

        @include mobile {
            font-size: 3em;
        }

        .wi {
            vertical-align: top;
            width: 70px;

            @include mobile {
                width: 40px;
            }
        }
    }

    .humidity {
        margin-bottom: 20px;
    }

    .wind {
        .wi {
            font-size: 0.82em;
        }
        .vel {
            font-size: 0.6em;
        }
    }
}
</code></pre>
<p>El código SASS es bastante autoexplicativo. Se puede mejorar, pero para este tutorial, que es para aprender React, creo que cumple su cometido.</p>
<h3 id="paso-14-el-momento-de-la-verdad">Paso 14. El momento de la verdad</h3>
<p>Escribe &#39;gulp&#39; en la consola/terminal y cruza los dedos.</p>
<p>Si funciona, ¡felicidades! si no lo hace, intenta depurar los mensajes de error y encontrar una solución. Si te quedas atascado, entonces publica un comentario aquí y trataré de ayudarte.</p>
<p>Esta fue mi primera aplicación de React y estoy emocionado de seguir aprendiendo sobre Flux, Reflux, el router, etc. Así que, por favor, enviadme vuestras sugerencias o hacedme saber si la aplicación puede ser mejorada de alguna manera. ¡Gracias y espero que os haya gustado!</p>
<p><strong>ACTUALIZACIÓN</strong>: Tienes que crear tu propia clave de API y establecerla en la variable apiUrl en <code>/src/utils/api.jsx</code>, de lo contrario tus peticiones serán bloqueadas en algún momento.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/tutorial-build-a-weather-app-with-react/images/react-clouds.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Javascript: entendiendo las partes raras [Parte 1]]]></title>
            <link>https://www.joanmira.com/es/blog/javascript-understanding-the-weird-parts</link>
            <guid>https://www.joanmira.com/es/blog/javascript-understanding-the-weird-parts</guid>
            <pubDate>Mon, 18 Jan 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Mis aprendizajes repasando conceptos de JavaScript en el sitio educativo Udemy]]></description>
            <content:encoded><![CDATA[<p>Mirando hacia atrás y analizando cómo han evolucionado las tecnologías web en los últimos años, me he dado cuenta de que Javascript es ahora la habilidad más importante que todo desarrollador web debe tener. Está en todas partes (también en el back-end) y nunca va a desaparecer (como Flash...).</p>
<p>Así que, para este nuevo año 2016, he decidido centrarme en pulir mi Javascript y convertirme en un <strong>JavaScript Samurai / Master of the Universe</strong>, ¡JA, JA, JA! (risa malvada).</p>
<p>Compré tres cursos en <a href="https://www.udemy.com">Udemy</a> y del que voy a hablar en este artículo se llama <a href="https://www.udemy.com/understand-javascript/">Javascript: entendiendo las partes raras</a>. Si quieres comprarlo, puedes probar con el código de cupón NEWYOU015 y ver si te da el curso por 13€, si no, te sugeriría que escribieras un email a soporte pidiendo que te den uno nuevo. El curso ha sido escrito por Anthony Alicea y actualmente tiene <strong>más de 32.700 estudiantes</strong>.</p>
<p>Creo que conozco bastante bien JavaScript, pero siempre es bueno refrescar los conceptos, el vocabulario y, por supuesto, aprender las nuevas cosas de ES6. Así que, si quieres acompañarme en este viaje, iré publicando todos mis aprendizajes en el blog, así que siéntete libre de leer y compartir tus pensamientos.</p>
<h3 id="javascript-entendiendo-las-partes-raras-parte-1">Javascript: entendiendo las partes raras [Parte 1]</h3>
<p>Voy a saltarme las cuatro primeras lecturas, que se centran principalmente en dar algo de contexto y establecer el entorno de programación.</p>
<h3 id="lectura-6-parsers-de-sintaxis-contextos-de-ejecución-y-entornos-léxicos">Lectura 6: Parsers de sintaxis, contextos de ejecución y entornos léxicos.</h3>
<p><strong>Analizadores de sintaxis</strong>: Un programa que lee tu código y determina lo que hace y si su gramática es válida. Tu código no es mágico. Alguien escribió un programa para traducirlo para el ordenador y puede añadir &quot;cosas extra&quot; durante esa traducción.</p>
<p><strong>Entorno léxico</strong>: donde algo se encuentra físicamente en el código que escribes. &quot;Léxico&quot; significa &quot;que tiene que ver con las palabras o la gramática&quot;. En los lenguajes de programación existe un entorno léxico en el que <strong>donde</strong> se escribe algo es <em>importante</em>.</p>
<p>El lugar en el que veas las cosas escritas en el código, te dará una idea de dónde estarán en la memoria.</p>
<p><strong>Contexto de ejecución</strong>: una envoltura que ayuda a gestionar el código que se está ejecutando. Hay muchos entornos léxicos. El que se está ejecutando actualmente se gestiona a través de los contextos de ejecución. Puede contener cosas más allá de lo que has escrito en tu código.</p>
<h3 id="lectura-7-parejas-de-nombrevalor-y-objetos">Lectura 7: Parejas de nombre/valor y objetos</h3>
<p><strong>Parejas de nombre/valor</strong>: un nombre que se asigna a un valor único. El nombre puede ser definido más de una vez, pero sólo puede tener un valor en cualquier <strong>contexto</strong>. Ese valor puede ser también una nueva pareja de nombre/valor.</p>
<p><strong>Objeto</strong>: una colección de parejas de nombre-valor. La definición más sencilla cuando se habla de Javascript. ¡No pienses más profundamente en un objeto que esto!</p>
<h3 id="lectura-9-el-entorno-global-y-el-objeto-global">Lectura 9: El entorno global y el objeto global</h3>
<p>El contexto de ejecución base es el global. Lo que es accesible desde cualquier parte de su código. Javascript crea también la palabra reservada &#39;<strong>this</strong>&#39; y en el contexto global, esto representa la ventana, la ventana del navegador, a la que también se puede acceder con la palabra reservada &#39;window&#39;. Cada pestaña del navegador tiene su contexto de ejecución.</p>
<p>Cuando decimos &#39;global&#39;, en Javascript significa &#39;no dentro de una función&#39;. No hay que pensar más allá de eso.</p>
<p>Nota: Si estamos ejecutando Node.js, el objeto global no será la ventana.</p>
<p>Cuando creamos variables y funciones que no están dentro de ninguna otra función, se adjuntan al objeto global. Así que podríamos acceder a ellas usando <code>window.anyVariable</code> o <code>window.anyFunction</code>.</p>
<h3 id="lectura-10-el-contexto-de-ejecución-creación-y-hoisting">Lectura 10: El contexto de ejecución: creación y &#39;hoisting&#39;</h3>
<p>Si no eres un hablante nativo de inglés, te habrás preguntado qué significa &quot;hoisting&quot;. Hoisting significa llevar algo a la cima, como cuando se usa un polipasto para levantar cosas.</p>
<p>En Javascript, hay situaciones en las que hemos declarado variables y funciones en la parte inferior de un script pero las estamos usando antes de que sean declaradas, lo que devolverá undefined (en el caso de la variable).</p>
<p>Hoisting significa que Javascript trae a la parte superior las variables y funciones cuando se crea el contexto de ejecución, pero vamos a verlo con más detalle:</p>
<p>1ª fase: la fase de creación.</p>
<ul>
<li>Crear el objeto global</li>
<li>Crear &#39;this&#39;</li>
<li>Crear el entorno externo</li>
<li>Reconocer las variables y la función que hemos creado y establecer un espacio de memoria para ellas -&gt; &#39;hoisting&#39;</li>
</ul>
<p>Entonces, hoisting significa que, en esta fase, nuestras cosas existirán en la memoria y que todas las variables se establecen inicialmente como indefinidas. Eso es todo hasta ahora.</p>
<h3 id="lectura-11-javascript-y-undefined">Lectura 11: Javascript y &#39;undefined&#39;</h3>
<p>&#39;undefined&#39; es una palabra clave especial. Es un valor. Significa que la variable no ha sido declarada. Si no ha sido declarada, lanzaría un &#39;uncaught ReferenceError&#39;. Es mejor no poner &#39;undefined&#39; manualmente porque entonces, no sabríamos si fuimos nosotros o Javascript quien lo puso en undefined.</p>
<h3 id="lectura-12-el-contexto-de-ejecución-la-ejecución-del-código">Lectura 12: El contexto de ejecución: la ejecución del código</h3>
<p>En la lección 10 hemos hablado de la fase de creación. Ahora, en el contexto de ejecución, vamos a ejecutar línea por línea el código preparado por la fase de creación.</p>
<h3 id="lectura-13-ejecución-monohilo-y-sincrónica">Lectura 13: Ejecución monohilo y sincrónica</h3>
<p><strong>Single threaded</strong>: un comando a la vez. Bajo el capó del navegador, quizás no. Pero desde nuestra perspectiva, JS es single-threaded.</p>
<p><strong>Sincrónico</strong>: de uno en uno y en orden...</p>
<h3 id="lectura-14-invocación-de-funciones-y-pila-de-ejecución">Lectura 14: Invocación de funciones y pila de ejecución</h3>
<p><strong>Invocación</strong>: ejecutar una función o llamar a una función. En Javascript, mediante el uso de paréntesis ()</p>
<p>Cada vez que se ejecuta una función, se crea un nuevo contexto de ejecución y se coloca en la parte superior de la pila de ejecución, donde el contexto de ejecución global está siempre en la parte inferior.</p>
<p>Cada vez que el contexto de ejecución de una función termina, sale de la pila de ejecución.</p>
<h3 id="lectura-15-funciones-contexto-y-entornos-de-variables">Lectura 15: Funciones, contexto y entornos de variables</h3>
<p><strong>Entorno de las variables</strong>: dónde viven las variables y cómo se relacionan entre sí en la memoria.</p>
<p>Esto es sobre el ámbito de las variables y la diferencia entre el ámbito de las vars globales y las vars locales.</p>
<h3 id="lectura-16-la-cadena-de-alcance">Lectura 16: La cadena de alcance</h3>
<p>Cuando se buscan variables, cada contexto de ejecución tiene una referencia a su entorno exterior, y este entorno exterior es donde el código fue escrito físicamente. Así, el motor de Javascript seguirá moviéndose hacia abajo (buscando la variable) en la pila de ejecución hasta llegar al contexto global.</p>
<h3 id="lectura-17-scope-es6-y-let">Lectura 17: Scope, ES6 y let</h3>
<p><strong>Scope</strong>: dónde está disponible una variable en tu código y si es realmente la misma variable o una nueva copia</p>
<p>let es una nueva forma de declarar variables en ES6, permitiendo el ámbito de bloque (declarada dentro de {}) y sólo creándola en memoria al llegar a la línea donde está definida.</p>
<h3 id="lectura-18-¿qué-pasa-con-los-callbacks-asíncronos">Lectura 18: ¿Qué pasa con los callbacks asíncronos?</h3>
<p><strong>Asíncrono</strong>: más de uno a la vez.</p>
<p>El motor de Javascript tiene ganchos que enlazan con otros motores y módulos del navegador como el motor de renderizado o las peticiones HTTP.</p>
<p>Hay otra lista que se encuentra fuera de la pila de ejecución llamada &quot;Cola de Eventos&quot;. Esta lista almacena los eventos de clic, peticiones http, etc.</p>
<p>El motor de Javascript mira esa lista SÓLO cuando la pila de ejecución está vacía, entonces mira periódicamente la cola de eventos para ver si hay algo que necesita ser ejecutado.</p>
<p>Esto significa que las funciones de larga duración pueden bloquear la ejecución de cualquier otra cosa, por lo que Javascript puede ejecutar eventos asíncronos pero de forma sincrónica :D</p>
<h3 id="lectura-19-tipos-y-javascript">Lectura 19: Tipos y Javascript</h3>
<p><strong>Tipos dinámicos</strong>: no le dices al motor de Javascript qué tipo de datos contiene una variable, lo averigua mientras tu código se está ejecutando. Las variables pueden contener diferentes tipos de valores porque todo se calcula durante la ejecución.</p>
<h3 id="lectura-20-tipos-primitivos">Lectura 20: Tipos primitivos</h3>
<p><strong>Tipo primitivo</strong>: un tipo de datos que representa un único valor. Es decir, no es un objeto.</p>
<p><strong>indefinido</strong>: representa una falta de existencia (no se debe establecer una variable en este sentido).</p>
<p><strong>null</strong>: representa una falta de existencia (puedes poner una variable con este valor).</p>
<p><strong>booleano</strong>: verdadero o falso</p>
<p><strong>número</strong>: número en coma flotante (siempre hay algunos decimales). A diferencia de otros lenguajes de programación, sólo hay un tipo &#39;number&#39;... y puede hacer que las matemáticas sean raras.</p>
<p><strong>cadena</strong>: una secuencia de caracteres (se pueden usar tanto &#39;&#39; como &quot;&quot;)</p>
<p><strong>símbolo</strong>: utilizado en ES6 (la próxima versión de Javascript).</p>
<h3 id="lectura-21-operadores">Lectura 21: Operadores</h3>
<p><strong>Operador</strong>: una función especial que se escribe sintácticamente de manera diferente. Generalmente, los operadores toman dos parámetros y devuelven un resultado.</p>
<p>La forma en que usamos los operadores se llama notación infija, es decir, 3 + 4</p>
<h3 id="lectura-22-precedencia-de-operadores-y-asociatividad">Lectura 22: Precedencia de operadores y asociatividad</h3>
<p><strong>Precedencia de los operadores</strong>: qué función del operador se llama primero cuando hay más de una. Las funciones son llamadas en orden de preferencia (la mayor preferencia gana).</p>
<p><strong>Asociatividad de los operadores</strong>: en qué orden se llama a las funciones de los operadores: de izquierda a derecha o de derecha a izquierda. Cuando las funciones tienen la misma precedencia.</p>
<p>En <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">esta tabla</a> puedes encontrar la precedencia de los operadores.</p>
<h3 id="lectura-24-coerción">Lectura 24: Coerción</h3>
<p><strong>Coerción</strong>: convertir un valor de un tipo a otro. Esto ocurre muy a menudo en Javascript porque está tipado dinámicamente. Por ejemplo, cuando intentamos el siguiente 1 + &#39;2&#39;, el resultado sería 12 en lugar de 3, sólo porque el motor de JS adivinará que ambos números son cadenas.</p>
<h3 id="lectura-25-operadores-de-comparación">Lectura 25: Operadores de comparación</h3>
<p>A veces, cuando tenemos una cadena de comparaciones, como por ejemplo (3 &lt; 2 &lt; 1), el resultado, en lugar de falso, será verdadero. En este caso, (3 &lt; 2) está devolviendo falso y luego (falso &lt; 1) devuelve verdadero porque falso está coaccionado en 0.</p>
<p>Del mismo modo, al comparar valores, como (&#39;3&#39; == 3), (false == 0), (null &lt; 1), (&quot;&quot; == 0), (&quot;&quot; == false) o (undefined = 0) devolvería true. En cambio, (null = 0) devolverá false.</p>
<p>¿Cómo lo solucionamos? Con la igualdad estricta: ===</p>
<p>En <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Equality_comparisons_and_sameness">esta tabla</a> puedes encontrar las comparaciones de igualdad.</p>
<h3 id="lectura-27-existencia-y-booleanos">Lectura 27: Existencia y booleanos</h3>
<p>Si intentamos convertir null, undefined o &quot;&quot; en booleano, siempre obtenemos false. Boolean(null) devuelve false;</p>
<p>Podemos usar esto a nuestro favor. Cuando ponemos algo en una sentencia &#39;if&#39;, va a intentar convertirlo en booleano, así que podemos usarlo para comprobar si una variable tiene contenido. Un ejemplo:</p>
<pre><code class="language-javascript">var a; // a is undefined
if (a) {
    console.log(&#39;Something is there.&#39;);
}
</code></pre>
<p>El único escenario en el que a será coaccionado a falso aunque tenga contenido es cuando a = 0, por lo que podríamos cambiar la condición a if (a || a === 0).</p>
<h3 id="lectura-28-valores-por-defecto">Lectura 28: Valores por defecto</h3>
<p>Cuando usamos funciones con parámetros, si no pasamos los parámetros cuando llamamos a la función, estos se inicializan a indefinidos y ya está.
Pero hay un buen truco para anular esto:</p>
<pre><code class="language-javascript">function greet(name) {
   name = name || &#39;Your name here&#39;;
   console.log(&#39;Hello&#39; + name);
}
greet(&#39;Joan&#39;);
</code></pre>
<p>Por lo tanto, devuelve el valor que puede ser coaccionado a true. Así que si llamamos a greet() sin ningún parámetro, &#39;Your name here&#39; será enrojecido porque puede ser coaccionado a true.</p>
<p>Nota: en ES6 hay una nueva forma de hacer esto...</p>
<h3 id="lectura-29-valores-por-defecto-del-framework">Lectura 29: Valores por defecto del framework</h3>
<p>Imaginemos que tenemos dos bibliotecas (lib1.js y lib2.js) que estamos cargando junto a nuestro app.js.
Ambas bibliotecas declaran una variable llamada libraryName y la establecen como &#39;Lib 1&#39; y &#39;Lib 2&#39; respectivamente. El problema aquí es que cuando sacamos esa variable desde app.js, el resultado será &#39;Lib 2&#39; porque anula la anterior. Para evitar esto, lo que hacen la mayoría de las bibliotecas es asignar el objeto al objeto global de la ventana SÓLO si no hay nada allí:</p>
<p><code>window.libraryName = window.libraryName || &#39;Lib 2&#39;;</code></p>
<h3 id="clase-30-objetos-y-funciones">Clase 30: Objetos y funciones</h3>
<p>En otros lenguajes, los objetos y las funciones son diferentes, pero en Javascript, son muy parecidos.</p>
<p>Un objeto es una colección de valores a los que se les da un nombre. Un objeto puede tener propiedades y métodos. Las propiedades pueden ser primitivas (como booleanos, números, etc). La propiedad también puede ser otro objeto y los métodos son las funciones que tiene el objeto.</p>
<p>Podemos crear un objeto así (hay mejores formas de hacerlo, pero de momento vamos a hacerlo así)</p>
<p><code>var persona = new Object();</code></p>
<p>Para crear una primitiva (una cadena) usando un acceso de miembro computado:</p>
<p><code>persona[&quot;nombre&quot;] = &quot;Joan Mira&quot;;</code></p>
<p>Los corchetes son un operador que busca esa propiedad en el objeto persona. Esto es útil si necesitamos precomponer el nombre de la propiedad miembro.</p>
<p>También podemos almacenar el nombre de la primitiva en una variable y usarla para localizar esa primitiva en el objeto:</p>
<pre><code class="language-javascript">var firstNameProperty = &quot;firstname&quot;;
console.log(person[firstNameProperty]);
</code></pre>
<p>También podemos utilizar el operador &#39;.&#39; para acceder al miembro primitivo (que es la forma recomendada):</p>
<p><code>console.log(persona.nombre);</code></p>
<p>También podemos crear un objeto sentado dentro del objeto persona:</p>
<pre><code class="language-javascript">person.address = new Object();
person.address.street = &quot;111 Main St.&quot;;
person.address.city = &quot;London&quot;;
</code></pre>
<h3 id="lectura-31-objetos-y-literales-de-objetos">Lectura 31: Objetos y literales de objetos</h3>
<p>Para crear literales de objeto, usamos llaves, que no es un operador. Es sólo el motor JS asumiendo que estamos creando un objeto.</p>
<p><code>var persona = {};</code></p>
<p>También podemos establecer e inicializar propiedades y métodos:</p>
<p><code>var persona = { nombre: &#39;Juana&#39;, apellido: &#39;Mira&#39; };</code></p>
<p>También es recomendable utilizar espacios en blanco y poner cada propiedad en una línea diferente:</p>
<pre><code class="language-javascript">var Joan = {
    firstname: &#39;Joan&#39;,
    lastname: &#39;Mira&#39;,
    address: {
        street: &#39;111 Main St.&#39;,
        city: &#39;London&#39;
    }
};
</code></pre>
<p>Y podemos pasar el objeto a una función:</p>
<pre><code class="language-javascript">function greet(person) {
    console.log(&#39;Hi &#39; + person.firstname;
}
greet(Joan);
</code></pre>
<p>También podemos crear objetos sobre la marcha:</p>
<pre><code class="language-javascript">greet({
    firstname: &#39;Mary&#39;,
    lastname: &#39;Doe&#39;
});
</code></pre>
<h3 id="lectura-32-falsificación-de-espacios-de-nombres">Lectura 32: Falsificación de espacios de nombres</h3>
<p><strong>Espacio de nombres</strong>: un contenedor para variables y funciones. Típicamente para mantener variables y funciones con el mismo nombre separadas.</p>
<pre><code class="language-javascript">var greet = &#39;Hello!&#39;;
var greet = &#39;Hola!&#39;;

console.log(greet); // Renders Hola!
</code></pre>
<p>Podemos evitar esa colisión creando contenedores:</p>
<pre><code class="language-javascript">var english = {};
var spanish = {};

english.greet = &#39;Hello!&#39;;
spanish.greet = &#39;Hola!&#39;;
</code></pre>
<h3 id="lectura-33-json-y-literales-de-objeto">Lectura 33: JSON y literales de objeto</h3>
<p>JSON (JavaScript Object Notation) se parece mucho a la sintaxis de objetos de JS pero no caigamos en ese error.</p>
<pre><code class="language-javascript">var objectLiteral = {
    firstname: &#39;Mary&#39;,
    isAProgrammer: true
};
</code></pre>
<p>Formato JSON:</p>
<pre><code class="language-javascript">{
    &quot;firstname&quot;: &quot;Mary&quot;,
    &quot;isAProgrammer&quot;: true
}
</code></pre>
<p>En JSON, las propiedades deben ir entre comillas.</p>
<p>También existen utilidades para convertir objetos en JSON:</p>
<p><code>JSON.stringify(objectLiteral);</code></p>
<p>Y para parsearlos (convertir de JSON a objeto JS):</p>
<p><code>var jsonValue = JSON.parse(&#39;{ &quot;firstname&quot;: &quot;Mary&quot;, &quot;isAProgrammer&quot;: true }&#39;);</code></p>
<h3 id="lectura-34-las-funciones-son-objetos">Lectura 34: Las funciones son objetos</h3>
<p><strong>Funciones de primera clase</strong>: todo lo que puedes hacer con otros tipos lo puedes hacer con funciones. Asignarlas a variables, pasarlas, y crearlas sobre la marcha.</p>
<p>Las funciones no necesitan un nombre, pueden ser anónimas y el código que escribimos en la función es sólo una de las propiedades que estamos añadiendo a la función. Lo especial es que esa propiedad es invocable ();</p>
<p>Tenemos que pensar en las funciones como objetos, cuyo código resulta ser una propiedad de ese objeto.</p>
<p>Se puede mover, y copiar, al igual que una cadena o un número u otro objeto.</p>
<pre><code class="language-javascript">function greet() {
    console.log(&#39;hi&#39;);
}

greet.language = &#39;english&#39;;
</code></pre>
<p>Sí, podemos añadir propiedades a una función. LAS FUNCIONES SON OBJETOS.</p>
<h3 id="lectura-35-sentencias-de-función-y-expresiones-de-función">Lectura 35: Sentencias de función y expresiones de función</h3>
<p><strong>Expresión</strong>: una unidad de código que da como resultado un valor. No tiene que guardar en una variable.</p>
<p>Por ejemplo (a === 3), eso es una expresión.</p>
<p>Por otro lado, una declaración es algo que no devuelve un valor, como por ejemplo una declaración &#39;if&#39;.</p>
<p>Con las funciones ocurre algo parecido. La siguiente es una declaración de función que no devuelve un valor:</p>
<pre><code class="language-javascript">function greet() {
    console.log(&#39;hi&#39;);
}
</code></pre>
<p>Por otro lado, se trata de una expresión de función:</p>
<pre><code class="language-javascript">var anonymousGreet = function() {
    console.log(&#39;hi&#39;);
}
</code></pre>
<p>Estamos creando un objeto sobre la marcha y asignándolo a una variable. La diferencia es que anonymousGreet tiene la DIRECCIÓN en memoria de la función anónima.</p>
<h3 id="lectura-36-por-valor-vs-por-referencia">Lectura 36: Por valor vs por referencia</h3>
<p>Cuando se habla de asignar el valor de una variable a otra, en el caso de las primitivas, JS COPIA el valor en una nueva dirección de memoria. Esto es <strong>por valor</strong>.</p>
<p>Ahora bien, en el caso de los objetos (todos los objetos), cuando se trata de hacer que dos tengan el mismo valor, en lugar de obtener una nueva ubicación en memoria, simplemente se apunta a la misma ubicación en memoria. No hay copia. Así, dos nombres apuntan a la misma dirección. Esto se llama <strong>por referencia</strong>.</p>
<p>Cuando se modifican objetos, a menudo se escuchan estos dos conceptos, que suenan mucho más complicados de lo que son.</p>
<p><strong>Mutable</strong>: que cambia algo
<strong>Imutable</strong>: que no se puede cambiar</p>
<h3 id="lectura-37-objetos-funciones-y-esto">Lectura 37: Objetos, funciones y &#39;esto&#39;</h3>
<p>Si creamos una función (incluso una expresión de función) en el contexto global, la invocamos y console.log &#39;this&#39; dentro de esa función, obtendremos como resultado la ventana global.</p>
<p>Por otro lado, si declaramos un método dentro de un objeto y console.log &#39;this&#39; en ese método, obtendremos como resultado el objeto.</p>
<p>Mucha gente piensa que JS tiene un error cuando creamos un nuevo método dentro de ese método del objeto anterior y usamos &#39;this&#39; para mutar el objeto. ¡En este caso, &#39;this&#39; ya no apuntará al objeto, sino a la ventana global WTF!</p>
<p>Para arreglar este error, podemos usar este popular truco</p>
<p><code>var self = this;</code></p>
<p>Eso creará una referencia al ámbito del objeto correcto que podemos usar para apuntar a sus propiedades y métodos, de modo que podemos comunicarnos desde dentro del método con otras propiedades y métodos del objeto.</p>
<h3 id="lectura-38-arrays---colecciones-de-cualquier-cosa">Lectura 38: Arrays - colecciones de cualquier cosa</h3>
<p>Los arrays se pueden definir con = new Array() o usando el formato literal con corchetes []. Pueden contener colecciones de cualquier cosa, ¡incluso mezclando diferentes tipos!</p>
<h3 id="lectura-39-argumentos-y-extensión">Lectura 39: &#39;argumentos&#39; y extensión</h3>
<p><strong>Argumentos</strong>: los parámetros que pasas a una función. Javascript te da una palabra clave con ese mismo nombre que los contiene todos. Ejemplo:</p>
<pre><code class="language-javascript">function greet(firstname, lastname, language) {
    console.log(arguments);
}
</code></pre>
<p>La palabra reservada argumentos devolverá un pseudoarray con los parámetros que recibió la función.</p>
<h3 id="lectura-40-sobrecarga-de-funciones">Lectura 40: Sobrecarga de funciones</h3>
<p>La sobrecarga de funciones consiste en tener otra función con el mismo nombre pero con diferentes parámetros. En JavaScript no existe esta funcionalidad, pero podemos replicarla utilizando otros patrones, como condicionales dentro de la función para devolver uno de los otros resultados.</p>
<h3 id="lectura-41-analizadores-de-sintaxis">Lectura 41: Analizadores de sintaxis</h3>
<p>Javascript lee cada palabra carácter por carácter.</p>
<h3 id="lectura-42-peligroso-inserción-automática-de-punto-y-coma">Lectura 42: Peligroso! inserción automática de punto y coma</h3>
<p>El parser de sintaxis trata de ser útil al no requerir el punto y coma al final de la línea. El Javascript los pone automáticamente donde cree que deben estar. No queremos que el motor JS tome esas decisiones por nosotros. Puede causar un GRAN problema en nuestro código porque es muy difícil de rastrear.</p>
<h3 id="lectura-43-espacio-en-blanco">Lectura 43: Espacio en blanco</h3>
<p><strong>Espacio en blanco</strong>: caracteres invisibles que crean un &#39;espacio&#39; literal en tu código escrito. Retornos de carro, tabulaciones, espacios.</p>
<p>Javascript es bastante liberal a la hora de aceptar los espacios en blanco, así que podemos escribir comentarios entre var y el nombre de las variables o dentro de los literales de los objetos.</p>
<p>Haz que tu código sea legible y comprensible. ¡Escribe comentarios! No te preocupes por los espacios en blanco.</p>
<h3 id="lectura-44-iifes-expresiones-de-función-inmediatamente-invocadas">Lectura 44: IIFEs (Expresiones de Función Inmediatamente Invocadas)</h3>
<p>Ya sabemos que el paréntesis () se usa para invocar una función, así que eso es básicamente lo que vamos a usar para las IIFEs:</p>
<pre><code class="language-javascript">var greeting = function(name) {
    return &#39;Hello &#39; + name;
}(&#39;John&#39;);

console.log(greeting);
</code></pre>
<p>Eso está bien para las expresiones de función, pero ¿cómo podemos hacer IIFEs con declaraciones de función normales como esta:?</p>
<pre><code class="language-javascript">function name() {
    return &#39;Hello &#39; + name;
}
</code></pre>
<p>Hay un truco para hacer que el analizador sintáctico piense que la función es una expresión. Sólo tenemos que envolver la función entre paréntesis. Como son un operador y sólo los usamos con expresiones, el analizador sintáctico los trata como tales. Ejemplo:</p>
<pre><code class="language-javascript">(function name() {
    var greeting = &#39;Hello&#39;;
    return greeting + &#39; &#39; + name;
}(&#39;John&#39;))
</code></pre>
<p>Por cierto, podemos invocarlo antes o después del paréntesis de envoltura.</p>
<h3 id="lectura-45-iifes-y-código-seguro">Lectura 45: IIFEs y código seguro</h3>
<p>Hay escenarios en los que una variable (en este caso &#39;greeting&#39;) puede ser definida en dos contextos diferentes. Esto significa que no estamos sobreescribiendo la variable &#39;saludo&#39;. Ambas existen en contextos diferentes.</p>
<pre><code class="language-javascript">var greeting = &#39;Hola&#39;;

(function(name) {
    var greeting = &#39;Hello&#39;;
    return greeting + &#39; &#39; + name;
}(&#39;John&#39;))

console.log(greeting);
</code></pre>
<p>En caso de que queramos pasar el objeto global a la función envuelta, podemos hacerlo pasando el parámetro ventana. Recuerda que los objetos pasan por referencia, por lo que no estamos copiando nada, sólo estamos pasando una referencia al objeto global:</p>
<pre><code class="language-javascript">var greeting = &#39;Hola&#39;;

(function(global, name) {
    var greeting = &#39;Hello&#39;;
    // we can access the global object here
    global.greeting = &#39;Hello&#39;;

    return greeting + &#39; &#39; + name;
}(window, &#39;John&#39;))

console.log(greeting);
</code></pre>
<p>Sólo lo llamamos global porque podríamos querer usar el código en el servidor (donde no hay navegador).</p>
<h3 id="lectura-46-entendiendo-los-closures">Lectura 46: Entendiendo los closures</h3>
<p>Este es un tema notorio. Es vital entenderlo para avanzar en el lenguaje.</p>
<pre><code class="language-javascript">function greet(whattosay) {
    return function(name) {
        console.log(whattosay + &#39; &#39; + name);
    }
}

greet(&#39;Hi&#39;)(&#39;Joan&#39;);
</code></pre>
<p>Aquí tenemos una función que devuelve una función. Entonces invocamos la función y volvemos a invocar la función devuelta. También podríamos llamarla así:</p>
<pre><code class="language-javascript">var sayHi = greet(&#39;Hi&#39;);
sayHi(&#39;Joan&#39;);
</code></pre>
<p>La pregunta es, ¿cómo es posible que whattosay siga existiendo en la segunda función? Debería haber desaparecido porque el contexto de esa función ya no está en la pila de ejecución. Bueno, eso es posible gracias a los closures. El motor JS ha liberado el contexto de ejecución de la primera función, pero el valor de whattosay sigue dando vueltas...</p>
<p>Así, el contexto de ejecución puede haber desaparecido, pero la variable sigue en memoria porque la otra función todavía la necesita. ¡Eso es un closure!</p>
<p>La segunda función está recorriendo la cadena de alcance para encontrar lo que necesita.</p>
<p>El contexto de ejecución ha cerrado sus variables externas. Las variables que normalmente habrían sido referenciadas de todos modos, incluso en sus contextos de ejecución han desaparecido. Este fenómeno se llama closure. No es algo que creamos, escribimos o le decimos a JS que haga. Es simplemente una característica de JS. Simplemente ocurre. El motor de JS siempre se asegurará de que, sea cual sea el contexto de ejecución, las variables estarán siempre accesibles.</p>
<p>Es sólo una característica para asegurarse de que cuando ejecutamos una función, todo funciona como debería.</p>
<h3 id="lectura-47-entendiendo-los-closures-parte-2">Lectura 47: Entendiendo los closures [parte 2]</h3>
<p>Hay un ejemplo clásico para explicar los closures:</p>
<pre><code class="language-javascript">function buildFunctions() {
    var arr = [];

    for (var i = 0; i &lt; 3; i++) {
        arr.push(function() {
            console.log(i);
        }
    }

    return arr;
}

var fs = buildFunctions();
fs[0]();
fs[1]();
fs[2]();
</code></pre>
<p>Así que sólo estamos creando tres funciones en un array utilizando un bucle for. Luego invocamos las funciones y obtenemos i. ¿Qué sería i?</p>
<p>Lo que normalmente esperaríamos es que i fuera 1, 2, 3, ¡pero entonces obtenemos todos los 3!</p>
<p>Entonces, lo que está sucediendo bajo el capó es que el console.log no está siendo ejecutado dentro del bucle for, así que para cuando empezamos a ejecutar el console.log de las funciones, el valor de i ha llegado a 3.</p>
<p>Así que, en este caso, todavía tenemos la variable i en memoria pero no está manteniendo los valores que esperábamos.</p>
<p>Entonces, ¿cómo lo arreglamos para que se muestren los números que queremos?
En ES 6, podríamos usar let para crear variables desescopadas, pero también podemos evitar el valor de i creando un nuevo contexto de ejecución para cada una de las funciones que estamos empujando al array. Así que podríamos hacer eso usando IIFEs:</p>
<pre><code class="language-javascript">function buildFunctions2() {
    var arr = [];

    for (var i = 0; i &lt; 3; i++) {
        //let j = i; //ES6 solution
        arr.push(
            (function(j) {
                return function() {
                    console.log(j);
                }
            }(i))
        )
    }

    return arr;
}

var fs2 = buildFunctions2();
fs2[0]();
fs2[1]();
fs2[2]();
</code></pre>
<h3 id="lectura-48-fábricas-de-funciones">Lectura 48: Fábricas de funciones</h3>
<p>Una fábrica es una función que devuelve y mezcla algo por nosotros.</p>
<pre><code class="language-javascript">function makeGreeting(language) {

    return function(firstname, lastname) {

        if (language === &#39;en&#39;) {
            console.log(&#39;Hello &#39; + firstname + &#39; &#39; + lastname);
        }

        if (language === &#39;es&#39;) {
            console.log(&#39;Hola &#39; + firstname + &#39; &#39; + lastname);
        }
    }
}

var greetEnglish = makeGreeting(&#39;en&#39;);
var greetSpanish = makeGreeting(&#39;es&#39;);

greetEnglish(&#39;John&#39;, &#39;Doe&#39;);
greetSpanish(&#39;Laura&#39;, &#39;Diaz&#39;);
</code></pre>
<p>Aquí estamos aprovechando los closures para crear una fábrica que devuelva funciones para saludar en diferentes idiomas. Esto nos ayuda a evitar pasar siempre los mismos parámetros para el idioma deseado.</p>
<h3 id="lectura-49-closures-y-callbacks">Lectura 49: closures y callbacks</h3>
<pre><code class="language-javascript">function sayHiLater() {

    var greeting = &#39;Hi!&#39;;

    setTimeout(function() {
        console.log(greeting);
    }, 3000);
}

sayHiLater();
</code></pre>
<p>En este caso, estamos utilizando un closure (la variable saludo) y una función de primera clase dentro del tiempo de espera que actúa como una expresión de función. Gracias al closure, seguimos teniendo acceso al saludo 3 segundos después.</p>
<p>En jQuery, también estamos utilizando los mismos tipos de expresiones de función y funciones de primera clase.</p>
<pre><code class="language-javascript">$(&quot;button&quot;).click(function() {
});
</code></pre>
<p><strong>Función de retorno</strong>: una función que le das a otra función, para que se ejecute cuando la otra función termine. Así que la función que llamas (es decir, invocas), &#39;devuelve la llamada&#39; llamando a la función que le diste cuando termina.</p>
<pre><code class="language-javascript">function tellMeWhenDone(callback) {
    var a = 1000; // some work
    var b = 2000; // some work

    callback(); // the &#39;callback&#39;, it runs the function I gave it!
}

tellMeWhenDone(function() {
    console.log(&#39;I am done!&#39;);
});
</code></pre>
<h3 id="lectura-50-call-apply-y-bind">Lectura 50: Call(), Apply() y Bind()</h3>
<p>Todas las funciones tienen acceso a los métodos call, apply y bind.</p>
<p><strong>Call</strong> invoca una función con el ámbito del objeto que le pasamos y nos permite pasar parámetros separados por comas.</p>
<p><strong>Aplicar</strong> es lo mismo que una llamada pero pasamos los parámetros como un array. Un array es más útil, especialmente en circunstancias matemáticas.</p>
<p><strong>Bind</strong> no invoca la función, crea una copia de la función que estamos llamando y pasa el contexto de un objeto.</p>
<pre><code class="language-javascript">var person = {
    firstname: &#39;John&#39;,
    lastname: &#39;Doe&#39;,
    getFullName: function() {
        var fullname = this.firstname + &#39; &#39; + this.lastname;
        return fullname;
    }
}

var logName = function(lang1, lang2) {
    console.log(&#39;Logged: &#39; + this.getFullName());
}
// we can also finish it like this:
// }.bind(person);

var logPersonName = logName.bind(person);
logPersonName(&#39;en&#39;);

logName.call(person, &#39;en&#39;, &#39;es&#39;);
logName.apply(person, [&#39;en&#39;, &#39;es&#39;]);
</code></pre>
<p>Con bind, estamos creando una nueva copia de logName y asignándole el contexto de ejecución de la persona. Así, el valor de &#39;this&#39; será el correcto en lugar del objeto global.</p>
<p>También podemos utilizar call y apply para el préstamo de funciones:</p>
<pre><code class="language-javascript">var person2 = {
    firstname: &#39;John&#39;,
    lastname: &#39;Doe&#39;
}

console.log(person.getFullName.apply(person2));
</code></pre>
<p>También podemos hacer currying de funciones. Con bind creamos una nueva copia de la función, ¿qué pasa si le pasamos parámetros?</p>
<p>Al dar los parámetros se establecen los valores permanentes de estos parámetros cuando se hace la copia.</p>
<pre><code class="language-javascript">function multiply(a, b) {
    return a*b;
}

var multiplyByTwo = multiply.bind(this, 2);
console.log(multiplyByTwo(4));
</code></pre>
<p>Así, en este ejemplo, la variable &#39;a&#39; será siempre un 2, y el 4 será el segundo parámetro.
Si pasamos 2 parámetros al bind, entonces significa que esos valores serán siempre los mismos.</p>
<p><strong>Currying de funciones</strong>: crear una copia de una función con unos parámetros preestablecidos. Muy útil en situaciones matemáticas.</p>
<h3 id="lectura-51-programación-funcional">Lectura 51: Programación funcional</h3>
<p>Podemos pensar y codificar en términos de funciones. Introduce un enfoque que no se puede hacer en otros lenguajes de programación que no tienen funciones de primera clase.</p>
<pre><code class="language-javascript">var arr1 = [1,2,3];
console.log(arr1);

var arr2 = [];
for (var i=0; i &lt; arr1.length; i++) {
    arr2.push(arr1[i] * 2);
}

console.log(arr2);
</code></pre>
<p>Pero podemos hacer algo mejor con las funciones, para ser más flexibles. De esta manera, estamos segmentando nuestro código de manera más limpia:</p>
<pre><code class="language-javascript">function mapForEach(arr, fn) {
    var newArr = [];
    for (var i=0; i &lt; arr1.length; i++) {
        newArr.push(
            fn(arr[i])
        )
    };

    return newArr;
}

var arr1 = [1,2,3];
console.log(arr1);

var arr2 = mapForEach(arr1, function(item) {
    return item * 2;
});
console.log(arr2);

var arr3 = mapForEach(arr1, function(item) {
    return item &gt; 2;
});
console.log(arr3);

var checkPastLimit = function(limiter, item) {
    return item &gt; limiter;
}

var arr4 = mapForEach(arr1, checkPastLimit.bond(this, 1));
console.log(arr4);

var checkPastLimitSimplified = function(limiter) {
    return function(limiter, item) {
        return item &gt; limiter;
    }.bind(this, limiter);
}

var arr5 = mapForEach(arr5, checkPastLimitSimplified(1));
console.log(arr5);
</code></pre>
<p>La programación funcional es lo que lleva a Javascript al siguiente nivel.</p>
<h3 id="lectura-52-programación-funcional-parte-2">Lectura 52: Programación funcional [parte 2]</h3>
<p>La biblioteca <a href="http://underscorejs.org/">Underscore.js</a> es una de las bibliotecas más famosas y es un gran ejemplo de programación funcional.</p>
<p>Si abres el <a href="http://underscorejs.org/docs/underscore.html">código fuente anotado</a>, puedes ver los comentarios sobre cómo se implementan las funciones de undescore.js.</p>
<p>Hay otra biblioteca llamada <a href="https://lodash.com/">lodash</a> que funciona como underscore. Algunas personas la prefieren por encima de underscore, pero la primera fue Underscore (que siempre es más difícil, ser el primero).</p>
<p>Algunas cosas que podemos hacer con Underscore:</p>
<pre><code class="language-javascript">// underscore
var arr6 = _.map(arr1, function(item) { return item * 3; });
console.log(arr6);

var arr7 = _.filter([2,3,4,5,6,7], function(item) { return item % 2 === 0; });
console.log(arr7);
</code></pre>
<p>Así que, juega con Underscore, aprende cómo se hace y trata de construir esas utilidades por ti mismo.</p>
<h3 id="fin-de-la-primera-parte">Fin de la primera parte</h3>
<p>Este es el final de la primera parte del curso. Espero que lo hayas disfrutado y me disculpo si algunas de las charlas no son muy claras. Son sólo apuntes que voy tomando mientras veo los vídeos. Si hay algo que necesita una mejor explicación, no dudes en comentarlo y lo mejoraré.</p>
<p>Las próximas conferencias serán sobre javascript orientado a objetos y herencia prototípica. Estad atentos.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/javascript-understanding-the-weird-parts/images/javascript-bg.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Sitio del año 2015]]></title>
            <link>https://www.joanmira.com/es/blog/site-of-the-year-2015</link>
            <guid>https://www.joanmira.com/es/blog/site-of-the-year-2015</guid>
            <pubDate>Sun, 10 Jan 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Un sitio inspirador construido con mucho amor, atención al detalle y paciencia]]></description>
            <content:encoded><![CDATA[<p>Los Premios al diseño, la creatividad y la innovación en Internet, también conocidos como <a href="http://www.awwwards.com">AWWWARDS</a>, han publicado la <a href="http://www.awwwards.com/annual-awards-2015/">lista de proyectos nominados para 2015</a>. Estos premios, junto con <a href="http://www.thefwa.com/">theFWA</a>, son los máximos galardones que se conceden en Internet. Se les puede llamar los Oscars y Grammys de Internet.</p>
<p>De todos modos, <strong>tengo un favorito</strong> y probablemente lo hayas visto antes. Se llama <a href="http://species-in-pieces.com/">Species in Pieces</a>. Una hermosa exposición interactiva basada en CSS realizada por <a href="http://www.bryanjamesdesign.co.uk/">Bryan James</a>.</p>
<p>Es un proyecto notable con una dificultad técnica más allá de lo que la gente normal puede imaginar, ya que todos los animales han sido <strong>elaborados a mano y puramente con CSS</strong>. Puedo ver este tipo de trabajo siendo reconocido en futuras generaciones como un ejemplo de innovación creativa.</p>
<p>¡Mucha suerte con ese premio!</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/sitio-del-año-2015/images/especies-en-piezas-mosaico.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/sitio-del-año-2015/images/especies-en-piezas-mosaico.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/sitio-del-año-2015/images/especies-en-piezas-mosaico.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/sitio-del-año-2015/images/especies-en-piezas-mosaico.png" />
          <img class="image" src="/blog/sitio-del-año-2015/images/especies-en-piezas-mosaico.png" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/site-of-the-year-2015/images/species-in-pieces.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Los mejores codepens de 2015]]></title>
            <link>https://www.joanmira.com/es/blog/the-best-codepens-of-2015</link>
            <guid>https://www.joanmira.com/es/blog/the-best-codepens-of-2015</guid>
            <pubDate>Sat, 09 Jan 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Una selección de ejemplos de código encantadores o útiles]]></description>
            <content:encoded><![CDATA[<p>Estos son los codepens con más <code>me gusta</code> de 2015. Bastante impresionantes! <a href="http://codepen.io/2015/popular/pens/">http://codepen.io/2015/popular/pens/</a>. Si eres un desarrollador front-end, te recomendaría que reservaras algo de tiempo para revisar todos estos ejemplos. Dan una muestra real de lo que es tendencia en este momento y el tipo de cosas que los navegadores soportan hoy en día.</p>
<p>Veo que se está experimentando mucho con el aspecto del material design, lo que confirma el rumor sobre el diseño de la interfaz de usuario que hemos escuchado el año pasado.</p>
<p>Entre todos estos grandes ejemplos, me gustó especialmente el contenido curvo animado. Sobre todo porque construimos algo similar (sin la animación) para el proyecto Dove y quizás esta animación habría quedado muy bien en él.</p>
<iframe height='265' scrolling='no' title='Curved Cut' src='//codepen.io/Hornebom/embed/RNKMrL/?height=265&theme-id=0&default-tab=css,result' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%; margin-bottom: 30px'>See the Pen <a href='https://codepen.io/Hornebom/pen/RNKMrL/'>Curved Cut</a> by Hornebom (<a href='https://codepen.io/Hornebom'>@Hornebom</a>) on <a href='https://codepen.io'>CodePen</a>.
</iframe>

<p>Estos ejemplos de animaciones de navegación no son muy impresionantes pero pueden ser bastante útiles para sitios web pequeños o micrositios:</p>
<iframe height='265' scrolling='no' title='Navigation Animation' src='//codepen.io/EvyatarDa/embed/waKXMd/?height=265&theme-id=0&default-tab=css,result' frameborder='no' allowtransparency='true' allowfullscreen='true' style='width: 100%; margin-bottom: 30px'>See the Pen <a href='https://codepen.io/EvyatarDa/pen/waKXMd/'>Navigation Animation</a> by StyleShit (<a href='https://codepen.io/EvyatarDa'>@EvyatarDa</a>) on <a href='https://codepen.io'>CodePen</a>.
</iframe>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-best-codepens-of-2015/images/codepen.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Vida geek]]></title>
            <link>https://www.joanmira.com/es/blog/geek-life</link>
            <guid>https://www.joanmira.com/es/blog/geek-life</guid>
            <pubDate>Fri, 01 Jan 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[Historias de un adolescente al que le gustaban demasiado los videojuegos]]></description>
            <content:encoded><![CDATA[<p>Desde muy joven me gustaron los ordenadores y las cosas tecnológicas; esta afición empezó a los 7 años cuando visitaba a mis primos de Barcelona. Estaba alucinado con las cosas que podía hacer el <a href="https://es.wikipedia.org/wiki/Commodore_Amiga_500">Amiga 500</a> y más que nada, estaba muy celoso de los casi 1000 videojuegos que mi primo había conseguido coleccionar.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/geek-life/images/1.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/geek-life/images/1.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/geek-life/images/1-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/geek-life/images/1-mobile.jpg" />
          <img class="image" src="/blog/geek-life/images/1.jpg" alt="Amiga 500, Monkey Island y Atari 2600" loading="lazy">
        </picture>
        <figcaption>Amiga 500, Monkey Island y Atari 2600</figcaption>
      </figure></p>
<p>En aquellos tiempos llegaron a mi casa un <a href="http://es.wikipedia.org/wiki/Commodore_64">Commodore 64</a> y un <a href="http://es.wikipedia.org/wiki/Atari_2600">Atari 2600</a> con un cartucho que contenía 32 juegos (si recuerdo bien). Qué tiempos tan maravillosos... No paraba de visitar a los vecinos para jugar al <a href="http://en.wikipedia.org/wiki/Super_Sprint">Super Sprint</a> en el <a href="https://es.wikipedia.org/wiki/Sinclair_ZX_Spectrum">Spectrum</a>, o al <a href="https://es.wikipedia.org/wiki/The_Secret_of_Monkey_Island">Monkey Island</a> (en blanco y negro) en el PC 286 del chico del 5º piso, o jugar al <a href="http://en.wikipedia.org/wiki/Ghosts_%27n_Goblins">Ghost&#39;n&#39;Goblins</a> en el <a href="https://es.wikipedia.org/wiki/Amstrad_CPC">Amstrad 664</a> ¡con disquetes de 3&quot;! de mi compañero de colegio. En aquella época, éramos pacientes con los tiempos de carga. Sólo queríamos jugar a juegos como <a href="https://es.wikipedia.org/wiki/Double_Dragon">Double Dragon</a> en una pantalla verde, aunque tuviéramos que esperar 15 minutos escuchando psicofonías desde el Amstrad 464 mientras se cargaba el juego desde el casete.</p>
<p>Creo que el inicio de mi vida <a href="https://es.wikipedia.org/wiki/Geek">geek</a> comenzó exactamente el día de mi primera comunión (en marzo de 1989), cuando mi sabia abuela decidió comprarle a mi primo el <a href="http://es.wikipedia.org/wiki/Amstrad_464">Amstrad 464</a> con 400 juegos en casete para regalármelo. Durante esos años, también jugaba con el famoso <a href="https://es.wikipedia.org/wiki/Amstrad_PC1512">Amstrad PC 1512</a> de mi familia en Almería. Un ordenador muy bueno que utilizaba discos de 5 1/4&#39;&#39;. Unos años después, mi padre compró un <a href="https://es.wikipedia.org/wiki/Amstrad_PCW">Amstrad PCW 8256</a> con impresora y pantalla verde. No estaba muy convencido porque había muy pocos juegos disponibles en ese ordenador.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/geek-life/images/2.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/geek-life/images/2.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/geek-life/images/2-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/geek-life/images/2-mobile.jpg" />
          <img class="image" src="/blog/geek-life/images/2.jpg" alt="Amstrad CPC 464, Amstrad PCW 8256 y discos de ordenador" loading="lazy">
        </picture>
        <figcaption>Amstrad CPC 464, Amstrad PCW 8256 y discos de ordenador</figcaption>
      </figure></p>
<p>Recuerdo con especial cariño el salón de juegos &quot;Focus&quot; de Playa San Juan (Alicante), donde las monedas de 100 pesetas y 25 pesetas fueron sabiamente cambiadas en favor del truco del mechero eléctrico. Con ellos generábamos una chispa en el hueco de las monedas para obtener créditos gratis en las máquinas recreativas. Recuerdo auténticos clásicos como el <a href="http://en.wikipedia.org/wiki/Wonder_Boy_%28Arcade%29">Wonder Boy</a>, <a href="http://en.wikipedia.org/wiki/Side_Arms">Side Arms</a>, <a href="http://en.wikipedia.org/wiki/Gun.Smoke">Gun Smoke</a>, <a href="http://en.wikipedia.org/wiki/Legendary_Wings">Legendary Wings</a>, el famoso <a href="http://en.wikipedia.org/wiki/Street_Fighter_%28series%29">Street Fighter</a>, <a href="https://en.wikipedia.org/wiki/Hard_Drivin%27">Hard Driving</a>, <a href="https://en.wikipedia.org/wiki/Hammerin%27_Harry">Hammerin&#39; Harry</a>, <a href="https://en.wikipedia.org/wiki/Vigilante_(video_game)">Vigilante</a>, [Kung-Fu Master](<a href="http://en.wikipedia">http://en.wikipedia</a>. org/wiki/Kung_Fu_%28video_game%29), <a href="http://en.wikipedia.org/wiki/Road_Fighter">Road Fighter</a>, <a href="http://en.wikipedia.org/wiki/Spy_Hunter">Spy Hunter</a>, <a href="https://en.wikipedia.org/wiki/Track_%26_Field_(video_game)">Track and Field</a>, <a href="https://en.wikipedia.org/wiki/Rush%27n_Attack">Green Beret</a>, <a href="http://en.wikipedia.org/wiki/Contra_%28arcade_game%29">Contra</a>, <a href="https://en.wikipedia.org/wiki/Combat_School">Combat School</a>, <a href="http://en.wikipedia.org/wiki/Lethal_Enforcers">Lethal Enforcers</a>, <a href="http://en.wikipedia.org/wiki/Mortal_Kombat_%28video_game%29">Mortal Kombat</a>, <a href="http://en.wikipedia.org/wiki/Gauntlet_%28arcade_game%29">Gaunlet</a>, [Enduro Racer](<a href="https://en">https://en</a>. wikipedia.org/wiki/Enduro_Racer), <a href="https://en.wikipedia.org/wiki/Super_Hang-On">Super Hang-on</a>, <a href="https://en.wikipedia.org/wiki/Tetris">Tetris</a>, <a href="http://en.wikipedia.org/wiki/Out_Run">Out Run</a>, <a href="http://en.wikipedia.org/wiki/Altered_Beast">Altered Beast</a>, <a href="http://en.wikipedia.org/wiki/Golden_Axe">Golden Axe</a>, <a href="https://en.wikipedia.org/wiki/Heavyweight_Champ">Heavy Weight Champ</a>, <a href="https://www.arcade-museum.com/game_detail.php?game_id=8986">Passing shot</a>, <a href="http://en.wikipedia.org/wiki/After_Burner">After Burner</a>, <a href="http://en.wikipedia.org/wiki/Fatal_Fury">Fatal Fury</a>, [Metal Slug](<a href="http://en.wikipedia">http://en.wikipedia</a>. org/wiki/Metal_Slug), <a href="https://en.wikipedia.org/wiki/Super_Sidekicks_(video_game)">Super Sidekicks</a>, <a href="https://en.wikipedia.org/wiki/Windjammers_(video_game)">Windjammers</a>, <a href="http://en.wikipedia.org/wiki/Bubble_Bobble">Bubble Bobble</a>, <a href="http://en.wikipedia.org/wiki/Operation_Wolf">Operation Wolf</a>, <a href="http://en.wikipedia.org/wiki/Rastan_Saga">Rastan</a>, <a href="https://en.wikipedia.org/wiki/Wardner_(video_game)">Wardner</a>, <a href="http://en.wikipedia.org/wiki/Chase_HQ">Chase HQ</a>, <a href="http://en.wikipedia.org/wiki/Cabal_%28arcade_game%29">Cabal</a>, <a href="http://en.wikipedia.org/wiki/Snow_Bros">Snow Bros</a>,... muy buenos momentos de obsesión por los videojuegos.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/geek-life/images/3.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/geek-life/images/3.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/geek-life/images/3-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/geek-life/images/3-mobile.jpg" />
          <img class="image" src="/blog/geek-life/images/3.jpg" alt="Bubble Bobble, Outrun y Hang-on" loading="lazy">
        </picture>
        <figcaption>Bubble Bobble, Outrun y Hang-on</figcaption>
      </figure></p>
<p>La <a href="https://es.wikipedia.org/wiki/Mega_Drive">Megadrive</a> de SEGA con <a href="https://es.wikipedia.org/wiki/Sonic_the_Hedgehog_(videojuego_de_1991)">Sonic: the HedgeHog</a> me convirtió en un auténtico adicto. Recuerdo que me costó unas 27.000 pesetas y debido a mis bajos ingresos, no pude comprar una <a href="https://es.wikipedia.org/wiki/Super_Nintendo">Super Nintendo</a>. Esa es la razón por la que nunca jugué a <a href="http://es.wikipedia.org/wiki/The_Legend_of_Zelda">Zelda</a> y a otros grandes juegos de <a href="http://es.wikipedia.org/wiki/Nintendo">Nintendo</a> cuando era niño.</p>
<p>Sin embargo, aunque me gustaban mucho los juegos, nunca dejé de estudiar, aunque <a href="http://es.wikipedia.org/wiki/Dragon_Ball">Dragon Ball</a>, <a href="https://es.wikipedia.org/wiki/Big_Red_Racing">Big Red Racing</a> y la <a href="http://es.wikipedia.org/wiki/PlayStation">Playstation</a> eran distracciones constantes.</p>
<h3 id="cosas-que-me-han-apasionado-en-algún-momento-de-mi-vida">Cosas que me han apasionado en algún momento de mi vida</h3>
<p>Matrix, Pcmania, Super Juegos, PC Actual, Pentium, El Día del Tentáculo, Lego, C++, Dragon Ball, Japón, Fast Tracker 2, Amiga 500, Radiohead, Gatitos, Amstrad CPC 464, Linux, Star Wars, Mozart, AI, Google, Sim City, Playmobil. Demoscene, Joao Gilberto, Tokio, Bonsai, piano, PcFútbol, Yamaha, Nissan, Croquets, Pascal, Death Note, Firefox, Windows 95, patatas fritas, DirectX, Foo fighters, TaekWonDo, Gurbaksh Chahal, Shibuya, CouchSurfing, Meccano, Wayne Dyer, LOTR, Blade Runner, mapex (batería), Blogs, PhpMyAdmin, Rails, Nihongo, Asia, Paella, Fotografía, HDR, Breaking Bad, The Wire, guitarra acústica, Mega Drive, Karate, Wwoofing, Muse, Mario Kart, Bokeh, Akira Kurosawa, TED, Hasekura Tsunesaga, Coldplay, Time lapse, onsen, Canon D550, Sakamoto Ryuichi...</p>
<h3 id="juegos-favoritos">Juegos favoritos</h3>
<p>Half-Life 1 y 2, Far Cry, ISS Pro Evolution/Winning Eleven, The Dig, Monkey Island, Day of the Tentacle, Indiana Jones in the fate of Atlantis, Full Throttle, Halo, GP500, Need for Speed Underground, Counter-Strike, Medal of Honor, NBA Jam, Fifa 2006, Resident Evil, Lemmings, Sonic, Mario 64, Another World, Flashback, Forza 4.</p>
<h3 id="sabías-que">Sabías que...</h3>
<p>¡* El primer módulo de RAM que compré (SIMM de ranura) era sólo de 4 MB y me costó 20.000 pesetas! ¡Lo conseguí en el verano de 1994 a través de <a href="http://www.centromail.es">CentroMAIL</a> (de PCMANIA) y lo usé para jugar a <a href="http://en.wikipedia.org/wiki/Bioforge">Bioforge</a> en mi 486 SX 33Mhz con CDROM!</p>
<ul>
<li>El barrio donde crecí estaba lleno de niños adictos a los videojuegos. Nos intercambiábamos constantemente juegos como el <a href="https://es.wikipedia.org/wiki/Doom_(videojuego_de_1993)">DOOM</a>, el <a href="http://es.wikipedia.org/wiki/Rise_of_the_Robots">Rise of the Robots</a> o el maravilloso <a href="http://es.wikipedia.org/wiki/The_Dig">The Dig</a> (una de mis aventuras gráficas favoritas).</li>
</ul>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/geek-life/images/4.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/geek-life/images/4.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/geek-life/images/4-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/geek-life/images/4-mobile.jpg" />
          <img class="image" src="/blog/geek-life/images/4.jpg" alt="The DIG, Shinobi and Captain Comando" loading="lazy">
        </picture>
        <figcaption>The DIG, Shinobi and Captain Comando</figcaption>
      </figure></p>
<ul>
<li><p>Cerca de mi casa, había un bar (nada más cruzar la calle) y por lo que recuerdo, siempre había una máquina recreativa. Podría contar muchas historias sobre ese lugar. Era tan popular que las peleas eran constantes. Algunos de los videojuegos de ese lugar eran: <a href="https://es.wikipedia.org/wiki/Captain_Commando_(videojuego)">Captain Commando</a>, <a href="https://es.wikipedia.org/wiki/Anexo:Personajes_de_Final_Fight">Final Fight</a>, <a href="https://es.wikipedia.org/wiki/Three_Wonders">Three Wonders</a>, <a href="https://es.wikipedia.org/wiki/Shinobi_(serie)">Shinobi</a> y <a href="https://es.wikipedia.org/wiki/Pang">Pang</a>.</p>
</li>
<li><p>Durante mi infancia, sólo vi una vez a alguien terminando <a href="http://en.wikipedia.org/wiki/Ghosts&#39;n_Goblins">Ghost&#39;n&#39;Goblins</a> en la recreativa. ¡Es muy muy difícil!</p>
</li>
<li><p>En el bar cercano a mi escuela primaria, tenían <a href="https://es.wikipedia.org/wiki/The_New_Zealand_Story">el arcade con el juego del pollo</a>... Yo era una basura en ese juego.</p>
</li>
</ul>
<p>¡Gracias por leer todo esto! :-)</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/geek-life/images/monkey-island-hero.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Desarrolladores Full Stack]]></title>
            <link>https://www.joanmira.com/es/blog/full-stack-developers</link>
            <guid>https://www.joanmira.com/es/blog/full-stack-developers</guid>
            <pubDate>Thu, 03 Dec 2015 00:00:00 GMT</pubDate>
            <description><![CDATA[The industry is getting more professionalized. It's hard to keep a very high level in all disciplines]]></description>
            <content:encoded><![CDATA[<p>Recientemente, empecé a escuchar algunos rumores sobre los desarrolladores full-stack y cómo ya no es creíble llamarse a sí mismo como tal. Es un tema que me interesa especialmente, ya que me considero uno de ellos desde hace mucho tiempo. Intentaré explicar mis pensamientos y, por favor, ¡siéntete libre de añadir los tuyos también!</p>
<h3 id="¿eh-¿qué-ha-pasado">¿Eh? ¿Qué ha pasado?</h3>
<p>Creo que en los últimos años, especialmente desde 2010, el desarrollo web ha evolucionado muy rápidamente. Principalmente debido a la creciente popularidad de las aplicaciones web y otros tipos de aplicaciones que utilizan Internet de alguna manera. Esto es genial para la humanidad en general. Ahora tenemos un entorno más democrático y competitivo para mostrar nuestras cosas, comprar y vender, interactuar y comunicarnos, pero por supuesto, eso tiene un precio.</p>
<p>Lo que antes era relativamente sencillo desde el punto de vista arquitectónico, ahora se ha vuelto más complejo. Antes de 2010, solía trabajar principalmente con software de código abierto <a href="https://es.wikipedia.org/wiki/LAMP">LAMP</a> y Adobe Flash / ActionScript. Por supuesto, también había bibliotecas, plugins y algunos frameworks, pero nada comparado con la escala de lo que está disponible ahora.</p>
<h3 id="¿cómo-me-llamo-ahora">¿Cómo me llamo ahora?</h3>
<p>La cantidad de disciplinas dentro del desarrollo web también ha aumentado. La separación entre front-end y back-end ya no sirve. Hoy en día, estamos empezando incluso a tener que elegir un área de especialización dentro de esos dominios, como Big Data, Game Development, Animación, mobile dev como Cordova o React native, desarrollo específico de framework / CMS, y tecnologías creativas (Arduino, Kinect, IoT,...), etc. El tamaño de los proyectos hace que sea casi imposible involucrarse en todas las áreas de trabajo de codificación activa al mismo tiempo. Si tenemos en cuenta la rapidez con la que cambian las cosas (especialmente los frameworks), también es cada vez más difícil seguir cambiando de área de especialización.</p>
<p>De hecho, en el siguiente gráfico podemos apreciar que sólo el 3% del mercado de trabajo de desarrollo web busca un desarrollador full-stack, mientras que los desarrolladores front-end son los más deseados con un 20%.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/full-stack-developers/images/relative-demand-web-development-jobs-secondary.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/full-stack-developers/images/relative-demand-web-development-jobs-secondary.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/full-stack-developers/images/relative-demand-web-development-jobs-secondary-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/full-stack-developers/images/relative-demand-web-development-jobs-secondary-mobile.jpg" />
          <img class="image" src="/blog/full-stack-developers/images/relative-demand-web-development-jobs-secondary.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure>
<em>Crédito: Sundeep Pattem y Olivia Zhao investigación original para <a href="http://www.skilledup.com/articles/reimagining-the-full-stack-developer">SkilledUp.com</a>.</em></p>
<p>Los desarrolladores que trabajan en proyectos pequeños, como sitios web de WordPress o Drupal, por supuesto, aún pueden definirse como desarrolladores full-stack, pero esto es algo que también se verá amenazado por nuevas plataformas como <a href="http://ghost.org">Ghost</a>, que implementa una tecnología más compleja compuesta por Node.js, Express.js, Ember, Grunt, Handlebars, jQuery, Moment.js, etc.</p>
<p>Es una pena dejar de lado algo con lo que crees que puedes ser competente, pero no es realista tratar de dispersarte demasiado. Las tareas requieren tiempo, dedicación y atención al detalle, así que no es posible hacerlo todo (a menos que seas un prodigio o vivas con las manos pegadas al teclado).</p>
<h3 id="¿y-si-todavía-quiero-intentarlo-todo">¿Y si todavía quiero intentarlo todo?</h3>
<p>Tal vez el aspecto más respetable de las personas que dicen ser full-stack, es que transmite ambición y determinación. El desarrollador ideal debe estar dispuesto a intentar aprender cosas nuevas, pero también a reconocer cuándo necesita la ayuda de un especialista del equipo.</p>
<p>Después de todo, las empresas más pequeñas y las startups siguen necesitando desarrolladores full-stack. Los desarrolladores a menudo se ven obligados a adquirir nuevas habilidades cuando los recursos simplemente no están disponibles. El problema para las empresas desesperadas por contratar a estos tipos es que los verdaderos desarrolladores con múltiples habilidades son bastante difíciles de encontrar.</p>
<p>Por otro lado, para los proyectos complejos, es fundamental contar con al menos una persona con un conocimiento funcional de cada una de las partes compuestas que también sea capaz de conectar varios niveles y trabajar con cada experto para que se pueda entregar una característica. En cierto modo, estos arquitectos de software que conectan niveles y construyen puentes (que probablemente son expertos en uno o dos niveles) son menos desarrolladores del stack completao y mucho más integradores del stack completo.</p>
<p>Si quieres probar (quizás con un proyecto paralelo), uno de los frameworks full-stack más populares es <a href="https://es.wikipedia.org/wiki/MEAN">MEAN</a>.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/full-stack-developers/images/mean-stack.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/full-stack-developers/images/mean-stack.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/full-stack-developers/images/mean-stack.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/full-stack-developers/images/mean-stack.png" />
          <img class="image" src="/blog/full-stack-developers/images/mean-stack.png" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure>
<em>Imagen de <a href="http://www.bacancytechnology.com/mean-js-full-stack-development-solution/">Bacancy Technology</a></em></p>
<p><a href="http://mean.io">MEAN</a> es un framework JavaScript full-stack que simplifica y acelera el desarrollo de aplicaciones web. MEAN representa MongoDB, ExpressJS, AngularJS y NodeJS.</p>
<h3 id="conclusión">Conclusión</h3>
<p>Entonces, ¿qué opinas? ¿Es sólo una cuestión de etiquetas o estamos experimentando cambios drásticos en nuestra industria?</p>
<p><em>Imagen destacada de <a href="https://www.packtpub.com/books/content/today-you-are-not-web-developer-if-you-dont-know-javascript">PacktPub</a></em></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/full-stack-developers/images/skill-up-blog_2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[El niño de Internet: la historia de Aaron Swartz]]></title>
            <link>https://www.joanmira.com/es/blog/the-internets-own-boy-the-story-of-aaron-swartz</link>
            <guid>https://www.joanmira.com/es/blog/the-internets-own-boy-the-story-of-aaron-swartz</guid>
            <pubDate>Wed, 18 Nov 2015 00:00:00 GMT</pubDate>
            <description><![CDATA[Crítica personal de la película. Algo falló profundamente en el sistema y acabamos perdiendo a un ser humano muy valioso]]></description>
            <content:encoded><![CDATA[<p>Ayer terminé de ver la película GRATUITA &quot;<a href="http://www.imdb.com/title/tt3268458/">The Internet&#39;s own boy: the story of Aaron Swartz</a>&quot; en Netflix. Fue conmovedor. Me sentí frustrado y enojado al ver lo que el gobierno puede hacer para destruir a alguien que creía en un mundo mejor.</p>
<p>También me sentí muy decepcionado por cómo el <a href="http://web.mit.edu/">MIT</a> decidió no involucrarse ni hacer nada para defender a Aaron. Al fin y al cabo, el MIT es una organización que promueve la piratería informática para el aprendizaje y la innovación. Es muy hipócrita por su parte. No hay excusa, no importa cuántos favores o dinero posean. Tienes que defender a tu gente, especialmente cuando hay una batalla de este calibre entre una persona normal contra un gobierno como el de los Estados Unidos.</p>
<p>Al final de la película, sentí que el &quot;viejo sistema&quot; es lo que mató a Aaron. Su incapacidad para escuchar y evaluar la situación con perspectiva, su prepotencia y abuso de poder, su miedo a perder el control... Estados Unidos y el mundo tienen un verdadero problema con la transparencia y los datos abiertos. Eso es por lo que Aaron intentaba luchar y yo creo en sus ideales.</p>
<p>Siempre me han interesado los derechos de autor y cómo Internet está haciendo que la humanidad se replantee lo que debe ser abierto y compartido. Tenemos que trabajar por un mundo con más transparencia, más datos abiertos, software abierto y gobiernos abiertos. Así es como se vence el cáncer o se mejoran las energías renovables. Así es como la humanidad evoluciona hacia un nivel superior de conciencia. Nosotros, los millennials, exigimos esta nueva forma de entender la vida.</p>
<p>Puedes <a href="https://www.youtube.com/watch?v=3Q6Fzbgs_Lg&amp;t=5s&amp;ab_channel=Documentaries">ver la película aquí</a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-internets-own-boy-the-story-of-aaron-swartz/images/aaron-swartz.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mis aprendizajes sobre el Big Data]]></title>
            <link>https://www.joanmira.com/es/blog/my-learnings-about-big-data</link>
            <guid>https://www.joanmira.com/es/blog/my-learnings-about-big-data</guid>
            <pubDate>Mon, 19 Oct 2015 00:00:00 GMT</pubDate>
            <description><![CDATA[Compartiendo algunas cosas interesantes que he aprendido recientemente]]></description>
            <content:encoded><![CDATA[<p>¡Hola amigos! Ayer me apunté a un <a href="https://www.coursera.org/specializations/big-data">curso en Coursera sobre Big Data</a>. Lo imparte la Universidad de San Diego en California. He pensado que sería una buena idea escribir una entrada en el blog sobre mis aprendizajes, para que os hagáis una idea del tipo de cosas que aprenderéis si decidís inscribiros también.</p>
<p>Seguiré publicando notas aquí mientras hago el curso, así que no esperes un artículo muy organizado hasta el final.</p>
<h3 id="semana-1-bienvenido-a-big-data">Semana 1: Bienvenido a Big Data</h3>
<ul>
<li>Hay una gran necesidad de científicos de datos</li>
<li>¡El 90% de los datos del mundo se han creado en los últimos dos años!</li>
<li>En 2009 teníamos 0,8 ZB de datos y en 2020 tendremos 20 ZB</li>
<li>Está creciendo muy rápidamente</li>
<li>La mayoría de los Big Data que existen no están estructurados</li>
<li>Se genera desde cualquier lugar que nos rodea (móviles, GPS, etc)</li>
<li>Las empresas necesitan capturar información sobre sus productos, servicios, clientes, precios, segmentación, redes sociales, etc, para obtener información de los datos</li>
<li>Recoger, almacenar y manipular grandes cantidades de datos a la velocidad y en el momento adecuados</li>
<li>Hay mucho valor sin explotar en el Big Data</li>
<li>Análisis predictivo y profundo</li>
<li>Dar respuestas y mejorar el ROI o tratar de entender a nuestros clientes y aprender sus hábitos y predecir sus comportamientos futuros</li>
<li>Requisitos funcionales: recopilación, integración, organización, análisis (estadístico, de resumen, predictivo,..), gestión, toma de medidas, decisiones</li>
<li>Pila de Big Data: analizar y luego ofrecer algunos servicios centrados en la parte superior de esos análisis</li>
<li>Herramientas que proporcionan un acceso rápido y escalable a los datos y luego los empujan a la pila de análisis</li>
<li>Muchas áreas diferentes de nuevas tecnologías en auge. Espacio abarrotado y diverso</li>
<li>Las empresas de marketing están a la vanguardia</li>
<li>Necesidades: análisis en tiempo real, escalables y de alto rendimiento en grandes conjuntos de datos</li>
<li>Reunir la capacidad de almacenamiento y la capacidad de cálculo: Hadoop</li>
<li>Apache Hadoop: código abierto, bajo coste, fiable, escalable, computación distribuida. Desde un único servidor hasta miles de máquinas</li>
<li>Entorno flexible y tolerante a fallos (datos estructurados o no estructurados)</li>
<li>Capa inferior: Sistema de archivos distribuidos Hadoop (HDFS)</li>
<li>Capa intermedia: Hadoop MapReduce, un modelo de procesamiento de datos a gran escala</li>
<li>Capa superior: podemos disponer de software como Pig, Hive, Mahout, etc para manipular los datos a través de los procesos MapReduce</li>
<li>Minimizar el movimiento de datos</li>
<li>Así es como funciona MapReduce

      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/content/images/2015/10/mapreduce.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/content/images/2015/10/mapreduce.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/content/images/2015/10/mapreduce.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/content/images/2015/10/mapreduce.png" />
          <img class="image" src="/content/images/2015/10/mapreduce.png" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></li>
<li>Aprenderemos a enviar trabajos de MapReduce</li>
<li>En Hadoop 2.0 tenemos YARN, que nos permite hacer cosas más complejas</li>
</ul>
<h3 id="semana-2-¿por-qué-big-data">Semana 2: ¿Por qué Big Data?</h3>
<ul>
<li>Los ordenadores ya no son máquinas deterministas. No están disponibles físicamente</li>
<li>Unir tecnologías para encontrar significado en datos grandes, rápidos e inciertos</li>
<li>Antes: bases de datos relacionales. Ahora: clickstream</li>
<li>Los datos de las máquinas son muy rápidos</li>
<li>Flujo de datos. IoT. Muy rápido también</li>
<li>Antes: conjuntos de datos estructurados. Ahora: crudos, complejos, no estructurados</li>
<li>Ir más allá del almacén de datos. ¿SQL? HBase, Hive,...</li>
<li>Ampliación de las &quot;vistas&quot; de los datos. Comportamiento, desafío de los medios sociales: integración</li>
<li>Encontrar el sentido en el caos: integración, transformación, carga</li>
<li>Analítica: simple, avanzada, estadística</li>
<li>Cuadros de mando predictivos</li>
<li>Paralelizados, distribuidos, optimizados</li>
<li>Antes: muestrear, hacer machine learning, construir modelos predictivos, puntuar el conjunto de datos más grande. Ahora: sólo analizar todos los datos y ejecutar los modelos... Explosión del tamaño de la muestra</li>
<li>Correlación frente a causalidad. No lo explica necesariamente</li>
<li>Nuevos métodos de la comunidad investigadora: aprendizaje profundo, pasar de los archivos planos a datos más complejos</li>
<li>Pasado y presente. Antes: herramientas caras de doctorado de bata blanca. Ahora: herramientas de código abierto para científicos de datos</li>
<li>¿Quiénes son los científicos de datos? Necesidad de entender la estadística, el aprendizaje automático, las bases de datos, la minería de datos, cómo consultar, ordenar, visualizar,...</li>
<li>Habilidades de comunicación. Entender el dominio</li>
<li>Hacer las preguntas correctas que aporten valor al negocio</li>
<li>Curiosidad intelectual, intuición, comunicación y compromiso, habilidades de presentación, creatividad y conocimiento del negocio. Interactuar con los analistas de negocio</li>
<li>Preparación, comprensión y modelización de datos</li>
<li>Necesidad de codificar, crear ecuaciones</li>
<li>La mayoría de los científicos de datos de éxito tienen una experiencia sustancial y profunda en al menos un aspecto de la ciencia de datos: estadística, aprendizaje automático, Big data, comunicación empresarial</li>
<li>La ciencia de los datos es inherentemente colaborativa y creativa</li>
<li>Temas del plan de estudios: Manipulación de datos a escala, Analítica, Comunicación de resultados</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/my-learnings-about-big-data/images/bid-data-cloud.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Detectar el dispositivo del cliente fácilmente con device.js]]></title>
            <link>https://www.joanmira.com/es/blog/detecting-the-client-device-easily-with-device-js</link>
            <guid>https://www.joanmira.com/es/blog/detecting-the-client-device-easily-with-device-js</guid>
            <pubDate>Thu, 10 Sep 2015 00:00:00 GMT</pubDate>
            <description><![CDATA[Nota rápida sobre la detección de dispositivos en JavaScript]]></description>
            <content:encoded><![CDATA[<p>¿Te encuentras creando variables &quot;isMobile&quot; en Javascript muy a menudo? ¿Y añadir manualmente una clase &quot;mobile&quot; o &quot;tablet&quot; al cuerpo o a la etiqueta HTML? Si estás en ese grupo, ¡presta atención a esto! No pierdas más tu tiempo. Sólo tienes que utilizar esta biblioteca súper útil y fácil llamada device.js.</p>
<p>Device.js facilita la escritura de CSS y/o JavaScript condicional basado en el sistema operativo del dispositivo (iOS, Android, Blackberry, Windows, Firefox OS, MeeGo, AppleTV, etc), la orientación (Vertical vs. Horizontal) y el tipo (Tableta vs. Móvil).</p>
<p>Device.js actualizará automáticamente las clases en la etiqueta HTML en función del dispositivo y la orientación. Ejemplo:</p>
<p><code>&lt;html lang=&quot;es&quot; class=&quot; desktop portrait&quot;&gt;</code></p>
<p>Cuando cambio mi agente de usuario a iPad iOS 6, se muestra:</p>
<p><code>&lt;html lang=&quot;es&quot; class=&quot;ios ipad tablet portrait&quot;&gt;</code></p>
<p>A continuación, puede utilizar esas clases para dar estilo a su sitio web en consecuencia.</p>
<p>Al mismo tiempo, en JavaScript, puedes acceder a la misma información así:</p>
<pre><code class="language-javascript">device.portrait() === true
device.landscape() === false
device.mobile() === false
device.tablet() === false
device.ipad() === false
device.ipod() === false
device.iphone() === false
device.android() === false
device.androidTablet() === false
device.blackberryTablet() === false
</code></pre>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/detecting-the-client-device-easily-with-device-js/images/device-js.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cargador Javascript con promises]]></title>
            <link>https://www.joanmira.com/es/blog/javascript-loader-with-promises</link>
            <guid>https://www.joanmira.com/es/blog/javascript-loader-with-promises</guid>
            <pubDate>Sat, 04 Jul 2015 00:00:00 GMT</pubDate>
            <description><![CDATA[Una interesante técnica para cargar dinámicamente archivos JavaScript externos]]></description>
            <content:encoded><![CDATA[<p>Hace unos días, mientras refactorizaba este sitio web, me encontré con <a href="http://liamnewmarch.co.uk/promises/">una técnica interesante</a> para cargar scripts JS usando promesas. Mi objetivo era cargar los scripts del juego de la página principal sólo en los dispositivos de escritorio (para minimizar el impacto de la carga en los móviles).</p>
<p>La parte de detección de dispositivos se puede hacer así:</p>
<pre><code class="language-javascript">isMobile: function() {
    var isMobile = false;
    if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) isMobile = true;

    return isMobile;
}
</code></pre>
<p>Mientras que la carga del script se puede hacer en una secuencia o todo a la vez utilizando el siguiente script:</p>
<pre><code class="language-javascript">promises: [],
loadScript: function(url, parallel) {

    var promise = new Promise(function(resolve, reject) {

        var script = document.createElement(&#39;script&#39;);
        script.src = url;

        script.addEventListener(&#39;load&#39;, function() {
              resolve(script);
        }, false);

        script.addEventListener(&#39;error&#39;, function() {
              reject(script);
        }, false);

        document.body.appendChild(script);
    });

    if (parallel) utils.promises.push(promise);
        else return promise;
    },

    allLoaded: function(callback) {
        Promise.all(utils.promises).then(callback);
    }
}
</code></pre>
<p>Y así es como cargaría los scripts:</p>
<pre><code class="language-javascript">JM_MODULES.utils.loadScript(&#39;//cdn.jsdelivr.net/phaser/2.2.2/phaser.min.js&#39;, false).then(function() {
    return JM_MODULES.utils.loadScript(&#39;/assets/js/starpach.js&#39;, false);
}).then(function() {
    JM_MODULES.starpach.init();
});
</code></pre>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/javascript-loader-with-promises/images/load-script.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Bikesafe en Londres]]></title>
            <link>https://www.joanmira.com/es/blog/bikesafe-in-london</link>
            <guid>https://www.joanmira.com/es/blog/bikesafe-in-london</guid>
            <pubDate>Thu, 28 May 2015 00:00:00 GMT</pubDate>
            <description><![CDATA[Mejorando mi estilo de conducción gracias a los consejos de la policía inglesa]]></description>
            <content:encoded><![CDATA[<p>Hey!, amigos moteros, cómo os va la vida? Tenéis algún viaje programado para este verano?</p>
<p>Hoy he pasado el día con varios motoristas de la <a href="http://content.met.police.uk/Home">Metropolitan Police</a> de Londres, los cuales organizan unos cursos de seguridad en la conducción de motos llamados <a href="http://www.bikesafe-london.co.uk/">Bikesafe</a>.</p>
<p>Primero hemos tenido una sesión teórica, en la cual nos han explicado, con vídeos y ejemplos en una pizarra, los accidentes más comunes (cuando un coche no te ve y se cruza delante tuya).</p>
<p>Luego hemos ido a comer a <a href="http://www.frankieandbennys.com/">Franky &amp; Benny&#39;s</a> con las motos (comida incluida). Un paseo corto. Cada instructor tenia asignado dos motoristas, los cuales se iban turnando para ir en cabeza del grupo. De esta forma, el instructor podia observar el estilo de conducción del que iba en cabeza.</p>
<p>Después de comer hemos ido por unas carreteras de <a href="http://en.wikipedia.org/wiki/Essex">Essex</a> (región al este de Londres) con muchas curvas. Ha sido un paseo de hora y media con bastantes cambios de velocidad y &quot;tumbadas&quot; interesantes en las curvas.</p>
<p>Para terminar, hemos vuelto al <a href="http://www.jacklilley.com/">concesionario de Triumph de Jack Lilley</a> donde habíamos tenido la clase teórica. Allí nos han dado un pack con algunos regalitos (incluido un libro sobre conducción avanzada de motos) y nos han comentado que tal lo habíamos hecho durante el día.</p>
<p>En resumen, ha sido una gran experiencia que recomiendo a todos los motoristas que vivan en Reino Unido.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/bikesafe-in-london/images/bikesafe.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Tutorial: cómo crear un juego multijugador tipo trivial con Sails.js]]></title>
            <link>https://www.joanmira.com/es/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js</link>
            <guid>https://www.joanmira.com/es/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js</guid>
            <pubDate>Sat, 29 Nov 2014 00:00:00 GMT</pubDate>
            <description><![CDATA[Mi experiencia personal trabajando con Socket.io y este nuevo framework full-stack]]></description>
            <content:encoded><![CDATA[<style>
.left .gatsby-resp-image-wrapper {
  float: right;
  margin-left: 30px !important;
  margin-bottom: 30px;
  width: 178px;
}
</style>

<p><a class="btn external" role="button" href="http://quizwars.herokuapp.com/" target="_blank">Lanzar QuizWars</a>
<a class="btn github" role="button" href="https://github.com/gazpachu/quizwars" target="_blank">Código fuente</a></p>
<h3 id="1-introducción">1. Introducción</h3>
<p>Este tutorial pretende explicar cómo construir un juego como <a href="http://quizwars.herokuapp.com">Quiz Wars</a> con el framework MVC <a href="http://sailsjs.org">Sails.js</a>. Quiz Wars es una aplicación web responsiva multijugador en tiempo real para resolver cuestionarios. El objetivo es ser el más rápido respondiendo a las preguntas del quiz y ganar a otros jugadores. Se ha desarrollado intentando seguir los estándares de Sapient Dev en la medida de lo posible, con un enfoque mobile-first en mente y una estructura de patrón de módulos para el frontend. Actualmente, está en las primeras etapas de desarrollo, pero el viaje principal del usuario para entrar y terminar un quiz con otros jugadores está funcionando en cualquier navegador/dispositivo.</p>
<h3 id="característicasreglas-actuales">Características/reglas actuales</h3>
<ul>
<li>Base de datos de concursos flexible y escalable basada en archivos JSON (ver /assets/data/javascript.json)</li>
<li>Autenticación de usuarios (registro e inicio de sesión) con encriptación de contraseñas</li>
<li>Sala de chat con mensajes de estado del sistema</li>
<li>Geolocalización basada en la dirección IP del socket (de momento no funciona en Heroku)</li>
<li>Un número ilimitado de jugadores puede jugar al mismo tiempo</li>
<li>Se requiere un mínimo de 2 jugadores con un estado &quot;listo&quot; para comenzar un concurso</li>
</ul>
<h3 id="características-futuras">Características futuras</h3>
<ul>
<li>Soporte para diferentes salas de chat/concurso</li>
<li>Invitaciones basadas en la URL para jugar a un cuestionario específico</li>
<li>Soporte para múltiples cuestionarios (por el momento, si un cuestionario ya está en marcha, el inicio de un segundo cuestionario rompería el primero)</li>
<li>Construir un widget para incrustar los cuestionarios en otros sitios web</li>
<li>Añadir muchos más cuestionarios sobre diferentes temas: diseño, fotografía, negocios, UX y, por supuesto, codificación.</li>
<li>Añadir una función de tipo Pictionary: un usuario dibuja y los demás tienen que adivinarlo</li>
<li>Clasificación global de las puntuaciones de los usuarios</li>
<li>Posibilidad de añadir equipos/clanes y competiciones</li>
<li>Lista de concursos más populares</li>
<li>Mejorar el chat (por ejemplo, &quot;el usuario está escribiendo...&quot;)</li>
</ul>
<h3 id="tech-stack">Tech stack</h3>
<ul>
<li><strong>Backend</strong>: Sails.js (basado en Express, Node.js, Waterline ORM y Socket.io)</li>
<li><strong>Frontend</strong>: HTML5, LESS, JavaScript, jQuery, EJS, Bootstrap, Parsley</li>
<li><strong>Herramientas</strong>: Grunt, Git, Heroku, Bitbucket</li>
</ul>
<h3 id="requisitos">Requisitos</h3>
<p>Este tutorial asume que el lector se siente cómodo programando con Javascript, archivos JSON, HTML, LESS y jQuery.</p>
<h3 id="2-acerca-de-sailsjs">2. Acerca de Sails.js</h3>
<p>Sails es un framework MVC para gestionar todo el pipeline de desarrollo de una aplicación (frontend y backend). Facilita la construcción de aplicaciones Node.js personalizadas y de nivel empresarial. Está diseñado para emular el conocido patrón MVC de marcos como Ruby on Rails, pero con soporte para los requisitos de las aplicaciones modernas: APIs basadas en datos con una arquitectura escalable y orientada a servicios. Es especialmente bueno para construir chats, cuadros de mando en tiempo real o juegos multijugador; pero puedes usarlo para cualquier proyecto de aplicación web, de arriba a abajo. Estas son algunas de sus características:</p>
<ul>
<li><strong>Es 100% Javascript</strong></li>
<li><strong>Puedes usar cualquier sistema de base de datos</strong>: Sails incluye un potente ORM, Waterline, que proporciona una sencilla capa de acceso a datos que simplemente funciona, sin importar la base de datos que estés utilizando</li>
<li><strong>Generación automática de APIs REST</strong>: Sails viene con planos que ayudan a poner en marcha el backend de tu aplicación sin tener que escribir ningún código</li>
<li><strong>Soporte de WebSocket</strong>: Sails traduce los mensajes de socket entrantes por ti</li>
<li><strong>Políticas de seguridad reutilizables</strong>: Sails proporciona seguridad básica y control de acceso basado en roles por defecto</li>
<li><strong>Agnóstico de frontend</strong>: Sails está diseñado para ser compatible con cualquier estrategia de frontend; ya sea Angular, Backbone, iOS/ObjC, Android/Java, Windows Phone, o algo totalmente distinto</li>
<li><strong>Pipeline de assets flexible</strong>: Sails se entrega con Grunt, lo que significa que todo el flujo de trabajo de los activos del frontend es completamente personalizable</li>
</ul>
<h3 id="3-instalación-de-sailsjs">3. Instalación de Sails.js</h3>
<p>Quiz Wars se basa en Sails v0.10. Simplemente <a href="http://sailsjs.org/#/getStarted">sigue el tutorial oficial de Sails.js</a> para instalar Node.js en tu sistema operativo preferido.</p>
<p>Una vez que tengas Node.js instalado, procede a instalar Sails.js escribiendo lo siguiente en tu consola. Nota: en Windows no es necesario usar &quot;sudo&quot;.</p>
<p><code>sudo npm -g install sails</code></p>
<p>Descarga o clona el <a href="https://github.com/gazpachu/quizwars">código fuente de Quiz Wars</a> y extrae su contenido en la ubicación que prefieras</p>
<p>Nota: Si estuvieras creando una nueva aplicación Sails.js con la estructura de carpetas y plantillas por defecto, entonces podrías escribir</p>
<p><code>sails new testProject</code>.</p>
<p>En tu consola, navega hasta la carpeta anterior y escribe lo siguiente para instalar las dependencias (módulos de Node). Estos están definidos en &quot;package.json&quot;</p>
<p><code>npm install</code></p>
<p>Una vez que tenemos todos los archivos y las dependencias descargadas, podemos proceder a iniciar el servidor Node y la app</p>
<p><code>sails lift</code></p>
<p>En este punto, si visitas <a href="http://localhost:1337">http://localhost:1337</a> verás el Quiz Wars en funcionamiento o la página de inicio por defecto si has creado un nuevo proyecto</p>
<h3 id="4-estructura-de-la-carpeta-sailsjs">4. Estructura de la carpeta Sails.js</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/folder-structure_fqfmgc.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/folder-structure_fqfmgc.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/folder-structure_fqfmgc.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/folder-structure_fqfmgc.png" />
          <img class="image" src="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/folder-structure_fqfmgc.png" alt="Estructura de carpetas" loading="lazy">
        </picture>
        <figcaption>Estructura de carpetas</figcaption>
      </figure></p>
<ul>
<li><p><strong>/.tmp/public</strong>: donde se compilan los archivos de distribución. Estos archivos son los que vemos cuando cargamos el sitio web</p>
</li>
<li><p><strong>/api</strong>: <strong>todos los archivos del backend</strong>. En la carpeta &quot;policies&quot; se almacenan las reglas de acceso de los usuarios de la aplicación. &quot;responses&quot; contiene archivos como los errores del servidor web (404, 403, 500, etc). Podemos incluir en esta carpeta las funciones que se encargan de tareas específicas como decidir cómo gestionar los usuarios con diferentes niveles de acceso. Se podría hacer en el controlador, pero es una buena práctica no inflar los controladores con mucha lógica de negocio.</p>
</li>
<li><p><strong>/activos/datos</strong>: Archivos JSON con las preguntas del juego</p>
</li>
<li><p><strong>/assets/images</strong>: todas las imágenes</p>
</li>
<li><p><strong>/assets/styles</strong>: archivos LESS</p>
</li>
<li><p><strong>/accesorios/js</strong>: <strong>toda la lógica del frontend</strong> y sus dependencias javascript</p>
</li>
<li><p><strong>/config</strong>: todos los archivos de configuración</p>
</li>
<li><p><strong>/tasks</strong>: todas las tareas de Grunt</p>
</li>
<li><p><strong>/view</strong>: todo el marcado HTML de nuestras páginas</p>
</li>
</ul>
<h3 id="otros-archivos-importantes">Otros archivos importantes</h3>
<ul>
<li><strong>&quot;/config/sockets.js &quot;</strong>: este archivo tiene dos métodos, &quot;onConnect&quot; y &quot;onDisconnect&quot;. We use these methods to handle the socket connections</li>
<li><strong>&quot;/config/models.js &quot;</strong>: este fichero nos permite especificar qué conector de BD queremos utilizar y la forma en que queremos migrar los datos</li>
<li><strong>&quot;/config/routes.js &quot;</strong>: este archivo nos permite conectar las URLs con las vistas y los endpoints con los métodos del controlador</li>
</ul>
<pre><code class="language-javascript">module.exports.routes = {
    // HTML Views
    &#39;/&#39;: { view: &#39;index&#39; },
    &#39;/quiz&#39;: { view: &#39;quiz&#39; },

    // Endpoints
    &#39;post /login&#39;: &#39;UserController.login&#39;,
    &#39;post /signup&#39;: &#39;UserController.signup&#39;,
    &#39;/logout&#39;: &#39;UserController.logout&#39;,
};
</code></pre>
<h3 id="5-diagrama-de-flujo">5. Diagrama de flujo</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-flow-diagram_bggdcc.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-flow-diagram_bggdcc.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-flow-diagram_bggdcc.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-flow-diagram_bggdcc.png" />
          <img class="image" src="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-flow-diagram_bggdcc.png" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<h3 id="6-diagrama-de-arquitectura">6. Diagrama de arquitectura</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-architecture-diagram_ipzw4b.png" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-architecture-diagram_ipzw4b.png" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-architecture-diagram_ipzw4b.png" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-architecture-diagram_ipzw4b.png" />
          <img class="image" src="/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/quiz-wars-architecture-diagram_ipzw4b.png" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<h3 id="7-el-mapa-del-sitio-el-diseño-y-las-vistas">7. El mapa del sitio, el diseño y las vistas</h3>
<p>Siempre que construyo un nuevo proyecto, lo primero que se me ocurre es el mapa del sitio. Este documento elemental es muy importante para crear una imagen en tu mente de cómo va a ser el recorrido del usuario y cómo están interconectadas las páginas. En Quiz Wars, el mapa del sitio es muy sencillo. Sólo hay dos vistas/páginas, &quot;índice&quot; y &quot;quiz&quot;. El recorrido del usuario consiste en entrar en el sistema o registrarse como nuevo usuario. A continuación se le redirige a la página del cuestionario, donde permanecerá hasta el final de su sesión.</p>
<p>Por defecto, Sails está configurado para utilizar EJS (Embedded Javascript) como motor de visualización. La sintaxis de EJS es muy convencional - si has trabajado con php, asp, erb, gsp, jsp, etc., sabrás inmediatamente lo que estás haciendo.</p>
<ul>
<li><strong>&quot;/view/index.ejs &quot;</strong>: esta es la página de inicio, donde tenemos dos formularios (que se activan con jQuery), el de inicio de sesión y el de registro. El primer formulario envía datos al punto final &quot;/login&quot;, que está conectado con el método &quot;login&quot; en el controlador &quot;user&quot;. El segundo envía los datos a &quot;/signup&quot;, que está conectado al método &quot;signup&quot; del controlador &quot;user&quot;.</li>
<li><strong>&quot;view/quiz.ejs &quot;</strong>: esta página contiene el resto del contenido disponible en el sitio web. Hay tres paneles: la tabla de puntuaciones, el panel del concurso y el panel del chat</li>
</ul>
<p>Las vistas hacen uso de <strong>&quot;/view/layout.ejs &quot;</strong>, que es la plantilla que contiene los elementos comunes, como las etiquetas meta y link, la declaración del cuerpo y todas las dependencias JS:</p>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Quiz Wars&lt;/title&gt;
        &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, maximum-scale=1&quot;&gt;
        &lt;link rel=&quot;stylesheet&quot; href=&quot;/styles/bootstrap.min.css&quot;&gt;
        &lt;link rel=&quot;stylesheet&quot; href=&quot;/styles/importer.css&quot;&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;header id=&quot;logo&quot;&gt;&lt;/header&gt;
        &lt;script src=&quot;/js/dependencies/jquery.min.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;/js/dependencies/parsley.min.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;/js/dependencies/sails.io.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;/js/app.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;/js/user.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;/js/chat.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;/js/quiz.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;/js/events.js&quot;&gt;&lt;/script&gt;
        &lt;%- body %&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p>El soporte de layout sólo está implementado para el motor de vistas EJS. Si prefieres usar un motor diferente (jade, handlebars, mustache underscore, etc), puedes cambiarlo en &quot;<strong>/config/views.js</strong>&quot;.</p>
<h3 id="8-la-página-de-inicio">8. La página de inicio</h3>
<p>La página de inicio contiene sólo dos formularios HTML clásicos para iniciar la sesión del usuario o registrarlo. La única lógica habitual es la evaluación de la sesión para determinar si el usuario ya está conectado:</p>
<pre><code class="language-javascript">&lt;% if (req.session.me) { %&gt;
    &lt;a href=&quot;/quiz&quot;&gt;Quiz&lt;/a&gt; | &lt;a href=&quot;/logout&quot;&gt;Logout&lt;/a&gt;
&lt;% } else { %&gt;
  &lt;!-- show the login/signup form --&gt;
&lt;% } %&gt;
</code></pre>
<p>En el ejemplo de código anterior, estamos evaluando si el objeto de sesión tiene los datos del usuario o no. Asignamos los datos del usuario a la sesión después de un inicio de sesión exitoso en <strong>&quot;/api/responses/login.js&quot;</strong> -&gt; req.session.me = user.id;</p>
<p>Otro aspecto que me gustaría destacar es la validación de formularios realizada por <a href="http://parsleyjs.org">parsleyjs</a>. Esto se hace agregando atributos a los campos de entrada como <code>data-parsley-trigger=&quot;keyup&quot;</code>, <code>data-parsley-maxlength=&quot;30&quot;</code> o requerido.</p>
<p>Nota: actualmente no hay informes de errores cuando el usuario intenta iniciar sesión con el nombre de usuario/contraseña incorrectos.</p>
<h3 id="9-la-página-del-cuestionario">9. La página del cuestionario</h3>
<p>El marcado es bastante sencillo. Hay <strong>tres paneles</strong>: la tabla de puntuación <code>&lt;div id=&quot;players-panel&quot;&gt;&lt;/div&gt;</code>, el panel de cuestionario <code>&lt;div id=&quot;quiz-panel&quot;&gt;&lt;/div&gt;</code> y el panel de chat <code>&lt;div id=&quot;chat-panel&quot;&gt;&lt;/div&gt;</code>. Nuevamente, solo mostramos los contenidos si el usuario tiene una sesión activa, de lo contrario, el usuario verá el mensaje <em>No ha iniciado sesión</em>.</p>
<p>El menú desplegable del cuestionario contiene los nombres de los archivos JSON como valores:</p>
<pre><code class="language-html">&lt;select id=&quot;quiz-dropdown&quot; class=&quot;form-control&quot;&gt;
  &lt;option value=&quot;javascript.json&quot;&gt;Javascript Quiz&lt;/option&gt;
  &lt;option value=&quot;html5.json&quot;&gt;HTML5 Quiz (not yet ready)&lt;/option&gt;
&lt;/select&gt;
</code></pre>
<p>Y el botón para reiniciar el concurso, que tiene una simple recarga de la página: <code>onClick=&quot;window.location.reload()&quot;</code></p>
<h3 id="10-el-modelo-de-usuario">10. El modelo de usuario</h3>
<p>En un framework MVC, tenemos modelos, vistas y controladores. Los modelos nos permiten definir la lógica que interactuará con nuestra BD. Sails.js utiliza un ORM (aunque ellos prefieren llamarlo &quot;un nuevo tipo de motor de almacenamiento y recuperación&quot;) llamado <a href="https://github.com/balderdashy/waterline">Waterline</a>. Proporciona una API uniforme para acceder a cosas de diferentes tipos de bases de datos, protocolos y APIs de terceros. Esto significa que se escribe el mismo código para obtener y almacenar cosas como los usuarios, ya sea en Redis, MySQL, LDAP, MongoDB o Postgres. Waterline se esfuerza por heredar las mejores partes de los ORM como ActiveRecord, Hibernate y Mongoose, pero con una perspectiva nueva y haciendo hincapié en la modularidad, la capacidad de prueba y la coherencia entre adaptadores.</p>
<p>En Quiz Wars, la BD se basa en el sistema de archivos (el método por defecto). Desde el punto de vista del desarrollo, es estupendo porque no tenemos que preocuparnos de crear tablas y conectar con la BD, además de que podemos restablecer los datos muy fácilmente seleccionando la tercera opción de migración al levantar la aplicación mediante &quot;sails lift&quot;. Para ver las opciones de migración hay que comentar el valor &quot;migrate&quot; en <strong>&quot;/config/models.js&quot;</strong>.</p>
<p>Ahora, vamos a estudiar el modelo de usuario de Quiz Wars (el único modelo que necesitamos) en <strong>&quot;/api/models/User.js&quot;</strong>:</p>
<pre><code class="language-javascript">module.exports = {
    autosubscribe: [&#39;destroy&#39;],

    attributes: {
        name: {
            type: &#39;string&#39;,
            required: true
        },
        email: {
            type: &#39;email&#39;,
            unique: true,
            required: true
        },
        password: {
            type: &#39;string&#39;,
            required: true,
            minLength: 6
        },
        avatar: {
            type: &#39;string&#39;,
            required: false
        },
        status: {
            type: &#39;string&#39;,
            defaultsTo: &#39;offline&#39;,
            required: false
        },
        score: {
            type: &#39;integer&#39;,
            defaultsTo: 0,
            required: false
        },
        ip: {
            type: &#39;string&#39;,
            required: false
        }
    }
};
</code></pre>
<p>La creación de un modelo es muy similar (conceptualmente hablando) a la creación de una nueva tabla en una BD. Cada atributo puede tener ciertas propiedades, como un tipo, ser único o requerido, tener un estado por defecto, una longitud mínima, etc. Para obtener una lista completa de las propiedades de los atributos, puede consultar la <a href="https://github.com/balderdashy/waterline-docs/blob/master/models.md">documentación del modelo de línea de flotación</a>. Cada modelo sirve de interfaz para comunicar nuestros controladores con nuestra BD.</p>
<p>En este modelo, estamos almacenando la información básica de cada usuario, siendo el <strong>estado</strong> el más importante. Un usuario puede tener un estado a la vez y puede ser: &quot;<strong>online</strong>&quot;, cuando el usuario está conectado pero no está listo para jugar, &quot;<strong>ready</strong>&quot;, cuando el usuario ha confirmado que quiere unirse al próximo quiz y &quot;<strong>playing</strong>&quot;, cuando el usuario está jugando actualmente a un quiz. Si el usuario tiene un estado &quot;offline&quot;, significa que no está conectado y por lo tanto no aparecerá en la tabla de puntuaciones/jugadores.</p>
<p>Además de los atributos, los modelos también contienen la lógica para consultar la BD. En Quiz Wars, tenemos dos métodos (en el mismo archivo donde tenemos los atributos), signup y attemptLogin:</p>
<pre><code class="language-javascript">signup: function (inputs, cb) {
  var password = inputs.password;
  var hasher = require(&quot;password-hash&quot;);
  password = hasher.generate(password);

  // Create a user
  User.create({
      name: inputs.name,
      email: inputs.email,
      password: password,
      avatar: inputs.avatar
    )
    exec(cb);
},

attemptLogin: function (inputs, cb) {

    // Create a user
    User.findOne({
        email: inputs.email
    })
    .exec(cb);
}
</code></pre>
<p>El método &quot;signup&quot; utiliza un módulo del nodo llamado &quot;password-hash&quot;. Este módulo crea un hash a partir de la cadena de contraseñas que podemos almacenar de forma segura en la BD. Una vez que nuestros datos están listos para ser almacenados, llamamos a la consulta &quot;create&quot; para almacenarlos en la BD. Para una lista completa de consultas que podemos utilizar con Waterline, por favor, consulte la <a href="https://github.com/balderdashy/waterline-docs/blob/master/query.md">documentación de consultas</a>. La consulta &quot;create&quot; fallará si la dirección de correo electrónico ya está en la BD debido a la propiedad &quot;unique&quot; establecida en el atributo email.</p>
<p>El método &quot;attemptLogin&quot; trata de encontrar un usuario en la base de datos con la misma dirección de correo electrónico que se ha pasado como parámetro. Observa que el manejo de errores no está incluido en el modelo. Eso es un trabajo para el controlador...</p>
<h3 id="11-el-controlador-de-usuario">11. El controlador de usuario</h3>
<p>El controlador de Usuario encapsula toda la lógica de la aplicación entre la página de inicio y la página del cuestionario y el modelo de Usuario. Todos sus métodos, o bien llaman al modelo para realizar una consulta en la BD, o bien llaman a una respuesta o emiten un evento de socket. Veámoslos un poco más en detalle:</p>
<ul>
<li><strong>login</strong>&gt;: este método básicamente llama a &quot;api/responses/login.js&quot; con los valores de entrada del formulario de login</li>
<li><strong>logout</strong>: asignamos null a la sesión y redirigimos al usuario a la página de inicio</li>
<li><strong>signup</strong>: llama al método de registro del modelo de usuario, maneja la respuesta devuelta y redirige al usuario si el registro es exitoso</li>
<li><strong>chat</strong>: emite un evento socket con el verbo &quot;messaged&quot; y los parámetros pasados a la función. Este mensaje será recibido en el frontend por todos los usuarios conectados</li>
<li><strong>estado</strong>: este método se encarga de actualizar el estado de un usuario determinado o de un grupo de usuarios dependiendo de si el valor del atributo ID es un número o una cadena respectivamente. El proceso para actualizar un usuario es: consultar la BD, es decir user.find(...) -&gt; loop users, users.forEach(...) -&gt; asignar nuevo valor, user.status = req.param(&#39;status&#39;) -&gt; save(). Una vez actualizado el usuario en la BD, emitimos un evento socket para informar al resto de usuarios. Fíjate que aún no se ha implementado el manejo de errores</li>
<li><strong>start</strong>: emite un evento de socket para informar al resto de los usuarios de que el concurso ha comenzado. Al mismo tiempo, les enviamos una secuencia de números que corresponden a los índices aleatorios de las preguntas que ha generado el usuario que ha iniciado el cuestionario</li>
<li><strong>puntuación</strong>: un método sencillo para transmitir a todos los sockets conectados que un determinado usuario tiene una nueva puntuación. De momento no estamos guardando la puntuación en la BD, pero esto será necesario si queremos implementar un ranking persistente</li>
</ul>
<pre><code class="language-javascript">module.exports = {
    login: function (req, res) {

        // See `api/responses/login.js`
        return res.login({
            email: req.param(&#39;email&#39;),
            password: req.param(&#39;password&#39;),
            successRedirect: &#39;/quiz&#39;,
            invalidRedirect: &#39;/&#39;
        });
    },

    logout: function (req, res) {

        req.session.me = null;

        // If this is not an HTML-wanting browser, e.g. AJAX/sockets/cURL/etc.,
        // send a simple response letting the user agent know they were logged out
        // successfully.
        if (req.wantsJSON) {
            return res.ok(&#39;Logged out successfully!&#39;);
        }

        // Otherwise if this is an HTML-wanting browser, do a redirect.
        return res.redirect(&#39;/&#39;);
    },

    signup: function (req, res) {

        // Attempt to signup a user using the provided parameters
        User.signup({
            name: req.param(&#39;name&#39;),
            email: req.param(&#39;email&#39;),
            password: req.param(&#39;password&#39;),
            avatar: req.param(&#39;avatar&#39;),
        }, function (err, user) {
            // res.negotiate() will determine if this is a validation error
            // or some kind of unexpected server error, then call `res.badRequest()`
            // or `res.serverError()` accordingly.
            if (err) return res.negotiate(err);

            // Go ahead and log this user in as well.
            // We do this by &quot;remembering&quot; the user in the session.
            // Subsequent requests from this user agent will have `req.session.me` set.
            req.session.me = user.id;
            req.session.name = user.name;


            // If this is not an HTML-wanting browser, e.g. AJAX/sockets/cURL/etc.,
            // send a 200 response letting the user agent know the signup was successful.
            if (req.wantsJSON) {
                return res.ok(&#39;Signup successful!&#39;);
            }

            // Otherwise if this is an HTML-wanting browser, redirect to /welcome.
            return res.redirect(&#39;/quiz&#39;);
        });
    },

    chat: function (req, res) {
        sails.io.sockets.emit(&quot;chat&quot;, {verb:&quot;messaged&quot;, data:{from: req.param(&#39;sender&#39;), msg: req.param(&#39;msg&#39;)}})
    },

    status: function (req, res) {

        if (typeof req.param(&#39;id&#39;) === &#39;string&#39;) { // We want to change the status of a group of users

            User.find({status: req.param(&#39;id&#39;)}).exec(function(err, users) {
                if (err) {
                    return res.negotiate(err);
                }
                else {
                    users.forEach(function (user) {
                        user.status = req.param(&#39;status&#39;);
                        user.save();
                    });
                }
            });
        }
        else {
            User.findOne({id: req.param(&#39;id&#39;)}).exec(function(err, user) {
                if (err) {
                    return res.negotiate(err);
                }
                else {
                    req.session.me.status = req.param(&#39;status&#39;);
                    user.status = req.param(&#39;status&#39;);
                    user.save();
                }
            });
        }

        sails.io.sockets.emit(&quot;chat&quot;, {verb:&quot;changedStatus&quot;, data:{id: req.param(&#39;id&#39;), status: req.param(&#39;status&#39;)}})
    },

    start: function(req, res) {
        sails.io.sockets.emit(&quot;chat&quot;, {verb:&quot;startQuiz&quot;, data:{user: req.param(&#39;user&#39;), sequence: req.param(&#39;sequence&#39;)}})
    },

    score: function(req, res) {

        User.findOne({id: req.param(&#39;id&#39;)}).exec(function(err, user) {
            if (err) {
                return res.negotiate(err);
            }
            else {
                /*user.score += 1;
                user.save();*/
                sails.io.sockets.emit(&quot;chat&quot;, {verb:&quot;score&quot;, data:{id: req.param(&#39;id&#39;), name: user.name}})
            }
        });
    }
};
</code></pre>
<h3 id="12-la-respuesta-de-inicio-de-sesión">12. La respuesta de inicio de sesión</h3>
<p>¿Por qué necesitamos separar esta lógica del controlador? Esta puede ser la primera pregunta que te venga a la cabeza y en muchos casos, sería preferible.  Este ejemplo utiliza una respuesta personalizada &quot;gorda&quot; para demostrar cómo podríamos hacerlo si, por ejemplo, necesitamos que el backend soporte múltiples roles de usuario, con diferentes comportamientos de login. Podríamos necesitar enviar de vuelta algunos tipos diferentes de códigos de éxito/fracaso, con diferentes mensajes basados en el resultado. En ese caso, lo más sensato sería crear una versión personalizada de la lógica aquí en lugar de en la acción del controlador correspondiente.</p>
<p>Esta función de inicio de sesión en <code>api/responses/login.js</code> intenta iniciar la sesión del usuario, verifica que la contraseña del formulario de inicio de sesión coincide con el hash de la DB, asigna el ID y el nombre del usuario a la sesión y maneja cualquier posible error/respuesta.</p>
<pre><code class="language-javascript">module.exports = function login(inputs) {
    inputs = inputs || {};

    // Get access to `req` and `res`
    var req = this.req;
    var res = this.res;

    // Look up the user
    User.attemptLogin({
        email: inputs.email
    }, function (err, user) {

        if (err) return res.negotiate(err);
        if (!user) {

            if (req.wantsJSON || !inputs.invalidRedirect) {
                return res.badRequest(&#39;Invalid username/password combination.&#39;);
            }
            return res.redirect(inputs.invalidRedirect);
        }

        var password = inputs.password;
        var hasher = require(&quot;password-hash&quot;);
        if (hasher.verify(password, user.password)) {

            // &quot;Remember&quot; the user in the session
            // Subsequent requests from this user agent will have `req.session.me` set.
            req.session.me = user.id;
            req.session.name = user.name;

            // If this is not an HTML-wanting browser, e.g. AJAX/sockets/cURL/etc.,
            // send a 200 response letting the user agent know the login was successful.
            // (also do this if no `successRedirect` was provided)
            if (req.wantsJSON || !inputs.successRedirect) {
                return res.ok();
            }

            // Otherwise if this is an HTML-wanting browser, redirect to /.
            return res.redirect(inputs.successRedirect);
        }
        else {
            if (req.wantsJSON || !inputs.invalidRedirect) {
                return res.badRequest(&#39;Invalid username/password combination.&#39;);
            }
            return res.redirect(inputs.invalidRedirect);
        }
    });
};
</code></pre>
<h3 id="13-el-archivo-de-configuración-socketjs">13. El archivo de configuración socket.js</h3>
<p>El archivo ubicado en <code>/config/socket.js</code> se utiliza para saber si un usuario ya tiene una sesión creada. Digamos que te registras en la página y tienes un socket abierto. Luego, por la razón que sea, pierdes la conexión a Internet y tus sockets se desconectan. Cuando tu conexión está de vuelta y recargas la página, el primer método que se disparará cuando tu socket vuelva a estar vivo es &quot;onConnect&quot;. Aquí comprobaremos si tu sesión ya está registrada en la BD y si ese es el caso reanudaremos tu actividad tal y como estaba antes de que se interrumpiera tu conexión.</p>
<p>OnConnect también te suscribirá para ver los cambios en el Modelo de Usuario, guardar tu dirección IP y guardar tus datos en el objeto de sesión.</p>
<p>OnDisconnect establecerá tu estado como &quot;offline&quot; y transmitirá al resto de usuarios que has abandonado la aplicación.</p>
<pre><code class="language-javascript">onConnect: function(session, socket) {
    // Proceed only if the user is logged in
    if (session.me) {

        User.findOne({id: session.me}).exec(function(err, user) {

            var socketId = sails.sockets.id(socket);

            user.status = &#39;online&#39;;
            user.ip = socket.handshake.address.address;
            user.save(function(err) {
              // Publish this user creation event to every socket watching the User model via User.watch()
              User.publishCreate(user, socket);
            });

            // Create the session.users hash if it doesn&#39;t exist already
            session.users = session.users || {};

            // Save this user in the session, indexed by their socket ID.
            // This way we can look the user up by socket ID later.
            session.users[socketId] = user;

            // Persist the session
            session.save();

            // Get updates about users being created
            User.watch(socket);

            // Send a message to the client with information about the new user
            sails.sockets.emit(socketId, &#39;hello&#39;, user);
        });
    }
}

onDisconnect: function(session, socket) {
     try {

         if (session.users !== undefined) {

             // Look up the user ID using the connected socket
             var socketId = sails.sockets.id(socket);
             var userId = session.users[socketId].id;

             if (userId) {

                 // Get the user instance
                 User.findOne(userId).exec(function(err, user) {

                     // Set the user offline
                     user.status = &#39;offline&#39;;
                     user.save();

                     // Publish the destroy event to every socket subscribed to this user instance
                     User.publishDestroy(user.id, null, {previous: user});
                 });
             }
         }
     } catch (e) {
          console.log(&quot;Error in onDisconnect: &quot;, e);
     }
}
</code></pre>
<h3 id="14-los-módulos-del-frontend">14. Los módulos del frontend</h3>
<p>Los módulos del frontend se encuentran en <code>/assets/js/</code>. Actualmente, tenemos <code>chat.js</code>, <code>events.js</code>, <code>quiz.js</code> y <code>user.js</code>. El punto de entrada de la aplicación se encuentra en <code>app.js</code>. Con el planteamiento básico actual del juego, sólo necesitamos una instancia de cada módulo que se ejecute al mismo tiempo porque un usuario determinado sólo puede jugar a un cuestionario a la vez. Pero si en el futuro queremos añadir más características, como múltiples salas de chat o mensajes privados, sería una buena idea refactorizar los módulos para que sean más flexibles.</p>
<h3 id="empecemos-con-appjs">Empecemos con app.js</h3>
<pre><code class="language-javascript">io.socket.on(&#39;connect&#39;, function socketConnected() {
    QW_MODULES.chat.init();
    QW_MODULES.quiz.init();
    QW_MODULES.user.init();
    QW_MODULES.events.init();

    io.socket.on(&#39;hello&#39;, function(data) {

        if (data) {
            window.me = data;

            io.socket.get(&#39;/user&#39;, QW_MODULES.user.updateUserList);
            io.socket.post(&#39;/user/chat&#39;, {sender: &#39;System&#39;, msg: data.name + &#39; joined&#39;});
        }
    });

    io.socket.on(&#39;user&#39;, function messageReceived(message) {

        switch (message.verb) {
            case &#39;created&#39;: QW_MODULES.user.addUser(message.data); break;
            case &#39;destroyed&#39;: QW_MODULES.user.removeUser(message.id); break;
            default: break;
        }
    });

    io.socket.on(&#39;chat&#39;, function messageReceived(message) {

        switch (message.verb) {
            case &#39;messaged&#39;: QW_MODULES.chat.receiveMessage(message.data); break;
            case &#39;changedStatus&#39;: QW_MODULES.chat.updateStatus(message.data); break;
            case &#39;startQuiz&#39;: QW_MODULES.quiz.loadQuiz(message.data); break;
            case &#39;score&#39;: QW_MODULES.chat.updateScore(message.data); break;
            default: break;
        }
    });
});

io.socket.on(&#39;disconnect&#39;, function() {
    io.socket.post(&#39;/user/chat&#39;, {sender: &#39;System&#39;, msg: me.name + &#39; left&#39;});
});
</code></pre>
<p>Lo primero que notarás es que no estamos usando &quot;onReady/onLoad&quot; para iniciar la aplicación. En este caso, he decidido utilizar el evento &quot;connect&quot; de la librería socket.io como punto de entrada para cargar todo lo demás. La razón de esto es evitar cargar la aplicación antes de que tengamos una conexión de socket. Si no hay un socket disponible por cualquier problema de conexión, entonces no cargamos la aplicación.</p>
<p>Desde el principio, cargamos todos los módulos del frontend con el prefijo <code>QW_MODULES</code>. Probablemente no los necesitemos todos en la página de login/signup, pero eso es parte de una etapa de optimización que no es necesaria ahora. Las siguientes tres funciones son callbacks de socket.io. Nos suscribimos a esos mensajes: &quot;hola&quot;, &quot;usuario&quot; y &quot;chat&quot;. Cada vez que el backend emita uno de esos mensajes, el frontend lo recibirá. Esto se llama el patrón <a href="http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">pub/sub</a> (publicar/suscribir). En algunos de estos callbacks, podemos encontrar que el mensaje tiene un verbo adjunto. Sails.js crea automáticamente eventos para verbos como &quot;created&quot;, &quot;destroyed&quot; y algunos más cuando interactuamos con los modelos. En este caso, estamos llamando a las funciones addUser y removeUser en nuestro módulo de usuario del frontend cada vez que el backend emite un evento automático cuando se crea o destruye un usuario. Esto es lo que hace que el framework sea tan potente.</p>
<p>El callback &quot;hola&quot; se dispara cuando se realiza una conexión exitosa. Si el usuario recarga la página, se disparará de nuevo. Ahora, desde el front-end también podemos emitir mensajes! eso es lo que hacemos en las líneas 13 y 14. La primera línea utiliza &quot;get&quot; para recuperar una lista de usuarios de la API del backend y la envía al método updateUserList del módulo de usuario del frontend. Sails.js genera vistas JSON automáticas de los controladores y sus acciones que son accesibles por la URL que coincide con el nombre del controlador &amp; action:</p>
<ul>
<li>Controlador &quot;User&quot;, acción &quot;index&quot; -&gt; /user</li>
<li>Controlador &quot;Usuario&quot;, acción &quot;chat&quot; -&gt; /usuario/chat</li>
</ul>
<p>Puedes probarlo tú mismo. Entra en Quiz Wars y visita <a href="http://localhost:1337/user">http://localhost:1337/user</a></p>
<p>El siguiente callback, &quot;chat&quot;, se utiliza para actualizar el juego y los mensajes del chat. Sinceramente, en lugar de &quot;chat&quot; podríamos haberlo llamado &quot;quiz&quot; o &quot;juego&quot;... Su propósito principal es actuar como un router virtual que redirige los mensajes a la función correcta del frontend.</p>
<p>Lamentablemente, el callback de &quot;desconexión&quot; no funciona :-( No estoy seguro de por qué. He intentado ponerlo dentro de la función &quot;connect&quot; pero no ha funcionado. Por favor, hazme saber si consigues que funcione. Lo estamos usando para mostrar un mensaje en la sala de chat cuando el usuario sale de la aplicación.</p>
<h3 id="el-módulo-de-usuario">El módulo de usuario</h3>
<p>Este módulo es bastante auto-explicativo. &quot;addUser&quot; y &quot;removeUser&quot; se encargan de actualizar la <code>&lt;table&gt;</code> de los usuarios añadiendo/quitando una <code>&lt;tr&gt;</code> y actualizando la UI (habilitando/deshabilitando el botón de preguntas). La función &quot;updateUserList&quot; restablece la tabla cuando un nuevo usuario se conecta a la aplicación o cuando alguien se va.</p>
<pre><code class="language-javascript">var QW_MODULES = (function (modules, $) {
    &quot;use strict&quot;;

    var self;

    var user = {

        init: function() {

            self = this;
        },

        // Add a user to the list of available users to play with
        addUser: function(user) {

            var found = false;

            // Check if the user is already in the table
            $(&#39;#status-table tr&#39;).each(function() {
                var hasUser = $(this).attr(&#39;id&#39;);

                if (hasUser !== undefined &amp;amp;&amp;amp; (&#39;user-&#39; + user.id == hasUser)) {
                    found = true;
                }
            });

            if (!found) {
                var $table = $(&#39;#status-table&#39;);
                var ready = (user.id == me.id) ? &#39;&lt;button type=&quot;button&quot; id=&quot;changeStatus&quot; class=&quot;btn btn-default btn-xs&quot;&gt;change&lt;/button&gt;&#39; : &#39;&#39;;
                var row = &#39;&lt;tr id=&quot;user-&#39;+user.id+&#39;&quot;&gt;&lt;td class=&quot;name&quot; data-avatar=&quot;&#39;+user.avatar+&#39;&quot;&gt;&#39;+user.name+&#39;&lt;/td&gt;
                          &lt;td&gt;&lt;img class=&quot;flag&quot; src=&quot;http://api.hostip.info/flag.php?ip=&#39;+user.ip+&#39;&quot; width=&quot;20&quot; height=&quot;14&quot; alt=&quot;&quot;&gt;
                          &lt;span class=&quot;status&quot; data-status=&quot;&#39;+user.status+&#39;&quot;&gt;&#39;+user.status+&#39;&lt;/span&gt;&#39;+ready+&#39;&lt;/td&gt;&lt;td class=&quot;score&quot;&gt;&#39;+user.score+&#39;&lt;/td&gt;&lt;/tr&gt;&#39;;
                $table.append(row);

                QW_MODULES.chat.updateUI();
            }
        },

        // Remove a user from the table of available users to play with, by sending
        // either a user object or a user ID.
        removeUser: function(user) {

            // Get the user&#39;s ID.
            var id = user.id || user;
            var userName = $(&#39;#user-&#39;+id).text();

            // Remove the corresponding element from the users table
            var userEl = $(&#39;#user-&#39;+id).remove();


            QW_MODULES.chat.updateUI();
        },

        // Add multiple users to the users list.
        updateUserList: function(users) {

            $(&#39;#status-table tbody tr&#39;).remove();

            users.forEach(function(user) {

                if ((typeof user.id === &#39;undefined&#39;) || (user.status === &#39;offline&#39;) || (typeof me === &#39;undefined&#39;)) {
                    return;
                }

                self.addUser(user);
            });
        }
    };

    // return as QuizWars Module
    modules.user = user;
    return  modules;

})(QW_MODULES || {}, jQuery);
</code></pre>
<h3 id="el-módulo-de-eventos">El módulo de eventos</h3>
<p>Este módulo crea todos los eventos de la interfaz de usuario de la aplicación. Están organizados por módulo: inicio de sesión/registro, usuario, chat y cuestionario.</p>
<pre><code class="language-javascript">var QW_MODULES = (function (modules, $) {
    &quot;use strict&quot;;

    var self;

    var events = {

        init: function() {

              // Login / Signup events
              $(&#39;#login-cta&#39;).on(&#39;click&#39;, function() {
                  $(&#39;#login&#39;).show();
                  $(&#39;#signup&#39;).hide();
              });

              $(&#39;#signup-cta&#39;).on(&#39;click&#39;, function() {
                  $(&#39;#login&#39;).hide();
                  $(&#39;#signup&#39;).show();
              });

              // Chat and User events
              $(&#39;#message&#39;).keyup(function (event) {
                  if (event.keyCode == 13) {
                        QW_MODULES.chat.triggerSendButton();
                  }
              });

              $(&#39;#status-table&#39;).on(&#39;click&#39;, &#39;#changeStatus&#39;, function() {
                  var status = &#39;ready&#39;;

                  if ($(this).parent().children(&#39;.status&#39;).attr(&#39;data-status&#39;) === &#39;ready&#39;) {
                        status = &#39;online&#39;;
                  }

                  io.socket.post(&#39;/user/status&#39;, {id: me.id, status: status});
              });

              // Quiz events
              $(&#39;#rules-cta&#39;).on(&#39;click&#39;, function() {
                  $(&#39;#rules&#39;).toggle();
              });

              $(&#39;#startQuiz&#39;).on(&#39;click&#39;, function() {

                  QW_MODULES.chat.writeMessage(&#39;System&#39;, me.name + &quot; started a quiz!&quot;);

                  $(&#39;#quiz-settings&#39;).hide();
                  $(&#39;#questions tr&#39;).remove();

                  io.socket.post(&#39;/user/status&#39;, {id: &#39;ready&#39;, status: &#39;playing&#39;});

                  QW_MODULES.quiz.generateSequence();
              });

              $(&#39;#questions&#39;).on(&#39;click&#39;, &#39;input[name=&quot;answer&quot;]&#39;, function() {
                  if ($(this).attr(&#39;disabled&#39;) !== &#39;disabled&#39;) {
                        QW_MODULES.quiz.checkAnswer();
                  }
              });
        }
    };

    // return as QuizWars Module
    modules.events = events;
    return  modules;

})(QW_MODULES || {}, jQuery);
</code></pre>
<h3 id="el-módulo-de-chat">El módulo de chat</h3>
<p>Este módulo se encarga de todas las interacciones que el usuario realiza con el sistema de chat. Fíjate que estamos enviando el mensaje a &quot;/usuario/chat&quot; que corresponde a la acción de Chat en el Controlador de Usuario. Me acabo de dar cuenta de que la función &quot;updateScore&quot; podría estar un poco fuera de lugar en este módulo; probablemente se encuentre mejor en el módulo Quiz. No obstante, esta función actualiza la puntuación en la tabla de jugadores y muestra la respuesta correcta a la pregunta actual.</p>
<pre><code class="language-javascript">var QW_MODULES = (function (modules, $) {
    &quot;use strict&quot;;

    var self;

    var chat = {

        systemMsg: [&#39;I don\&#39;t mean to be rude, but you are talking to yourself...&#39;,
                    &#39;Are you sure you want to continue doing this?&#39;,
                    &#39;I have all the time in the world...&#39;,
                    &#39;OK, this is getting weird.&#39;,
                    &#39;Stop it now&#39;,
                    &#39;Please, go and tell somebody to join&#39;,
                    &#39;http://www.itsgoodtotalk.org.uk/therapists&#39;],
        currentMsg: 0,

        init: function() {

              self = this;
        },

        triggerSendButton: function() {

              if ($(&#39;#message&#39;).val() !== &#39;&#39;) {
                  self.sendMessage(me.name, $(&#39;#message&#39;).val());

                  $(&#39;#message&#39;).val(&#39;&#39;);
              }
        },

        writeMessage: function(senderName, message) {

              var textarea = $(&#39;#messages&#39;);
              var currentdate = new Date();
              var message = currentdate.getHours() + &quot;:&quot; + (&#39;0&#39; + currentdate.getMinutes()).slice(-2) + &quot; &quot; + senderName+&#39;: &#39;+message+&#39;n&#39;;
              textarea.append(message);

              // Scroll to the bottom
              if(textarea.length) {
                  textarea.scrollTop(textarea[0].scrollHeight - textarea.height());
              }
        },

        sendMessage: function(senderName, message) {

              if( $(&#39;#status-table tr&#39;).length &gt; 2 ) {
                  io.socket.post(&#39;/user/chat&#39;, {sender: senderName, msg: message});
              }
              else {
                  self.writeMessage(&#39;System&#39;, systemMsg[currentMsg]);

                  if (currentMsg &lt; systemMsg.length -1) currentMsg++;                   else currentMsg = 0;               }         },         receiveMessage: function(data) {               self.writeMessage(data.from, data.msg);         },         updateStatus: function(data) {               var $el = null;               if (typeof data.id === &#39;string&#39;) {                   $el = $(&#39;#status-table&#39;).find(&#39;[data-status=&quot;&#39;+data.id+&#39;&quot;]&#39;);               }               else {                   $el = $(&#39;#status-table&#39;).find(&#39;#user-&#39;+data.id+&#39; .status&#39;);               }               $el.attr(&#39;data-status&#39;, data.status).html(data.status);               me.status = data.status;               self.updateUI();         },         updateUI: function() {               var readyPlayers = 0;               $(&#39;#status-table tr&#39;).each(function() {                   if ($(this).find(&#39;.status&#39;).attr(&#39;data-status&#39;) === &#39;ready&#39;) {                         readyPlayers++;                   }               });               if( readyPlayers &gt; 1 ) {
                  $(&#39;#startQuiz&#39;).removeAttr(&#39;disabled&#39;);
              }
              else {
                  $(&#39;#startQuiz&#39;).attr(&#39;disabled&#39;, &#39;disabled&#39;);
              }
        },

        updateScore: function(data) {

              $(&#39;#question-winner&#39;).html(data.name + &#39; was the quickest to answer correctly&#39;);
              QW_MODULES.quiz.resolveQuestion();

              $(&#39;#status-table tr&#39;).each(function() {
                  var hasUser = $(this).attr(&#39;id&#39;);

                  if (hasUser !== undefined &amp;amp;&amp;amp; (&#39;user-&#39; + data.id == hasUser)) {
                        var newScore = parseInt($(this).find(&#39;.score&#39;).html()) + 1;
                        $(this).find(&#39;.score&#39;).html(newScore);
                  }
              });
        }
    };

    // return as QuizWars Module
    modules.chat = chat;
    return  modules;

})(QW_MODULES || {}, jQuery);
</code></pre>
<h3 id="el-módulo-del-concurso">El módulo del concurso</h3>
<p>Este módulo gestiona toda la lógica cuando se inicia el quiz. El primer paso es generar un array de índices aleatorios a partir del archivo JSON seleccionado con las preguntas del quiz. Esto se hace con la función &quot;generateSequence&quot;, que carga el JSON vía Ajax. Una vez que sabemos el número de preguntas en el archivo JSON, creamos un array ficticio lleno de números, desde 0 hasta la cantidad total de preguntas. Luego aplicamos la función personalizada &quot;shuffle&quot; para mezclar todos los números en un nuevo array. Finalmente, tomamos el número de preguntas que el usuario eligió y las enviamos a todos los jugadores junto con la señal de inicio del concurso.</p>
<p>Cuando todos los usuarios reciban la señal para comenzar el concurso, se activará la función &quot;loadQuiz&quot;, que cargará la primera pregunta de la secuencia desde el archivo JSON y llamará a &quot;setupQuiz&quot; para comenzar la cuenta atrás inicial.</p>
<p>Una vez finalizada la cuenta atrás inicial, la primera pregunta aparecerá en la pantalla (ver el caso &quot;startQuiz&quot; en la función &quot;countdownCallback&quot;). Cuando aparezca una nueva pregunta en la pantalla, también se iniciará una nueva cuenta atrás. Esta cuenta atrás sólo se detendrá si alguno de los jugadores hace clic en la respuesta correcta (véase la función &quot;checkAnswer&quot;) o si la cuenta atrás llega a su fin. En ambos casos, se revelará la respuesta correcta, se actualizará la puntuación y se cargará la siguiente pregunta.</p>
<p>La función &quot;resolveQuestion&quot; añade las clases a las respuestas para mostrar las correctas e incorrectas, luego comprueba si estamos al final del cuestionario y si es así llama a la función &quot;winner&quot;. Esta última función mostrará el avatar del usuario al resto de los usuarios y mostrará un botón para recargar la página y comenzar un nuevo quiz.</p>
<pre><code class="language-javascript">var QW_MODULES = (function (modules, $) {
    &quot;use strict&quot;;

    var self;

    var quiz = {

        jsonData: null,
        questions: [],
        current: 0,
        interval: 0,
        secondsToStart: 5,
        secondsToAnswer: 20,
        secondsToWait: 5,

        init: function() {

              self = this;
        },

        generateSequence: function() {

              // Get the quiz questions from the selected JSON file
              $.getJSON(&#39;/data/&#39; + $(&#39;#quiz-dropdown :selected&#39;).val(), function (obj) {

                  self.jsonData = obj;
                  var size = obj.questions.length;
                  var requestedSize = parseInt($(&#39;#amount&#39;).val());
                  var sequence, dummyArray = [];

                  // Limit the quiz size to the amount of available questions
                  if (requestedSize &gt; size) requestedSize = size;

                  // Get an array with numbers as big as the json file
                  for (var i = 0; i &lt; size; i++) {
                    dummyArray[i] = i;
                    }
                    // Shuffle the array and get a slice of it                   dummyArray = self.shuffle(dummyArray);                   sequence = dummyArray.slice(0, requestedSize);                   io.socket.post(&#39;/user/start&#39;, {user: me.name, sequence: sequence});               });         },         loadQuiz: function(data) {               $(&#39;#quiz&#39;).show();               $(&#39;#changeStatus&#39;).hide();               // Check if we still don&#39;t have the generated sequence of questions               if (self.questions.length === 0) {                   self.questions = data.sequence;               }               if (self.jsonData === null) {                   $.getJSON(&#39;/data/&#39; + $(&#39;#quiz-dropdown :selected&#39;).val(), function (obj) {                         self.jsonData = obj;                         self.setupQuiz(self.jsonData.title);                   });               }               else {                   self.setupQuiz(self.jsonData.title);               }         },         setupQuiz: function(title) {               $(&#39;#quiz-settings&#39;).hide();               $(&#39;#questions tr&#39;).remove();               $(&#39;#title&#39;).html(title);               $(&#39;#progress&#39;).attr(&#39;max&#39;, parseInt($(&#39;#amount&#39;).val()));               self.countDown($(&#39;#countdown&#39;), self.secondsToStart, &#39;startQuiz&#39;);         },         countDown: function($el, secs, stage) {               clearInterval(self.interval);               self.interval = setInterval(function () {                   if (secs &gt; 0) {
                        $el.html(secs);
                        secs--;
                  }
                  else {
                        $el.html(&#39;&#39;);
                        clearInterval(self.interval);
                        self.countDownCallback(stage);
                  }
              }, 1000);
        },

        countDownCallback: function(stage) {

              switch(stage) {

                  case &#39;startQuiz&#39;: $(&#39;#countdown&#39;).removeClass(&#39;start&#39;);
                                    self.loadQuestion();
                                    break;

                  case &#39;waitTime&#39;: $(&#39;#question-winner&#39;).html(&#39;Nobody answered correctly&#39;);
                                    self.resolveQuestion();
                                    break;

                  case &#39;nextQuestion&#39;: self.loadQuestion();
                                        break;

                  case &#39;winner&#39;: self.winner();
                                  break;
              }
        },

        loadQuestion: function() {

              $(&#39;#question&#39;).html(&#39;&lt;strong&gt;Question: &lt;/strong&gt;&#39; + self.jsonData.questions[self.questions[self.current]].question);
              $(&#39;#questions tr&#39;).remove();

              $.each(self.jsonData.questions[self.questions[self.current]].answers, function (key, value) {
                  $(&#39;#questions&#39;).append(&#39;&lt;tr&gt;&lt;td class=&quot;button&quot;&gt;&lt;input type=&quot;radio&quot; name=&quot;answer&quot; value=&quot;&#39; + key + &#39;&quot;&gt;&lt;/td&gt;&lt;td&gt;&#39; + value + &#39;&lt;/td&gt;&lt;/tr&gt;&#39;);
              });

              // Update status and countdown
              $(&#39;#quiz-message&#39;).html(&#39;Seconds remaining to answer: &#39;);
              $(&#39;#question-winner&#39;).html(&#39;&#39;);
              self.countDown($(&#39;#countdown&#39;), self.secondsToAnswer, &#39;waitTime&#39;);
        },

        checkAnswer: function() {

              //This user cannot answer this question anymore
              $(&#39;#questions .button input&#39;).attr(&#39;disabled&#39;, &#39;disabled&#39;);

              var radioButtons = $(&quot;#questions input:radio[name=&#39;answer&#39;]&quot;);
              var selectedAnswer = radioButtons.index(radioButtons.filter(&#39;:checked&#39;));

              var correctAnswer = self.jsonData.questions[self.questions[self.current]].correct_answer;

              if (selectedAnswer &gt;= 0 &amp;amp;&amp;amp; selectedAnswer === parseInt(correctAnswer)) {
                  //We&#39;ve got a winner. Broadcast it!
                  io.socket.post(&#39;/user/score&#39;, {id: me.id});
              }
        },

        resolveQuestion: function() {

              $(&#39;#quiz-message&#39;).html(&#39;Next question in... &#39;);
              $(&#39;#questions .button input&#39;).attr(&#39;disabled&#39;, &#39;disabled&#39;);

              var radioButtons = $(&quot;#questions input:radio[name=&#39;answer&#39;]&quot;);
              var selectedAnswer = radioButtons.index(radioButtons.filter(&#39;:checked&#39;));

              var correctAnswer = self.jsonData.questions[self.questions[self.current]].correct_answer;
              $(&#39;#questions tr&#39;).eq(correctAnswer).addClass(&#39;success&#39;);

              if (selectedAnswer &gt;= 0 &amp;amp;&amp;amp; selectedAnswer !== parseInt(correctAnswer)) {
                  $(&#39;#questions tr&#39;).eq(selectedAnswer).addClass(&#39;danger&#39;);
              }

              // Update questions index and gameplay
              var quizQuestions = parseInt($(&#39;#amount&#39;).val());

              if (self.current &lt; quizQuestions) {                   self.current++;                   $(&#39;#progress&#39;).val(self.current);                   if (self.current === quizQuestions) { //We reached the end of the quiz                         self.countDown($(&#39;#countdown&#39;), self.secondsToWait, &#39;winner&#39;);                   }                   else {                         self.countDown($(&#39;#countdown&#39;), self.secondsToWait, &#39;nextQuestion&#39;);                   }               }         },         winner: function() {               $(&#39;#quiz&#39;).hide();               $(&#39;#winner&#39;).show();               var scores = [];               var players = [];               $(&#39;#status-table tbody tr&#39;).each(function() {                   scores.push(parseInt($(this).find(&#39;.score&#39;).html()));                   players.push($(this).find(&#39;.name&#39;).html());               });               var highScore = Math.max.apply(Math, scores);               var scoreIndex = scores.indexOf(highScore);               var isDraw = false;               $(&#39;#status-table tbody tr&#39;).each(function(index) {                   if (parseInt($(this).find(&#39;.score&#39;).html()) === highScore &amp;amp;&amp;amp; scoreIndex !== index) isDraw = true;               });               $(&#39;#winner-image&#39;).removeClass(&#39;no-one-wins&#39;);               $(&#39;#winner-image&#39;).css(&#39;background-image&#39;, &#39;&#39;);               if (highScore &gt; 0) {
                  if (isDraw) {
                        $(&#39;#winner-message&#39;).html(&#39;We have a draw. Well done!&#39;);
                        $(&#39;#winner-image&#39;).addClass(&#39;no-one-wins&#39;);
                  }
                  else {
                        $(&#39;#winner-message&#39;).html(&#39;And the winner is... &lt;strong&gt;&#39; + players[scoreIndex] + &#39;&lt;/strong&gt;!&#39;);
                        $(&#39;#winner-image&#39;).css(&#39;background-image&#39;, &#39;url(&quot;&#39; + $(&#39;#status-table tbody tr&#39;).eq(scoreIndex).find(&#39;.name&#39;).attr(&#39;data-avatar&#39;) + &#39;&quot;)&#39;);
                  }
              }
              else {
                  $(&#39;#winner-message&#39;).html(&#39;And the winner is... &lt;strong&gt;no one&lt;/strong&gt; :-(&#39;);
                  $(&#39;#winner-image&#39;).addClass(&#39;no-one-wins&#39;);
              }
        },

        shuffle: function(o) {
              //+ Jonas Raoni Soares Silva
              //@ http://jsfromhell.com/array/shuffle [v1.0]
              for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
              return o;
        }
    };

    // return as QuizWars Module
    modules.quiz = quiz;
    return  modules;

})(QW_MODULES || {}, jQuery);
</code></pre>
<h3 id="15-conclusiones">15. Conclusiones</h3>
<p>Mi experiencia con Sails.js ha sido muy positiva y recomiendo a todos los interesados en aplicaciones multiusuario en tiempo real que empiecen un proyecto y descubran todas sus virtudes. La curva de aprendizaje es muy suave y todo el código base está muy bien comentado, con referencias a otros archivos cuando es necesario. Todo en el framework es claro, sin archivos redundantes que de otro modo acabarían hinchándolo y dificultando su comprensión. El único aspecto que no es tan bueno como uno quisiera es la documentación y la comunidad. Hay una sección <a href="http://stackoverflow.com/tags/sails.js/hot">stack overflow para Sails.js</a> con algunos temas interesantes. Es un framework muy nuevo y esperamos que en un futuro próximo haya más recursos disponibles. No obstante, es una consideración menor, al menos para proyectos pequeños.</p>
<p>Estaré encantado de responder a cualquier pregunta o tratar de ayudar a resolver cualquier problema que pueda surgir durante el proceso de instalación, así que no dude en hacérmelo saber. Al mismo tiempo, estoy muy abierto a escuchar mejoras o errores en el código, pero por favor, ten en cuenta que este ejemplo no pretende ser un producto completo/final. Todavía hay muchas características que necesitan ser refinadas o incluidas.</p>
<p>¡Muchas gracias por tu tiempo y espero que te diviertas en el apasionante mundo de Node.js! ^_^</p>
<h3 id="16-créditos">16. Créditos</h3>
<p>Mi investigación se ha basado en los ejemplos oficiales de Sails.js, que pueden encontrarse en <a href="https://github.com/sails101">Sails 101</a> y en estos dos proyectos de Github: <a href="https://github.com/Ajeey/node-sails-chat/">node-sails-chat</a>, <a href="https://github.com/sgress454/sailsChat">sailsChat</a>.</p>
<h3 id="17-actualizaciones-y-errores">17. Actualizaciones y errores</h3>
<p>He intentado ejecutar Sails.js en un servidor con Node.js y Apache, pero mi experiencia no ha sido muy buena. El proxy en el vhost de apache añadía un gran retraso en la conexión del socket. Así que no recomiendo ejecutar una aplicación Node en un servidor que ya está ejecutando Apache. <a href="http://https//www.digitalocean.com/community/tutorials/how-to-create-an-node-js-app-using-sails-js-on-an-ubuntu-vps">Más información aquí</a>.</p>
<p>Hay un error cuando se selecciona un cuestionario diferente al primero y se inicia. El cuestionario seleccionado y la cantidad de preguntas no se transmiten a los usuarios conectados.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/tutorial-how-to-build-a-multi-player-quiz-app-with-sails-js/images/desktop-view_ytdkg3.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Searching for Sugar Man]]></title>
            <link>https://www.joanmira.com/es/blog/searching-for-sugar-man</link>
            <guid>https://www.joanmira.com/es/blog/searching-for-sugar-man</guid>
            <pubDate>Sat, 16 Feb 2013 00:00:00 GMT</pubDate>
            <description><![CDATA[Una breve mención a una película inspiradora y muy musical]]></description>
            <content:encoded><![CDATA[<p>Hacía más de un año que no escribía nada en el blog y ahora ya sé por qué… la culpa es del maldito Facebook. Me tenía totalmente enganchado, pero eso ya se acabó. He desactivado mi cuenta y espero no volver a abrirla en mucho tiempo!</p>
<p>Bien, hoy me gustaría hablaros sobre esta película que acabo de ver y que me ha llenado de inspiración y alegría. Se trata de “Searching for Sugar Man”, la historia de Sixto Rodriguez, un cantante folk de Detroit que sacó un álbum en los 70 pero no tuvo éxito en EEUU. No voy a contar nada más porque al contrario que mi mujer, yo prefiero ver una película sin saber prácticamente nada de antemano. Tenéis que verla!</p>
<p>Me ha gustado tanto que al terminar de verla he ido directamente a Amazon a comprar <a href="http://www.amazon.es/gp/product/B008C1WUZ2/ref=s9_simh_gw_p15_d0_i1?pf_rd_m=A1AT7YVPFBWXBL&amp;pf_rd_s=center-2&amp;pf_rd_r=1XC147RMDBQCJXP3GYDV&amp;pf_rd_t=101&amp;pf_rd_p=312235527&amp;pf_rd_i=602357031">el DVD de la película</a> y e<a href="http://www.amazon.es/Cold-Fact-Rodriguez/dp/B001BKVWYG/ref=pd_sim_m_3">l CD de su primer álbum</a> para mi padre (gran amante de la música Folk americana).</p>
<p>Rodriguez! ya tienes un fan más!</p>
<p>También podéis conseguir más información en la <a href="http://sugarman.org/">página web oficial de Rodriguez</a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/searching-for-sugar-man/images/sixto-rodriguez.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Una introducción al desarrollo móvil]]></title>
            <link>https://www.joanmira.com/es/blog/an-introduction-to-mobile-development</link>
            <guid>https://www.joanmira.com/es/blog/an-introduction-to-mobile-development</guid>
            <pubDate>Thu, 07 Feb 2013 00:00:00 GMT</pubDate>
            <description><![CDATA[Para entender el panorama del desarrollo móvil, primero debemos saber quiénes son los actuales líderes de la industria y quiénes son los nuevos contendientes para 2013/14]]></description>
            <content:encoded><![CDATA[<p>En el cuarto trimestre de 2012, los sistemas operativos móviles más utilizados fueron <strong>Android</strong> (con el 68,4% de la cuota de mercado) <strong>y</strong> <strong>iOS</strong> (con el 19,4% de la cuota de mercado). Ambos acapararon juntos el <a href="http://techcrunch.com/2013/01/28/android-ios-grabbed-92-of-global-smartphone-shipments-in-q4-2012-android-undisputed-volume-leader-says-analyst/">92% de los envíos mundiales de smartphones</a>. Estos resultados convierten a <a href="https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)">Java</a> (Android) y <a href="http://es.wikipedia.org/wiki/Objective-C">Objective-C</a> (iOS) en <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">dos de los lenguajes de programación más utilizados para el desarrollo de móviles</a>, pero eso es sólo cuando hablamos de aplicaciones creadas con el <a href="http://developer.android.com/sdk/index.html">SDK de Android</a> o el <a href="https://developer.apple.com/devcenter/ios/index.action">SDK de iOS</a>.</p>
<p>Los otros sistemas operativos móviles que ya están en el mercado son <a href="http://www.windowsphone.com/en-gb">Windows Phone</a> y <a href="http://global.blackberry.com/blackberry-10.html">Blackberry 10</a>, pero su cuota de mercado es aún muy pequeña. En los próximos meses podemos esperar los siguientes lanzamientos:</p>
<ul>
<li><a href="http://www.mozilla.org/es/firefoxos/">Firefox OS</a> de <a href="http://www.mozilla.org/es/firefoxos/">Mozilla</a></li>
<li><a href="http://www.ubuntu.com/devices/phone">Ubuntu Mobile</a> de <a href="http://www.ubuntu.com/devices/phone">Ubuntu</a></li>
<li><a href="https://www.tizen.org/">Tizen</a> de <a href="http://www.linuxfoundation.org/">Linux Foundation</a>, <a href="http://www.samsung.com/">Samsung</a>, <a href="http://www.intel.com/">Intel</a>, <a href="https://www.tizen.org/community">Tizen Community</a></li>
</ul>
<p>Puedes leer más sobre los sistemas operativos móviles <a href="http://en.wikipedia.org/wiki/Comparison_of_mobile_operating_systems">aquí</a> y <a href="https://es.wikipedia.org/wiki/Sistema_operativo_m%C3%B3vil">aquí</a></p>
<p><strong>Los pros y los contras de la codificación nativa</strong></p>
<p>Las ventajas de crear aplicaciones nativas están relacionadas con la máxima flexibilidad y rendimiento. Todos los programadores saben que el uso de los lenguajes de programación de más bajo nivel ofrece la posibilidad de ajustar las aplicaciones, personalizarlas y optimizar el código al máximo nivel. Esto es posible porque se trabaja casi directamente con el hardware; no hay capas innecesarias de complejidad entre el código y el dispositivo.</p>
<p>Las aplicaciones que dependen en gran medida de los gráficos 3D y necesitan procesar muchos datos o hacer un uso intensivo de la <a href="https://es.wikipedia.org/wiki/Unidad_central_de_procesamiento">CPU</a> son las mejores candidatas para el enfoque de código nativo.</p>
<p>Pero la flexibilidad y el rendimiento tienen un precio y es la complejidad y la duplicación de <a href="https://es.wikipedia.org/wiki/Base_de_c%C3%B3digo">bases de código</a>. Si quieres que tu aplicación nativa sea compatible con Android e iOS, tienes que tener dos <a href="https://es.wikipedia.org/wiki/Base_de_c%C3%B3digo">bases de código</a> diferentes, lo que significa que tienes que trabajar doble. <a href="http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)">Java</a> y <a href="http://es.wikipedia.org/wiki/Objective-C">Objective-C</a> son dos lenguajes de programación muy diferentes, requieren entornos de programación completamente distintos y el mantenimiento del código (<a href="https://es.wikipedia.org/wiki/Refactorizaci%C3%B3n">refactorización</a>) puede llegar a ser costoso para personas u organizaciones que no tengan un equipo de desarrolladores trabajando a tiempo completo en aplicaciones móviles.</p>
<p><strong>¿Cuáles son las alternativas?</strong></p>
<p>Por suerte o no, hay varias empresas con productos que prometen resolver el problema de tener dos o más bases de código diferentes para la misma aplicación. Estos productos permiten a los desarrolladores utilizar <a href="https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones">APIs comunes</a> para construir las apps y luego &quot;exportarlas&quot; a código nativo Java (Android), Objective-C (iOS) o incluso a otras plataformas como Kindle Fire, Blackberry, Windows Phone, etc:</p>
<ul>
<li><a href="http://www.appcelerator.com/">Appcelerator</a> y su <a href="http://www.appcelerator.com/platform/titanium-platform/">Titanium SDK</a> y <a href="http://www.appcelerator.com/cloud/">Cloud services</a> gratuitos basados en JavaScript. Anuncian su éxito con más de <strong>50.000 apps desplegadas</strong> en el mercado, <strong>419.000 desarrolladores</strong> y clientes como eBay, Merck, Mitsubishi Electric, NBC y PayPal. [Escaparate <a href="http://pinterest.com/appcelerator/app-showcase/">de aplicaciones</a>. Después de haber probado la plataforma durante varios meses, puedo decir que el producto ciertamente funciona y la curva de aprendizaje es bastante suave, lo que hace que el proceso de desarrollo sea bastante divertido. Aunque <a href="http://usingimho.wordpress.com/2011/06/14/why-you-should-stay-away-from-appcelerators-titanium/">no todo es tan maravilloso como dicen</a>.</li>
<li><a href="http://www.madewithmarmalade.com/">Marmalade</a> es uno de los mejores frameworks de desarrollo de juegos que existen. Tanto si decides codificar de forma nativa (C++) como si adoptas un enfoque híbrido (HTML5-nativo), con Marmalade puedes desplegarlo en iOS, Android, BlackBerry, Windows y Mac, así como en determinadas plataformas de Smart TV y (próximamente) de decodificadores. Clientes: <strong>Electronic Arts, Nokia, Apple, Konami, Google, Square Enix, nVidia, Samsung</strong>, etc. <a href="http://www.madewithmarmalade.com/app-showcase">Escaparate de aplicaciones</a>.</li>
<li><a href="http://phonegap.com/">Adobe PhoneGap</a> es un marco de trabajo gratuito y de código abierto que permite crear aplicaciones móviles utilizando APIs web estandarizadas como HTML5, CSS y JavaScript. Cuenta con <strong>400.000 desarrolladores</strong> y colaboradores de IBM, RIM y Microsoft. <a href="http://phonegap.com/app/">App showcase</a>.</li>
<li><a href="http://www.coronalabs.com/products/corona-sdk/">Corona SDK</a> es un conocido framework para desarrolladores de juegos para móviles. A partir de una única base de código, se puede implementar en iOS, Android, Kindle Fire y NOOK. <a href="https://developer.coronalabs.com/showcase">App showcase</a>.</li>
<li><a href="http://xamarin.com/">Xamarin</a> es otra empresa/producto para desarrollar aplicaciones para iOS, Android y Mac utilizando <a href="http://en.wikipedia.org/wiki/C_Sharp_(lenguaje_de_programaci%C3%B3n)">C#</a>. Tienen <strong>230.245 desarrolladores</strong> y clientes como 3M, Microsoft, VMWare, Accenture, Cisco, AT&amp;T, AOL, Monster y HP. <a href="http://xamarin.com/apps">App showcase</a>.</li>
<li><a href="http://www.shivaengine.com/new-features.html">Shiva3D</a> y <a href="http://unity3d.com/unity/multiplatform/">Unity3D</a> son opciones más centradas en juegos 3D multiplataforma de alto nivel. <a href="http://www.shivaengine.com/shiva-3d-engine-showcase.html">Shiva showcase</a>. <a href="http://unity3d.com/gallery/made-with-unity/game-list">Unity showcase</a>.</li>
<li><a href="http://www.mosync.com/sdk">MoSync SDK</a> es una opción menos conocida que facilita la creación y compilación de aplicaciones para hasta nueve plataformas diferentes a la vez, utilizando C/C++ o HTML5/JavaScript, o una combinación de ambos. <a href="http://www.mosync.com/showcase">App showcase</a>.</li>
<li><a href="http://www.biznessapps.com/">Biznessapps</a> y <a href="http://gamesalad.com/">gamesalad</a> son soluciones rápidas y sencillas para pequeñas empresas y juegos sencillos con pocos requisitos de programación y diseño personalizados. Estas soluciones son <strong>no recomendables</strong> para la gran mayoría de los proyectos debido a las limitaciones de los editores utilizados para construir las aplicaciones y su falta de flexibilidad.</li>
<li>Para ver una tabla comparativa ampliada de los frameworks para móviles, visita <a href="http://www.markus-falk.com/mobile-frameworks-comparison-chart/">este enlace</a>, <a href="http://en.wikipedia.org/wiki/Multiple_phone_web-based_application_framework">esta página wiki</a> o <a href="http://en.wikipedia.org/wiki/Mobile_application_development">esta otra</a>.</li>
</ul>
<p><strong>¿Cuáles son los retos de las aplicaciones nativas y no nativas?</strong></p>
<p>Programar aplicaciones móviles es más difícil que crear aplicaciones de escritorio o web. La plataforma es muy nueva y está cada vez más fragmentada, lo que no ayuda a los desarrolladores.</p>
<p>Por ejemplo, <a href="https://en.wikipedia.org/wiki/List_of_Android_smartphones">Android tiene cientos de dispositivos diferentes</a> en el mercado. Algunos tienen una pantalla de 3,4&#39;&#39;, otros de 7&#39;&#39; o 10&#39;&#39;. Algunos funcionan con Android 2.1 y otros con Android 4.3. Algunos tienen 3G, GPS y una pantalla de 300 ppp (puntos por pulgada/densidad de píxeles), HD Ready o Full HD. Las combinaciones posibles son intimidantes y lo cierto es que cada usuario espera que su aplicación funcione a la perfección en su dispositivo.</p>
<p><strong>Algunos aspectos importantes a tener en cuenta son:</strong></p>
<ul>
<li>Decidir qué herramienta/marco/enfoque utilizar es una decisión crítica que debe ser cuidadosamente pensada antes de comenzar cualquier trabajo de desarrollo</li>
<li>Rendimiento en dispositivos antiguos... el listón tiene que ponerse en algún momento.</li>
<li>Responder rápidamente y con éxito a las quejas/bugs/solicitudes de características en el Android Market y la App Store. Recordar lo de tener bases de código duplicadas...</li>
<li>Encontrar el enfoque de marketing adecuado y el valor de una aplicación (esquema <a href="http://es.wikipedia.org/wiki/Freemium">freemium</a> o basado en anuncios). Algunas estrategias de marketing requieren mucha personalización en el código. Asegúrate de planificar todo.</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/an-introduction-to-mobile-development/images/mob_dev_dwbkru.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[La Royal Opera House en cifras 2011/12]]></title>
            <link>https://www.joanmira.com/es/blog/the-royal-opera-house-in-numbers</link>
            <guid>https://www.joanmira.com/es/blog/the-royal-opera-house-in-numbers</guid>
            <pubDate>Fri, 26 Oct 2012 00:00:00 GMT</pubDate>
            <description><![CDATA[Una mirada retrospectiva a la temporada pasada revela algunas cifras fascinantes]]></description>
            <content:encoded><![CDATA[<p>Post publicado originalmente por Chris Shipman en el blog de la Royal Opera Houra (donde <a href="/roh">trabajé como Desarrollador Digital</a>).</p>
<p>Hemos estado mirando las cifras de la ROH durante 2011/12 y las hemos encontrado tan sorprendentes que hemos pensado que debíamos compartirlas.</p>
<ul>
<li><p>Más de 7,5 millones de personas participaron en todo el mundo en el trabajo de la Royal Opera House, asistiendo a las representaciones, viendo las retransmisiones de la Temporada de Cine, las emisiones de radio y televisión, las transmisiones en línea o asistiendo a las Grandes Pantallas de Verano de la Royal Opera House, y participando en nuestro trabajo de difusión educativa.</p>
</li>
<li><p>4,5 millones de personas vieron el programa de la BBC Two &quot;Maestro at the Opera&quot;, en el que la Orquesta de la Royal Opera House, el Coro de la Royal Opera, los Jóvenes Artistas Jette Parker y la Compañía de Ópera Juvenil de la Royal Opera House trabajaron e interpretaron el segundo acto de La bohème de Puccini.</p>
</li>
<li><p>2,4 millones de usuarios de la web. La venta de entradas en línea aumentó hasta el 60%.</p>
</li>
<li><p>1 millón de personas sintonizaron The Royal Opera en BBC Radio 3 como parte de las temporadas de Opera on 3 de la cadena. Las emisiones incluyeron Il trittico de Puccini, La traviata de Verdi, Le nozze di Figaro de Mozart y Die Meistersinger von Nürnberg de Wagner.</p>
</li>
<li><p>1 millón de visionados de vídeos del Royal Ballet LIVE en ese día y en los cinco meses siguientes. El Royal Ballet LIVE mostró un día completo de trabajo en directo a través de Internet y ofreció clases diarias, entrevistas y ensayos.</p>
</li>
<li><p>1 millón de minutos de nuestro contenido en YouTube se ve cada mes.</p>
</li>
<li><p>Se vendieron 692.608 entradas para 428 representaciones en la Royal Opera House, con un 92% de capacidad. Por decimotercer año consecutivo alcanzamos el punto de equilibrio.</p>
</li>
<li><p>Se llegó a 500.000 personas a través de nuestros canales de redes sociales, como Facebook, Twitter, Google+ y YouTube.</p>
</li>
<li><p>300.000 personas vieron las retransmisiones cinematográficas de las producciones de la Royal Opera y el Royal Ballet en 30 países de todo el mundo. La proyección en directo de La fille mal gardée fue la quinta película más taquillera en el Reino Unido la noche de la retransmisión.</p>
</li>
<li><p>27.238 El número de personas que participaron en los proyectos educativos. 21.207 personas acudieron al ROH por primera vez a través de programas dirigidos a familias, escuelas, estudiantes y personas mayores aisladas.</p>
</li>
<li><p>10.000 asistentes a los relevos de la Gran Pantalla de Verano de BP (¡a pesar de uno de los veranos más lluviosos de los últimos años!).</p>
</li>
<li><p>El 40% de nuestro público es menor de 45 años.</p>
</li>
<li><p>El 40% de nuestras entradas cuestan 40 libras o menos.</p>
</li>
<li><p>El 30% de nuestras entradas son de 30 libras o menos.</p>
</li>
</ul>
<p>¿Cómo se relacionó con nosotros durante la temporada 2011/12? ¿Viniste a una representación en el Covent Garden, asististe a un evento de Educación en Thurrock o viniste a un relevo en la Gran Pantalla en Glasgow? Háganoslo saber: nos encantaría saber qué disfrutó especialmente.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-royal-opera-house-in-numbers/images/roh-numbers.jpeg" length="0" type="image/jpeg"/>
        </item>
        <item>
            <title><![CDATA[Churchill bate el récord mundial de Spiderman]]></title>
            <link>https://www.joanmira.com/es/blog/churchill-beats-spiderman-to-world-record</link>
            <guid>https://www.joanmira.com/es/blog/churchill-beats-spiderman-to-world-record</guid>
            <pubDate>Thu, 25 Oct 2012 00:00:00 GMT</pubDate>
            <description><![CDATA[Artículo publicado originalmente por Duncan McLauchlan en el blog de WCRS, donde trabajaba como tecnólogo creativo]]></description>
            <content:encoded><![CDATA[<p>Nota: He contribuido con mi trabajo construyendo la aplicación de Facebook para esta campaña de Churchill.</p>
<p>Churchill ha superado a Spiderman para reclamar el título de récord Guinness de &quot;Mayor número de contribuciones a una tarjeta de felicitación&quot;.  ¡Oh, sí!</p>
<p>Para celebrar el cumpleaños de Churchill, se pidió a los fans de Facebook que firmaran la tarjeta de cumpleaños en línea del perro asentidor, animado por Churchill a batir el intento de récord mundial con la promesa de donar 2.000 libras esterlinas a Battersea Dogs &amp; Cats Home, si lo conseguía.</p>
<p>Una enorme tarjeta física también recorrió el país recogiendo mensajes de cumpleaños y firmas en los centros de contacto de Churchill.</p>
<p>Las miles de firmas online se transfirieron manualmente (¡tenemos los brazos doloridos para demostrarlo!) a la gigantesca tarjeta de cumpleaños que, con un total de 4.347 firmas (frente a las 2.707 de Spidey), fue coronada esta semana como récord Guinness.</p>
<p>Como agradecimiento adicional a sus fans por su apoyo, Churchill aumentó su donación a Battersea a 4.347 libras, es decir, 1 libra por cada mensaje de cumpleaños que Churchill recibió.</p>
<p>El intento de batir el récord mundial culmina un año muy ajetreado en el que Churchill ha protagonizado películas para celebrar los Oscar y los bailes de graduación, y ha hecho una taza de celebración del jubileo por la que recibió una carta personalizada del Palacio de Buckingham.</p>
<p>Podríamos incluso crear un programa que capturara datos a intervalos regulares de las reseñas de Twitter, Facebook, Flickr, Google+ y Google y los almacenara en nuestra base de datos. Este programa también podría rastrear la web en busca de comentarios de blogs y otros datos interesantes de las marcas, como logotipos, premios, estadísticas, etc.</p>
<p>Creo que los datos abiertos no son suficientes. Debemos recopilar y almacenar los datos de la marca para poder procesar y ofrecer grandes aplicaciones artísticas, informativas y multimedia.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/churchill-beats-spiderman-to-world-record/images/churchill.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Si el contenido es el rey, los datos son la reina]]></title>
            <link>https://www.joanmira.com/es/blog/if-content-is-king-data-is-queen</link>
            <guid>https://www.joanmira.com/es/blog/if-content-is-king-data-is-queen</guid>
            <pubDate>Thu, 13 Sep 2012 00:00:00 GMT</pubDate>
            <description><![CDATA[Artículo publicado originalmente en el blog de WCRS, donde trabajé como tecnólogo creativo]]></description>
            <content:encoded><![CDATA[<p>Los <a href="https://es.wikipedia.org/wiki/Datos_abiertos">datos abiertos</a> se han convertido en un tema muy serio. Los gobiernos y las empresas invierten muchos esfuerzos en1 desarrollar programas informáticos para capturar, procesar, almacenar y distribuir datos (<a href="http://data.gov.uk/">data.gov.uk</a>, <a href="http://data.gov/">data.gov</a>, <a href="https://developers.google.com/products/">Google API</a>, <a href="https://dev.twitter.com/">Twitter API</a>, <a href="http://www.flickr.com/services/api/">Flickr API</a>, <a href="http://developers.facebook.com/">Facebook API</a>, etc.), que luego se ofrecen a la comunidad.</p>
<p>Aunque la neutralidad de Internet está siendo cuestionada y amenazada por grupos de presión y gobiernos de todo el mundo, sabemos que los <a href="https://es.wikipedia.org/wiki/Datos_abiertos">datos abiertos</a> son buenos para la comunidad de Internet, pero no podemos garantizar durante cuánto tiempo seguirán siendo libres y públicos. Al mismo tiempo, los <a href="https://es.wikipedia.org/wiki/Hacker_(seguridad_inform%C3%A1tica)">hackers</a> contratados por los gobiernos y los <a href="https://es.wikipedia.org/wiki/Hacktivismo">hacktivistas</a>] como <a href="https://es.wikipedia.org/wiki/Anonymous">Anonymous</a> están aumentando sus actividades en Internet, a veces utilizando un <a href="https://es.wikipedia.org/wiki/Sombrero_blanco_(seguridad_inform%C3%A1tica)">sombrero blanco</a> y a veces un <a href="http://en.wikipedia.org/wiki/Black_hat_hacking#Black_hat">sombrero negro</a>, lo que hace que los datos sean vulnerables.</p>
<p>Puede que pienses que la seguridad en Internet y la propiedad/libertad de los datos no son argumentos lo suficientemente poderosos como para preocuparse por el futuro de los datos abiertos, y puede que tengas razón, pero tengo una segunda razón... <strong>agilidad</strong>. Sí, lamentablemente las APIs de la web son conocidas por su lentitud y algunas de ellas tienen un límite en la cantidad de datos que se pueden solicitar por hora o por día. Esto hace que el desarrollo de aplicaciones en tiempo real altamente basadas en datos no sea divertido. Hasta el punto de que puede arruinar la experiencia del usuario, haciéndola aburrida y frustrante.</p>
<p>El jueves pasado tuvimos una (tan en boga) <a href="http://es.wikipedia.org/wiki/Hackathon">noche de hacking</a> en la que, además de disfrutar de algo de comida tailandesa, intentamos dar con algunas ideas interesantes. Una de ellas, llamada &quot;<strong>Brand Rank</strong>&quot;, consistía en construir un programa para mostrar el ranking social (en Twitter) de las marcas con las que trabajamos frente al ranking de sus competidores directos. Esta aplicación implica el uso de una base de datos y un proceso automático para alimentar los tweets en la base de datos cada 10 minutos. Una vez que los datos están en nuestro dominio podríamos jugar con ellos más rápidamente y mostrar los resultados de una manera más personalizada y rica.</p>
<p>Creo que podríamos hacer prácticas herramientas como Brand Rank, y obtener un verdadero beneficio para nuestros clientes, extrayendo las emociones de la gente (los datos) de los canales de medios sociales de nuestras marcas.</p>
<p>Ser propietarios de los datos nos daría un poder y una agilidad ilimitados para crear herramientas de <a href="http://en.wikipedia.org/wiki/Business_intelligence">inteligencia empresarial</a> a medida que nos ayuden a entender mejor los sentimientos de la gente por nuestros clientes. También podríamos crear interfaces y <a href="https://es.wikipedia.org/wiki/Mashup_(aplicaci%C3%B3n_web_h%C3%ADbrida)">mashups</a> para mostrar los sentimientos en diferentes plataformas como la web, android, iPhone o incluso en <a href="https://es.wikipedia.org/wiki/Instalaci%C3%B3n_(arte)">instalaciones artísticas</a> offline y en acciones de <a href="https://es.wikipedia.org/wiki/Publicidad_de_guerrilla">guerrilla digital / marketing viral</a>.</p>
<p>Incluso podríamos construir un programa que capture datos a intervalos regulares de Twitter, Facebook, Flickr, Google+ y reseñas de Google y los almacene en nuestra base de datos. Este programa también podría rastrear la web en busca de comentarios de blogs y otros datos interesantes de la marca, como logotipos, premios, estadísticas, etc.</p>
<p>Creo que los datos abiertos no son suficientes. Debemos recopilar y almacenar los datos de la marca para poder procesar y ofrecer grandes aplicaciones artísticas, informativas y multimedia.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/if-content-is-king-data-is-queen/images/content_d4zfvf.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nuestro nuevo sitio web: Una actualización de los progresos]]></title>
            <link>https://www.joanmira.com/es/blog/our-new-website-an-update-on-progress</link>
            <guid>https://www.joanmira.com/es/blog/our-new-website-an-update-on-progress</guid>
            <pubDate>Sun, 12 Feb 2012 00:00:00 GMT</pubDate>
            <description><![CDATA[Artículo publicado originalmente por Rob Greig en el blog de la Royal Opera House, donde trabajaba como desarrollador digital]]></description>
            <content:encoded><![CDATA[<h3 id="rob-greig-director-de-tecnología-habla-de-nuestra-nueva-página-web">Rob Greig, Director de Tecnología, habla de nuestra nueva página web</h3>
<p>Desde mi última entrada, se ha avanzado mucho en el desarrollo de nuestro nuevo y mejorado sitio web. Al igual que el resto del equipo, estoy encantado con los comentarios que recibí en mi último blog; es estupendo saber que vamos por el buen camino para ofrecer muchas de las cosas que buscáis.</p>
<p>El último mes se ha centrado en datos, datos y más datos; hemos tratado de encontrar la mejor manera de mostrar toda la información importante sobre nuestras actuaciones y producciones de una manera que tenga sentido para todos los que la utilizan.</p>
<p>Mucha de la información que se ve hoy en nuestro sitio web tiene que introducirse manualmente, lo que significa que estamos limitados en la forma de presentar los datos, una mayor probabilidad de errores y mucho tiempo de actualización para nuestro equipo. Además, no se trata de un solo proyecto, sino de cuatro: la tecnología, el contenido, la venta de entradas y el comercio electrónico, y la reutilización de todo el contenido del antiguo al nuevo.</p>
<p>Como todo el trabajo que hacemos en la Royal Opera House, no podría llevarse a cabo sin las personas que trabajan entre bastidores, así que quería presentarles al equipo técnico que está haciendo posible todo esto. En otro blog veremos el trabajo del equipo de contenidos.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-1.jpeg" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-1.jpeg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-1.jpeg" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-1.jpeg" />
          <img class="image" src="/blog/our-new-website-an-update-on-progress/images/roh-progress-1.jpeg" alt="The Royal Opera House development team © ROH 2012" loading="lazy">
        </picture>
        <figcaption>The Royal Opera House development team © ROH 2012</figcaption>
      </figure></p>
<p>En primer lugar están los héroes a menudo no reconocidos, el equipo de desarrollo formado por dos desarrolladores y un gerente. Jamie y su pequeño equipo están construyendo el sitio desde cero. Trabajando con montones de datos, recientemente han creado una nueva forma más integrada de reservar una mesa en un restaurante, una de cuyas consecuencias es que no pediremos un depósito en el nuevo sitio. Otro trabajo fundamental es mantener los datos abiertos y accesibles. Esto afectará, por ejemplo, a la forma en que almacenamos y mostramos nuestra siempre popular fotografía de producción, que se gestionará a través de Flickr.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-2.jpeg" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-2.jpeg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-2.jpeg" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-2.jpeg" />
          <img class="image" src="/blog/our-new-website-an-update-on-progress/images/roh-progress-2.jpeg" alt="The Royal Opera House IT team © ROH 2012" loading="lazy">
        </picture>
        <figcaption>The Royal Opera House IT team © ROH 2012</figcaption>
      </figure></p>
<p>También está el equipo de tecnología, que trabaja entre bastidores con el personal de toda la casa para llevar a cabo una importante actualización de los sistemas de apoyo y las bases de datos que contienen los datos y, en última instancia, venden las entradas. Aunque son técnicos experimentados y cualificados, no son los típicos informáticos, ya que cuentan con un violonchelista, un actor, un escritor, un bailarín y un ex director de orquesta. El jefe de informática, Chris, y su equipo tienen que asegurarse de que los sistemas entre bastidores sean seguros y respondan a las necesidades del sitio web y de la taquilla.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-3.jpeg" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-3.jpeg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-3.jpeg" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/our-new-website-an-update-on-progress/images/roh-progress-3.jpeg" />
          <img class="image" src="/blog/our-new-website-an-update-on-progress/images/roh-progress-3.jpeg" alt="POP: the team building our ticketing system © ROH 2012" loading="lazy">
        </picture>
        <figcaption>POP: the team building our ticketing system © ROH 2012</figcaption>
      </figure></p>
<p>También tenemos un socio en todo esto; POP construirá el sistema de venta de entradas y ha asumido el formidable reto de construir un sistema de venta en línea capaz de manejar nuestros períodos más concurridos sin necesidad de una sala de espera. Tienen un largo historial de trabajo con salas de arte en el Reino Unido, creando previamente el sistema que envía nuestros correos electrónicos, así como nuestra aplicación de venta de entradas para el iPhone. Actualmente están trabajando en una nueva herramienta de selección de asientos que será más sencilla de utilizar que la encarnación actual y que funcionará en otros dispositivos que no admitan Flash. Su próxima tarea es crear una aplicación de compra con un solo clic similar a la de Amazon.</p>
<p>Después de todos estos avances, estoy seguro de que tu última pregunta es &quot;¿Cuándo se va a lanzar?&quot;, pero me temo que vamos a mantenerte en vilo, al menos por ahora. Lo que sí puedo decirte es que empezaremos nuestra primera ronda de pruebas a mediados de marzo. Tenemos que hacerlo bien; siempre hay problemas con los sitios web nuevos y complejos, y queremos asegurarnos de ofrecer la mejor experiencia posible cuando salgamos al mercado.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/our-new-website-an-update-on-progress/images/roh-progress-1.jpeg" length="0" type="image/jpeg"/>
        </item>
        <item>
            <title><![CDATA[Nuestro sitio web: Una mirada al futuro]]></title>
            <link>https://www.joanmira.com/es/blog/our-website-a-look-forward</link>
            <guid>https://www.joanmira.com/es/blog/our-website-a-look-forward</guid>
            <pubDate>Thu, 12 Jan 2012 00:00:00 GMT</pubDate>
            <description><![CDATA[Rob Greig, Director de Tecnología, habla de nuestra nueva página web]]></description>
            <content:encoded><![CDATA[<p>Post publicado originalmente en el blog de la ROH (donde <a href="/roh">trabajé como desarrollador digital</a>), Londres por Rob Greig.</p>
<p>Ya en 2001 alguien me dijo con audacia que los espectadores no querrían reservar sus entradas por Internet. Si hay algo que he aprendido es a no subestimar nunca la capacidad de la tecnología para captar la imaginación y cambiar la forma de hacer las cosas. Cuenta la leyenda que incluso Bill Gates dijo: &quot;Internet es sólo una moda&quot;.</p>
<p>La moda no pasó y hace seis años (un milenio en años de Internet), en la Royal Opera House lanzamos nuestro actual sitio web. Este nuevo y brillante sitio web, que ponía todo tipo de contenidos nuevos y emocionantes al alcance de todo el mundo, se hizo rápidamente popular. Cada vez más gente se anima a reservar en línea y, por desgracia, la entrada más solicitada se convierte a menudo en la más lenta. Esto significó que hubo que introducir una sala de espera online para gestionar la demanda.</p>
<p>Cuando me incorporé a la Royal Opera House en 2009, el sitio web ya se sentía un poco viejo. Pasamos los siguientes 12 meses apuntalando el sitio, mejorando la estabilidad y hemos experimentado un éxito relativo. Ahora podemos atender a un 26% más de clientes en línea que en 2009. Sin embargo, esto no es un verdadero consuelo para muchos de nosotros que todavía tenemos que sentarnos en una sala de espera virtual de 2.000 compañeros haciendo cola para conseguir entradas. Ha sido una fuente de frustración para todos los que trabajamos en la Royal Opera House porque queremos ofrecer el mejor servicio posible a nuestro público.</p>
<p>Creemos firmemente que debemos ofrecer una experiencia excelente a todo el mundo desde el momento en que alguien llega a nuestro sitio web. Esto puede ser complicado cuando tenemos que emplear una sala de espera virtual hasta 30 veces al año para gestionar las 50.000 personas que, en los días de mayor afluencia, intentan comprar entradas al mismo tiempo. El 53% de ustedes reservan ahora sus entradas por Internet y estamos seguros de que serían más si nuestro sitio web tuviera la capacidad necesaria. Así que volvimos a la mesa de dibujo y decidimos empezar de nuevo con un nuevo sitio web.</p>
<p>Durante los últimos 18 meses, hemos creado un nuevo equipo con la experiencia necesaria para crear la próxima experiencia online mejorada de la Royal Opera House y estamos empezando desde cero. También hemos estado escuchando: tomando en cuenta sus comentarios y opiniones de los correos electrónicos y las cartas; en Facebook y Twitter; y de la plétora de excelentes blogs mantenidos por los dedicados fans del Ballet y la Ópera. Sabemos que las cosas son difíciles de encontrar, no siempre accesibles y sabemos que las entradas deben ser más sencillas y rápidas de reservar.</p>
<p>Tras un extenso periodo de planificación y preparación basado en parte en sus comentarios, estamos construyendo la nueva página web y aún queda mucho por hacer. Lamentablemente, no puedo garantizar que todo el mundo consiga el mejor asiento de la casa, pero hay luz al final del túnel.</p>
<p>Gracias por su paciencia hasta ahora y esperamos lanzar nuestro nuevo sitio y escuchar sus opiniones. Estén atentos a más detalles en breve.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/our-website-a-look-forward/images/roh-forward.jpeg" length="0" type="image/jpeg"/>
        </item>
        <item>
            <title><![CDATA[Mi portatil resucita, Microsiervos y Romeo y Julieta en el O2 Arena]]></title>
            <link>https://www.joanmira.com/es/blog/my-laptop-resurrects-microsiervos-and-romeo-and-juliet-in-the-o2-arena</link>
            <guid>https://www.joanmira.com/es/blog/my-laptop-resurrects-microsiervos-and-romeo-and-juliet-in-the-o2-arena</guid>
            <pubDate>Sun, 19 Jun 2011 00:00:00 GMT</pubDate>
            <description><![CDATA[Algunas alegrias recientes que me apetecía compartir]]></description>
            <content:encoded><![CDATA[<p>Esta semana ha sido muy buena. La primera buena noticia fue el martes cuando recibí la ATI x1400 que había comprado por eBay. La instalé el mi fallecido DELL Inspiron 9400, recé un padre nuestro y arranqué… casi me cayó una lágrima. La segunda buena noticia llegó al día siguiente, cuando por fin conseguí terminar el artículo sobre las 1001 películas para ver antes de morir. Pero ahí no acaba la historia. Se lo envié a Alvy de Microsiervos y a la media hora ya lo había <a href="http://www.microsiervos.com/archivo/peliculas-tv/1001-peliculas-ver.html">publicado en la web</a>. ¡¡¡Qué subidón!!!, tanto a nivel emocional como de visitas. De hecho, en las primeras horas después de haber sido publicado, mi servidor se saturó por el tráfico y la web estuvo caída. Durante esta semana, he experimentado un aumento de un 400% en el tráfico, con más de 20.000 usuarios únicos O_O</p>
<p>Para rematar la semana, el jueves me fui a ver Romeo y Julieta en el O2 Arena con Farah, su marido, Tintin, Barbará y Tuesday. Fue increíble, sobre todo Tamara Rojo. ¡Vaya crack!, con 37 años y se mueve como si tuviera 20. Además, me sorprendió mucho la creatividad en la coreografía, con escenas como cuando Carlos Acosta levanta a Julieta (ya muerta). Se nota que son los mejores bailarines del mundo.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/my-laptop-resurrects-microsiervos-and-romeo-and-juliet-in-the-o2-arena/images/romeoJuliet_1924249i_kd5wus.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Obsolescencia programada: mi portatil ha muerto]]></title>
            <link>https://www.joanmira.com/es/blog/programmed-obsolescence-my-laptop-is-dead</link>
            <guid>https://www.joanmira.com/es/blog/programmed-obsolescence-my-laptop-is-dead</guid>
            <pubDate>Mon, 06 Jun 2011 00:00:00 GMT</pubDate>
            <description><![CDATA[Una breve historia de ordenadores que se hacen viejitos]]></description>
            <content:encoded><![CDATA[<p>Vaya fin de semana… nada más levantarme el sábado enciendo el ordenador y compruebo con horror como mi pantalla se llena de líneas y píxeles a lo loco. Reinicio y la cosa empeora. Vuelvo a reiniciar y la pantalla se queda en negro!!!!!  :*******((((</p>
<p>Ha sido la tarjeta gráfica, una Nvidia 7900 GS con 256 MB de VRAM. Al parecer la tarjeta se calienta mucho y unido a que los ventiladores del DELL Inspiron 9400 saltan muy tarde, con el tiempo las soldaduras se han ido agrietando hasta el punto de que ya no hacen buen contacto (esto lo he aprendido a base de leerme foros de pobrecitos desgraciados como yo).</p>
<p>Tras investigar un poco, <a href="http://stuff.thatblogs.com/content/shake-n-bake-fixing-dead-nvidia-7900gs-dell-9400-e1705">encontré a unos loquitos</a> que dicen que han arreglado sus gráficas metiéndolas en el horno a 200 grados durante 10 minutos. Puede parecer una locura, pero tiene sentido. De esa forma las soldaduras se recalientan y se vuelven a solidificar arreglando las grietas provocadas por los drásticos cambios de temperatura.</p>
<iframe allowfullscreen="" frameborder="0" height="340" src="https://www.youtube.com/embed/vpzpNI7EBa0?feature=oembed" width="100%"></iframe>

<p>Mi portátil me costó 1.400 € en septiembre de 2006 y me niego a darlo por muerto. No quiero sucumbir a las artimañas de la industria para obligarme a comprar uno nuevo. El otro día, hablando con mi amigo Ari sobre este tema, me dijo que viera el documental “obsolescencia programada”. La historia de como las diferentes industrias programan sus productos para que dejen de funcionar al llegar a una fecha determinada de su vida. Sí, es cierto. No es una leyenda urbana. Es la sociedad de consumo llevada al extremo.</p>
<p>Volviendo al tema de mi gráfica... el caso es que la he pasado por el horno 3 veces y no he conseguido arreglarla :( He empezado a ver opciones por eBay y espero poder encontrar alguna solución pronto porque ¡no puedo estar sin un ordenador en condiciones!</p>
<p>No sé si fue la muerte de mi PC, pero el sábado por la noche acabé con Alex (mi compañero de piso) y sus amigos. Estaban haciendo una barbacoa y nos apuntamos. Acabamos bastante borrachos a base de Tequila, licor de coco importado de Filipinas y cervezas por doquier. El domingo lo pasé con resaca viendo Oprah y arreglando el post de <a href="/1001-pelis-para-ver-antes-de-morir/">las 1001 pelis para ver antes de morir</a>. ¡Vaya curro que tiene!</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/programmed-obsolescence-my-laptop-is-dead/images/dell_dead_nernqd.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Situación en Sendai despues del terremoto]]></title>
            <link>https://www.joanmira.com/es/blog/situation-in-sendai-after-the-earthquake</link>
            <guid>https://www.joanmira.com/es/blog/situation-in-sendai-after-the-earthquake</guid>
            <pubDate>Sun, 13 Mar 2011 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo enviar dinero a Japón para ayudar a arreglar los destrozos del reciente terremoto]]></description>
            <content:encoded><![CDATA[<p>Ayer escribí un e-mail a Tae Matsuki (nuestro contacto en Sendai). Fue la persona designada por el ayuntamiento de Sendai para guiarnos durante nuestra visita, mostrándonos diversos sitios de interés y llevándonos a comer y cenar en varias ocasiones. Tanto ella como los miembros de la Sociedad Hispánica de Miyagi fueron extremadamente amables con Vicente y conmigo y me alegro de que estén todos bien. A continuación copio los emails que nos estamos enviando:</p>
<h3 id="12-de-marzo-de-2011">12 de marzo de 2011</h3>
<p>Hola Tae!,</p>
<p>Espero que estéis todos bien. Siento mucho el desastre del terremoto y me da mucha pena. Imagino que ahora mismo estaréis desbordados con la situación. Por favor dime si puedo hacer algo para ayudar.</p>
<p>¡Un abrazo muy fuerte y mucho ánimo!</p>
<p>Saludos a los amigos de la asociación hispana en Sendai.</p>
<p>Joan Mira</p>
<h3 id="13-de-marzo-de-2011">13 de marzo de 2011</h3>
<p>Hola Joan:</p>
<p>Muchas gracias por tu amable mensaje. Gracias a Dios, yo y mis familiares estamos bien. Aunque algunas habitaciones de la casa quedaron dañadas, teniendo suficiente espacio para dormir y hacer cosas diarias, no necesitamos refugiarnos. En mi casa, el sábado por la noche, se reanudó el servicio de electricidad.</p>
<p>Con respecto al suministro de aguas, desde principio ningún problema. Solo falta el gas. Dicen que tardarán unas semanas para la reanudación de dicho servicio… Bueno, tengo paciencia y además suerte, ya que en otras zonas de la ciudad, todavía está cortada el agua y electricidad. Creo que aquí, centro de la ciudad, los daños fueron mínimos. Así que los miembros de la Sociedad Hispánica de Miyagi quienes os recibieron en la cena, estarán bien porque ellos también viven en el centro.</p>
<p>Sin embargo, en otros barrios de la ciudad, se dice que cientos personas murieron por el tsunami. El problema es que, por el momento, ni siquiera los cuerpos de rescate como Fuerza Terrestre de Autodefensa pueden acercarse a estos lugares, debido al montón de escombros y muchas aguas terrosas. Razón por la cual, demorará bastante para saber exactamente el saldo de esta catástrofe.</p>
<p>Cuando se tranquilice la situación, te contaré más detalles.</p>
<p>Una vez más agradeciendo por tu amable solidaridad, atentos saludos.</p>
<p>Tae</p>
<h3 id="13-de-marzo-de-2011-1">13 de marzo de 2011</h3>
<p>Hola Tae!</p>
<p>Me alegro mucho de tener noticias tuyas. Todo el mundo está siguiendo con mucha atención todo lo que está pasando en Japón y la verdad es que tus palabras me tranquilizan un poco. Espero que podáis volver a la normalidad cuanto antes y que el daño sea el menos posible.</p>
<p><a href="http://www.facebook.com/notes/h%C3%A9ctor-garc%C3%ADa-puigcerver/as%C3%AD-lo-viv%C3%AD-yo-el-mayor-terremoto-de-la-historia-de-jap%C3%B3n-parte-1/10150116984462662">Este artículo de Héctor</a>, (un alicantino que vive en Tokio desde hace varios años) me gustó mucho. Es un pequeño relato de amor durante el terremoto. Narrado en primera persona. ¡Es muy emocionante! Espero que te guste.</p>
<p>Por favor Tae, envíame cuando puedas más información de como evoluciona la situación y alguna foto (si puedes). Si conoces algún número de cuenta bancaria o forma de poder solidarizarnos con los afectados, estoy seguro de que alguno de los seguidores de La Ruta Samurái estará interesado en saberlo.</p>
<p>En <a href="http://www.rutasamurai.com/Japon/situacion-en-sendai-despues-del-terremoto.html">esta página del blog de La Ruta Samurai</a> estoy poniendo los emails que me envias. ¿Te parece bien?</p>
<p>Un abrazo y mucho ánimo!,</p>
<p>Joan</p>
<h3 id="15-de-marzo-de-2011">15 de marzo de 2011</h3>
<p>A través de la embajada de Japón en España he conseguido algo de información por si alguien quiere ayudar:</p>
<p>DONATIVOS PARA AYUDAR A LAS VÍCTIMAS DE LOS TERREMOTOS DE JAPÓN*</p>
<p>*Actualización sobre la recepción de ayudas y donativos destinados para la ayuda a las áreas damnificadas por el terremoto y tsunami de la región de Tohoku y costa del Pacífico ocurrido el pasado 11 de marzo.</p>
<p>La Cruz Roja Japonesa informa que está en disposición para acoger las ayudas y donativos tanto de particulares como de empresas, organismos e instituciones extranjeras, así como las ayudas de gobiernos de los diferentes países.</p>
<p>A continuación se informa de las diferentes modalidades para aquellas personas e instituciones, tanto privadas como públicas que estuvieran interesadas en realizar su aportación directamente a la Cruz Roja Japonesa.</p>
<h3 id="ayudas-de-personas-particulares-y-colectivos-extranjeros">AYUDAS DE PERSONAS PARTICULARES Y COLECTIVOS EXTRANJEROS</h3>
<ol>
<li>Donativos destinados a las personas damnificadas por el terremoto y posterior tsunami. (Nota: estas ayudas se destinarán a todas las personas afectadas a través de la Cruz Roja Japonesa que lo entregará a los Comités de Reparto de Ayudas de las comunidades locales, quienes se encargarán a su vez de ejecutar la entrega de las ayudas). Si se necesita recibo, deberán indicarlo en el apartado correspondiente.</li>
</ol>
<ul>
<li>Nombre del banco: Sumitomo Mitsui Banking Corporation</li>
<li>Nombre de la sucursal: Ginza</li>
<li>Número de cuenta: 8047670 (Cuenta ordinaria)</li>
<li>Código SWIFT: SMBC JP JT</li>
<li>Nombre del beneficiario: The Japanese Red Cross Society</li>
<li>Dirección del beneficiario: 1-1-3 Shiba-Daimon, Minato-ku, Tokyo  JAPAN</li>
</ul>
<ol start="2">
<li>Donativos destinados a las actividades de salvamento de la Cruz Roja Japonesa. Si se necesita recibo, deberán indicarlo en el apartado correspondiente.</li>
</ol>
<ul>
<li>Nombre del banco: Sumitomo Mitsui Banking Corporation</li>
<li>Nombre de la sucursal: Ginza</li>
<li>Número de cuenta: 8047705 (Cuenta ordinaria)</li>
<li>Código SWIFT: SMBC JP JT</li>
<li>Nombre del beneficiario: The Japanese Red Cross Society</li>
<li>Dirección del beneficiario: 1-1-3 Shiba-Daimon, Minato-ku, Tokyo  JAPAN</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/situation-in-sendai-after-the-earthquake/images/sendai_kgaoko.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Impresionantes fotos de la última edición del Dakar 2011]]></title>
            <link>https://www.joanmira.com/es/blog/impressive-photos-of-the-last-edition-of-dakar-2011</link>
            <guid>https://www.joanmira.com/es/blog/impressive-photos-of-the-last-edition-of-dakar-2011</guid>
            <pubDate>Fri, 14 Jan 2011 00:00:00 GMT</pubDate>
            <description><![CDATA[Las imágenes del desierto me recuerdan a Mongolia]]></description>
            <content:encoded><![CDATA[<p>Stephane Peterhansel y su copiloto, Jean-paul Cottret (los dos franceses) en su BMW, compitiendo en la 9ª etapa del Dakar Argentina-Chile 2011 en Copiapo, Chile. Martes 11 de enero de 2011. (Foto de Natacha Pisarenko)</p>
<p>Me ha costado bastante elegir una de entre las <a href="http://www.boston.com/bigpicture/2011/01/dakar_2011.html">42 fotos que ha seleccionado The Big Picture</a>. Simplemente alucinante. ¡Qué difícil y duro debe ser un rally como ese! Mi enhorabuena a todos los participantes. Por cierto, que pena que <a href="http://www.elmundo.es/elmundo/2011/01/11/television/1294772382.html">Calleja tuviera que abandonar</a> por problemas mecánicos…</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/impressive-photos-of-the-last-edition-of-dakar-2011/images/paris-dakar1_mfdzsc.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Objetivo conseguido]]></title>
            <link>https://www.joanmira.com/es/blog/target-achieved</link>
            <guid>https://www.joanmira.com/es/blog/target-achieved</guid>
            <pubDate>Sun, 10 Oct 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Finalmente, conseguimos llegar a Sendai en Japón y completar la ruta del samurái!]]></description>
            <content:encoded><![CDATA[<p>Más vale informar tarde que nunca… hace un mes y pico, exactamente el 3 de septiembre de 2010 llegamos a Sendai y entregamos los regalos del ayuntamiento de Coria del Río a la directora del centro de relaciones internacionales de Sendai. Queremos dar las gracias también a la Sociedad Hispánica de Sendai por el recibimiento que nos dieron y en especial a Tae Matsuki por su excepcional amabilidad y el esfuerzo que hizo para hacer que nuestra visita a Sendai fuera un regalo inolvidable.</p>
<p>También queremos agradecer profundamente toda la ayuda que nos han prestado nuestros patrocinadores (en especial Leonardo del Museo Nicolás Roerich), el ayuntamiento de Coria del Río, a la asociación amigos de japón de Coria del Río (en especial a Virginio Japón, Juan Francisco Japón y Momo), la embajada de España en Japón, la embajada de España en Rusia, todo el equipo de Yamaha en Yekaterinburgo (en especial a Sofía Panova), a Mike y Ruby por su ayuda en Mongolia, a Bob y su mujer por su ayuda en Barnaul, a Mami Uchida por su importante ayuda como traductora, a Paco y a su mujer por tratarnos como reyes en Nagoya, a Martyn por ser un buen compañero de viaje y por salvarnos de quedarnos tirados en numerosas ocasiones y por supuesto también queremos daros las gracias a todos los que nos habéis acompañado o seguido en Facebook en esta aventura y a los que os habéis preocupado por nuestra salud.</p>
<p>¡Muchas gracias!</p>
<p>PD. Por favor <a href="http://facebook.com/rutasamurai">visitad nuestra página en Facebook</a> para leer los últimos comentarios del viaje y ver las fotos más actualizadas.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/target-achieved/images/we_made_it_lo8yit.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Crónica de Mongolia. Parte I]]></title>
            <link>https://www.joanmira.com/es/blog/mongolia-chronicle-part-i</link>
            <guid>https://www.joanmira.com/es/blog/mongolia-chronicle-part-i</guid>
            <pubDate>Mon, 23 Aug 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Las carreteras en Mongolia son "free style". Si no existen, te las inventas]]></description>
            <content:encoded><![CDATA[<p>Llegamos a la frontera entre Rusia y Mongolia el 25 de julio. El último pueblo de Rusia se llama Tashanta, una pequeña aldea que no tardamos en cruzar más de 2 minutos. Nos hacemos la foto de rigor frente al letrero de entrada al pueblo y seguimos hacia la frontera rusa.</p>
<p>Cuando llegamos al punto de control, nos encontramos en la cola a dos motoristas canadienses (un hombre y una mujer), equipados con dos BMW GS1200 y un equipaje bien estudiado. Se nota que tienen experiencia viajando en moto por el mundo. Hablamos un rato con ellos y nos dicen que tenemos que volver un poco más atrás para rellenar unos papeles antes de poder entrar en la aduana y en el control de pasaportes.</p>
<p>Al final conseguimos entrar en las oficinas y empezar los trámites para que nos dejen pasar a Mongolia. El asunto del visado y pasaporte lo solucionamos rápido, pero hay problemas con el cuaderno ATA. Al parecer en San Petersburgo no rellenaron bien el cuaderno y ahora al irnos de Rusia no quieren sellarnos el cuaderno porque dicen que ya está cerrada la importación.</p>
<p>Es la hora de comer, la frontera cierra durante una hora, así que nos quedamos deambulando por ahí, nos hacemos un pícnic en medio de la frontera y esperamos a que vuelvan los funcionarios para ver que solución le damos al tema del cuaderno ATA. Después de esperar unas horas y de emplear técnicas avanzadas en protesta silenciosa, nos dicen que no hay problema, que podemos pasar a Mongolia, pero que en el cuaderno ATA ha quedado registrado nuestro paso por Rusia de una forma un poco extraña, ya que nos dieron entrada y salida de la mercancía en San Petersburgo.</p>
<p>Tomamos la salida y nos dirigimos hacia el siguiente puesto fronterizo, no sin antes pasar por otros dos controles de pasaporte. Ya en la frontera de Mongolia, entramos en las oficinas para tramitar los papeles de la moto y los visados. Mientras yo me encargaba de los papeles, Vicente se queda vigilando las motos. Hay varios camioneros rusos dando por saco, toqueteando las motos, poniéndose el caso sin pedir permiso… Vicente casi les suelta una hostia.</p>
<p>Cuando conseguimos arreglar los papeles (unas dos horas) seguimos adelante, nos paran y nos obligan a comprar un seguro para la moto (500 rublos, unos 14 €). Los niños se acercan a nosotros para pedirnos alguna chuchería.</p>
<p>Por fin conseguimos entrar en Mongolia y se pone a diluviar, la carretera de tierra se convierte en barrizal con charcos que hacen muy difícil la conducción. Tenemos que llegar a un pueblo llamado Tsanangur y no podemos parar. Llegamos a un punto en el que la carretera está cortada por una verja. ¡Qué coño es esto! Nos quedamos desconcertados por un momento, no podemos creernos que nos obliguen a ir campo a través… pero al final es la única opción. Nos apretamos los machos y nos metemos por medio del monte durante varios kilómetros. Bordeamos la verja y llegamos al primer pueblo Mongol desde la frontera rusa. El camino ha sido complicado, hemos tenido que pasar por algunos charcos profundos, llovía a cántaros y las motos se han puesto muy sucias.</p>
<p>Cuando llegamos al pueblo, el aspecto es bastante peor que los pueblos rusos. Parece bastante devastado, sin embargo, el paisaje y las montañas son impresionantes. De pronto se acercan dos chavales en moto, tienen una sonrisa muy amplia y enseguida se ponen a chapurrear algo de inglés. Quieren llevarnos a su casa para tomar un chai (té) y también nos dicen que nos quedemos a dormir porque llueve mucho y el siguiente pueblo está lejos y la carretera es muy mala.</p>
<p>Nos decidimos a ir con ellos y llegamos a su humilde Ger, donde su familia nos espera con los brazos abiertos. Para variar, nada más llegar me caigo de la moto y la maleta lateral se llena de barro. Se está convirtiendo en un clásico lo de ver la moto en el suelo…</p>
<p>Entramos en el ger (yurta) y nos sentamos a tomar té y hablar un poco con los padres de los chicos que nos rescataron. Parecen contentos de tenernos como invitados y se quedan sorprendidos de todo lo que sabemos decir en Mongol. Enseguida lo arreglamos todo, concretamos la comida para la cena, metemos el equipaje y nos ponemos cómodos junto a la estufa.</p>
<p>Pronto anochece y ya me estaban dando ganas de darle algo a esta gente que tan bien se estaba portando con nosotros. Salimos afuera y empezamos a sacar cosas de las maletas, linternas, candado, radio, camisetas, medicinas, gafas de sol,... al final se quedaron supercontentos y nosotros más tranquilos de poder compensar la hospitalidad que nos ofrecían.</p>
<p>Más tarde empiezan a venir vecinos y familiares. Somos la atracción y no pueden dejar pasar la oportunidad de venir a saludarnos. Nos ponemos todos a cenar, hay varios niños y enseguida se interesan por las fotos que les enseñamos de la cámara, los videos hechos con el móvil y las historias que les contábamos sobre Rusia. Parece increíble, pero tienen en muy lugar al país vecino...</p>
<p>Empieza a anochecer, los invitados se van a su casa y nosotros nos caemos rendidos en la cama, no si antes pasar un poquitin de vergüenza por tener que cambiarnos de ropa delante de toda la familia que no paraba de mirarnos. La cama es un horror, pero la euforia que sentía por estar allí con ellos hace que ni siquiera se me pase por la cabeza lo incómoda que es la cama.</p>
<p>Continuará…</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/mongolia-chronicle-part-i/images/mongolia_suzl8x.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[El día de la marmota versión rusa]]></title>
            <link>https://www.joanmira.com/es/blog/groundhog-day-russian-version</link>
            <guid>https://www.joanmira.com/es/blog/groundhog-day-russian-version</guid>
            <pubDate>Sun, 22 Aug 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[La despedida de Rusia se complica un poco, pero nos lo tomamos con paciencia y todo el buen humor que sea posible]]></description>
            <content:encoded><![CDATA[<p>Hace más de un mes que no me digno a escribir algo con un poco de sustancia literaria y además me voy a evitar contar todas las patéticas excusas que me vienen a la cabeza.</p>
<p>Estamos en Vladivostok desde el miércoles pasado y nos quedan ya solo dos días más para tomar el ferry que nos llevará a Corea del Sur y luego a Japón. Creo que no hace falta que diga las ganas que tengo de llegar, los que me conocéis ya estaréis cansados de oírme hablar de Japón cada dos por tres. El caso es que hemos tenido que quedarnos una semana en esta ciudad porque el ferry a Japón solamente sale una vez a la semana. Además, tuvimos la “desgracia” de llegar solo unas horas después de que zarpara. Unos días más tarde nos dimos cuenta de que no fue tan mala suerte porque empezamos a hacer las gestiones y nos dimos cuenta de que realmente necesitábamos dos o tres días para arreglar los papeles de las motos.</p>
<p>Fuimos un poco ingenuos y llegamos a Vladivostok sin tener ni idea de los horarios ni del número de ferris que había. Luego nos enteramos de que únicamente habían tres opciones posibles: la primera consistía en tomar dos ferris y cruzar a Japón a través de la isla de Sahalin (Rusia) y luego llegando a Wakanai (en Hokkaido). Esta opción la desechamos pronto (aunque era mi preferida porque me habría gustado ver Hokkaido). Ya teníamos los papeles del cuaderno ATA configurados para Vladivostok y viendo como está el panorama con las aduanas, preferimos arriesgarnos 0,0.</p>
<p>La segunda opción que teníamos era tomar un ferry directo hasta Toyama, pero al parecer la compañía que ofrecía este servicio decidió vender el ferry y cerrar la empresa. Seguramente no les salía rentable o quizás se endeudaron tomando demasiado vodka y tuvieron que vender. ¡Quién sabe!, el caso es que nos jodieron el plan.</p>
<p>La tercera opción (la que menos nos gustaba) ha resultado ser la única vía de escape de Rusia. Viajar a Donghae (Corea del Sur) y luego a Sakaiminato (sur de Japón) con la compañía DBS. El trayecto dura dos días y nos ha costado la friolera de 600 €. ¡Un pastiche considerable!</p>
<p>Durante estos días que tenemos que estar en Vladivostok hemos aprovechado para hacer la colada, intentar comprar unas zapatillas nuevas para Vicente y en general mover el culo un poco por la ciudad. Nos hemos acomodado bastante en el hotel y la verdad es que unos días de descanso se agradecen bastante. Me gusta ir en la moto por ahí solo, haciendo gestiones como si estuviera en Alicante. Conocerme las calles y saber como ir a los sitios del barrio. Es una sensación que siempre me gusta repetir. Ya cuando me fui a vivir a Barcelona y Madrid me empezó a gustar y parece que no desaparece. Volver a empezar desde cero en una ciudad nueva ¡es una pasada! Todos los días hay algo nuevo que aprender y eso de superar retos tiene algo de química - ¿endorfinas quizás? - que lo hace bastante adictivo, por lo menos para mí.</p>
<p>Para ir a hacer gestiones en Rusia ya me hago a la idea de que voy a pasar casi todo el día. Hay que tener mucha paciencia y ser muy persistente. En muchas ocasiones le digo a Vicente, “¿Ves? si nos hubiéramos rendido cuando nos han dicho eso, no lo habríamos conseguido”. Los funcionarios nos suelen cerrar muchas puertas, no quieren ayudar, somos una complicación para ellos, no hablamos el idioma. Hay que ser muy persistente y emplear la táctica de la protesta silenciosa. Esta técnica nos ha funcionado bastante bien durante todo el viaje y voy a explicarla porque tiene su gracia.</p>
<p>Cuando las autoridades rusas se cierran en banda y no hay forma de llegar a ningún sitio, hay que hacer como Gandhi. Una protesta no violenta. La guerra no verbal. Buscamos el sitio que más les gusta, donde se reúnen a fumar el pitillo o un cruce de pasillos bastante transitado, el caso es que te vean e incomodarles. Nos vamos directamente a ese sitio y hacemos una sentada. Nos ponemos a hablar entre nosotros y a esperar la reacción. Al rato siempre aparece alguien más predispuesto a ayudar o llama a otro que sepa un poco de inglés. El tema es deshacerse de nosotros :-)</p>
<p>En el hotel donde nos alojamos también hemos coincidido con otros tres moteros que también están viajando por el mundo. Jesús, un vasco que viaja desde España hasta Australia, tiene una moto Ural (marca rusa) con sidecar. Le gusta tocar la guitarra clásica, fuma, es pelirrojo y a veces se tira un rato hablando sin mirarte a la cara. Eric es francés, pero su abuelo era español. Es fotógrafo de viajes extremos y viaja desde España a Shanghái en una Harley-Davidson de 350 Kg (con dos cojones). Lleva 3 bidones de gasolina y puede hacer 700 Km sin parar. Metió su moto en China dentro del maletero de un autobús, pero le pillaron y tuvo que salir de China a los pocos días. El último es Alex, un motero suizo que va hasta Japón en una GS1200. Hoy se ha ido de vuelta a Moscú, donde recogerá su moto que envió en el transiberiano desde Vladivostok.</p>
<p>En fin, nos hemos juntado una cuadrilla interesante y nos reunimos de vez en cuando a contar historias de viajes y tomar cervezas. ¡Así seguiremos un par de días más!</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/groundhog-day-russian-version/images/vladivostok_port_wmjfgt.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Guerra y Paz. Amor y odio]]></title>
            <link>https://www.joanmira.com/es/blog/war-and-peace-love-and-hate</link>
            <guid>https://www.joanmira.com/es/blog/war-and-peace-love-and-hate</guid>
            <pubDate>Mon, 12 Jul 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Curiosidades y experiencias en la primera etapa del viaje por Rusia]]></description>
            <content:encoded><![CDATA[<p>13 de julio de 2010. 2:06 am, en un hotel de Yekaterinburg, Rusia</p>
<p>Hoy ha sido un día durillo pero bastante interesante. Salimos a las 9:00 am desde un pueblecito llamado Sim (situado entre Ufa y Yekaterinburg). Ayer tuvimos que parar en ese pueblecito porque había un incendio en la carretera y se formó un gran atasco. Mientras nos paseábamos por el pueblo con la moto en busca de algún sitio para dormir, la gente nos miraba como si fuéramos auténticos extraterrestres. Nos hemos encontrado de todo, gente que te saluda e intenta entablar conversación, otros que se giran al ver la cámara del casco, algunas niñas que salen corriendo atemorizadas en busca de su madre. En general me he sorprendido de ver que la gente se muestra muy prudente y por lo general no se atreven a acercarse mucho hasta que no nos ven sonreír y saludarles. Pero pasar desapercibidos como en Europa es imposible.</p>
<p>El caso es que nos encontramos con dos chavales (en un 4×4, de esos que regalan…) y estos nos indican que los sigamos hasta el hotel del pueblo. Cuando llegamos al hotel, montamos el típico show de cada día, balbuceos en ruso, dibujitos en papel y onomatopeyas de todo tipo y color para conseguir hacerles entender el tipo de habitación que buscamos. Al final nos la dejaron en 800 rublos más 40 por el parking (unos 22 €). Entramos a la habitación (que hacía un pestazo a calandraca considerable) y vemos que no hay ducha. Nos dicen que tenemos que lavarnos en una especie de sauna con unas palanganas y unos cazos. No tenemos fotos (llovía y me dio pereza sacar la cámara) pero puedo asegurar que el lugar era de lo más pintoresco. La sauna era una caseta destartalada rodeada de cabras y cosas oxidadas por doquier.</p>
<p>Al día siguiente nos despertamos con el placer de haber dormido sabiendo que España era campeona del mundo, una visión que se desvaneció en cuanto escuchamos la incipiente bocina de un tráiler de 40 toneladas que bajaba sin frenos por un puerto de montaña. La gente del pueblo salió a ver el espectáculo y a la espera del desenlace feliz o la catástrofe. Al final consiguió esquivar unos 30 coches y no hubo muertos ni colisiones con grandes explosiones. Después del breve momento de excitación nos ponemos a cargar los bultos y a empezar el viaje rumbo a las montañas Urales.</p>
<p>Los Urales no son la panacea, pero la verdad es que lo hemos agradecido bastante. Tanta carretera recta y llanura se hace un poco pesado. La montaña es siempre más divertida, las curvas te obligan a moverte un poco encima de la moto y suben la adrenalina. Si a eso le añades que hoy iba escuchando uno de mis grupos favoritos “Radiohead” y que a ratos se ponía a llover a lo bestia, el resultado es sumamente placentero. Otra gracia y desgracia de viajar en moto es que podemos oler los sitios por los que pasamos, aunque poder oler los Urales con lluvia es otra pasada.</p>
<p>A la hora de comer hemos parado en un pueblo llamado Miass y luego hemos seguido hasta Karabash, un sitio que me ha llamado la atención por su aspecto inhóspito. Montañas de arena negra, escavadoras viejas abandonadas, chimeneas muy altas, agujeros humeantes. Una combinación de colores irresistible para cualquier fotógrafo. Me podría haber quedado el día entero haciendo fotos de cosas oxidadas y abandonadas. Me recordaba a una de esas pelis rusas que retratan sociedades distópicas, en concreto la de <a href="http://es.wikipedia.org/wiki/Stalker">S.T.A.L.K.E.R</a>.</p>
<h3 id="las-carreteras-y-los-kamikaces">Las carreteras y los kamikaces</h3>
<p>Llevamos alrededor de 10.000 Kms de viaje, de los cuales al menos 3.000 los hemos recorrido en Rusia. La diferencia de viajar en Europa a hacerlo en Rusia es abismal. Las carreteras han sido una de las mayores sorpresas que nos hemos llevado. Sabíamos que estaban mal, pero no tan mal como nos las hemos encontrado. En general no hay autopistas ni vías rápidas. Son todo carreteras convencionales de uno o dos carriles por cada sentido de la marcha. No están valladas, así que a veces te puedes encontrar a gente cruzando, perros que salen a ladrarte, caballos, vacas y ovejas… El estado del asfalto es alucinante. Como pasan miles de camiones al día, dentro de un carril hay dos escalones de unos 10 o 15 cm. de alto que corresponden a las rodaduras de los camiones. Es un fastidio porque para moverte con la moto dentro del carril tienes que tener cuidado al subir y bajar estos escalones. Hay un montón de agujeros, pavimentos rayados que hacen que se deslice la rueda de delante, vías de tren que sobresalen un montón. Además, hay un tráfico muy intenso, no respetan los márgenes de separación y te adelantan por cualquier sitio. Se hace muy dura la conducción y la velocidad media que llevamos es de entre 60 y 70 Kph.</p>
<p>Hace un par de días nos cazó un policía mientras hacíamos un adelantamiento a 134 Kph por una carretera de 80. Lo tienen bien montado, se esconden detrás de árboles (estilo viejuno) y desde lejos te apuntan con el cañón. Luego te paran y te enseñan la velocidad a la que ibas. Nos tocó volver a hacer el show y untar al policía con 500 rublos, aunque creo que se puede bajar aún más, por lo menos hasta 200 rublos. Hay que ir con cuidado porque si se enfadan quizás te quitan la documentación y te hacen perder un día o dos.</p>
<p>Ese mismo día Vicente y yo nos perdimos. Mientras yo paraba en el arcén, Vicente adelantaba a un camión y no lo vi pasarme. Al final, gracias a los walkis que nos patrocina Midland pudimos volver a encontrarnos. Lo peor es que con las prisas no pude parar en un buen sitio y se me cayó la moto al suelo. Aun así, tuve suerte de que no se cayera por la ladera…</p>
<h3 id="algunas-cosas-curiosas">Algunas cosas curiosas</h3>
<p>Me ha sorprendido que en los menús de los restaurantes (aquí los llaman cafés) venga siempre especificado los gramos de los platos. ¡Es muy práctico! El alcohol también lo miden en gramos. Un chupito normal de vodka son 50 g. y uno doble 100 g.</p>
<p>Por lo general, los rusos que nos hemos ido encontrando son buena gente. Nos han ayudado a encontrar sitios para dormir y se han mostrado muy amables. Hay de todo, como en todas partes. También hay algunos más secos que nos ponen mala cara cuando ven que no hablamos ruso, aunque quizás lo hacen porque se ponen a la defensiva al no poder ellos expresarse en inglés.</p>
<p>No hemos visto ni un solo vehículo extranjero en todo lo que llevamos de viaje en rusia. Solamente algún motero como nosotros. Será por lo complicados que son los trámites.</p>
<p>El aspecto en general de los pueblos y ciudades es bastante deprimente. Hay muchas cosas oxidadas, derruidas y viejas. Los edificios son sencillos, poco alegres, me imagino que son un legado de la época comunista. Respecto al diseño y la estética urbana, hay muchas carencias, sin embargo, la gente viste bastante bien, le gusta arreglarse. Es un contraste muy obvio, sobre todo ahora en verano. Imagino que en invierno el escenario será totalmente diferente.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/war-and-peace-love-and-hate/images/moto_caida_yxyqu6.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Entrando en Rusia]]></title>
            <link>https://www.joanmira.com/es/blog/entering-russia</link>
            <guid>https://www.joanmira.com/es/blog/entering-russia</guid>
            <pubDate>Sun, 04 Jul 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Un comienzo bastante duro en Rusia. La burocracia y las leyes no escritas hacen acto de presencia]]></description>
            <content:encoded><![CDATA[<p>Por Vicente Malpica</p>
<p>4 de julio, 5:00 am, en el hotel de San Petersburgo</p>
<p>Hemos pasado varios días de ultra relax en Helsinki-Finlandia. La moto la terminaron el día 2 por la mañana. La recogimos de BMW a eso de las 10 horas, y genial, ya que dentro del taller tienen un bar y pudimos desayunar algo. La factura bien, no muy caro comparado a otros servicios oficiales. Unos 260 euros: aceite motor nuevo (Bel-Ray EXP 10W-40), filtro de aceite, dos piñones cadena (plato trasero y piñón delantero-los pillé para llevarlos encima), también dos bujías y otro filtro de aceite de repuesto.</p>
<p>Según nos dijo la chica de BMW, la tapa del embrague tiene una burbuja en el orificio de uno de los tornillos y hace que salga levemente algo de aceite poco a poco, defecto de fábrica. Que hay que cambiarla, que ellos no la tenían, pero que más adelante si tenemos tiempo que se le cambie, pero que ella cree que ok, que podremos terminar el viaje aunque salga un pelín levemente de aceite. Lo de las dos juntas del cárter motor y embrague, así como esa mano de obra, ya lo paga BMW en garantía.</p>
<p>Ya con la moto lista, volvemos al camping, montamos todo y tomamos rumbo hacia Rusia. Entre Helsinki y la frontera paramos un poco en una gasolinera de la cadena ABC, que por cierto son algo extrañas, ya que solo podemos echar gasolina usando billetes y si ya has llenado el depósito y te sobra, no te devuelve el cambio.</p>
<p>Compramos algo para el lunch, y antes de salir me inclino y miro a ver cómo va lo del aceite. Mi sorpresa fue que otra vez estaba tirando algo de aceite, bueno, rezumaba algo. Pues nada, seguimos, aunque no me gusta nada eso de ver aceite por ahí abajo. Igual no es mucho, una gota lo más cada dos días si acaso, pero el caso es que sale…, y que se quede ahí el tema.</p>
<p>Continuamos rumbo la frontera, por la autovía, todo ok, 90-100 kph. Y más adelante desaparece la autovía y ya buena nacional. Así llegamos a la frontera, no sin antes, unos casi 10 kms., ver una larga cola de camiones parados en la cuneta de la marcha, la derecha. Ya nos presagiaba que la frontera tenía tela de la buena, pero ok, coches, motos y demás sí seguíamos. Luego retenciones de coches, etc, lo que hicimos fue saltárnoslos y ponernos los primeros. Y, aquí empieza el calvario...</p>
<p>Como llevamos Cuaderno ATA, para el tema de importación temporal de nuestras motos, tienen qur sellarlo a la salida de Europa, lo cual hicimos antes en otro lugar, frontera de Finlandia, y todo ok. Ya en la frontera Rusa el tema es otro, un gran CAOS. La gente amontonada, todo como muy degenerado, los funcionarios Rusos ni os cuento… En fin, paciencia. Que si una ventanilla allí, que si otra acá, que si unos rusos camioneros nos ayudan, que por cierto, son buena gente.</p>
<p>El caso es que, además de no haber aseos, ni sillas para sentarse y mosquitos a miles que te devoran, pues estábamos en la zona de camiones, por el tema del Cuaderno ATA, así que las gestiones debíamos hacerlas como si fuésemos camioneros…</p>
<p>Con los camioneros genial, conocimos a varios, sobre todo a uno que nos ayudó un montón, nos dijo que había vivido en Portugal varios años y sabía hablar Portugués perfectamente, así que muy bien con él, nos ayudó mucho a salir del atolladero.</p>
<p>Es deprimente lo que tienen montado allí, por normal, un camionero, que está en esa cola larga, tarda alrededor de 3 días en llegar a las oficinas de esos cutres funcionarios. En fin, luego igual echan 1 día más de papeleos, según les den a los otros, y al final de 4-5 días tardan en pasar la frontera con el camión, increíble, a esto sin aseos y ni tan siquiera lo mínimo…</p>
<p>Nosotros llegamos alrededor de las 17:00 horas, y no nos podemos quejar, bueno sí, pero salimos allá las 2 de la madrugada, 9 horas de espera, teniéndolo todo perfectamente, así van que parece que están aún en la guerra pasada…No con esto se acaba la historia, nos dejan entrar a Rusia, pero debemos ir a aduanas, en menos de 24h., aquí donde estamos ahora, en San Petersburgo, increíble. Hoy hemos ido, pero como es fin de semana, pues más días de pérdida hasta mañana lunes. Nos han liado de mala manera. Si sabían que es fin de semana, ¿por qué nos dicen que tenemos que ir en menos de 24h?</p>
<p>A las 2:00h de la madrugada conseguimos pasar la frontera (después de pedirle permiso hasta el mismísimo jefe de aduanas!). Sin moneda rusa (Rublos), el Portugués, nos acompaña hasta la entrada de un motel de carretera. Nada, está lleno, muy tarde ya, bueno pues aún súper cansados seguimos a ver otro, y otro…., nada de nada, todos llenos o quizás eso de ver a dos moteros a las 3-4 de la madrugada no les molaba nada y por eso nos decían que estaba completo.</p>
<p>Hacía una niebla bestial, ya que el mar estaba cerca, una bruma que hacía que la visera la llevásemos levantada, un rollo, frío unos 5-7 grados, cansancio, mucho sudor, reventados... sin poder encontrar un sitio para dormir. Al final paramos en una gasolinera y nos montamos una especie de pícnic. Sacamos los restos de comida que llevábamos, algo de pan de sándwich, la Nutella de chocolate, un poco de fruta y algo de embutido que sobró del lunch. Nos pusimos los pasamontañas para protegernos de los mosquitos y, a falta de cama para dormir, nos pusimos a cenar =)</p>
<p>Reventados, no sabíamos que hacer, bueno, pues nada, poco a poco, con paradas y con el sol de media noche, que a las tres y media se vé perfectamente, continuamos rumbo a San Petersburgo, por estas carreteras de Dios, menudas cómo están. El asfalto está lleno de socavones, grietas, trancazos en fin..., más despacio, alrededor de 80 km/h., más velocidad y con la niebla hubiera sido peligroso y podríamos cargarnos la moto.</p>
<p>La peña Rusa va que se las pela, has de tener mucho cuidado, ya que adelantan raspándote y cuando les viene bien, en fin, esto es la guerra, y en medio estamos nosotros, hay que adaptarse. Esto de ir en moto, cargada hasta los tuétanos, sin dormir, por estas carreteras, con esta peña, de noche y sin comer medianamente bien, hizo que parásemos en una gasolinera, a unos 50 kms. de esta bonita ciudad. Gasolinera en la que por fin se puede pagar con tarjetas normales y tienen desayuno calentito.</p>
<p>Nos caíamos en la mesa de sueño, dando cabezazos, ya casi dábamos un espectáculo. Al final decidimos continuar hacia San Petersburgo. Llegamos sobre las 7:00 am.</p>
<p>San Peterburgo es genial, con sus olores extraños, con su contaminación de autobuses y camiones humeantes, pero bueno, tras acostumbrarnos a la idiosincrasia de este lugar, que se parece más a un circuito de motocross que a una ciudad, de cómo están sus calles, mezcladas con  redes de cables, alcantarillas y raíles de tranvías…., pues fuimos a buscar los sitios de hoteles baratillos que teníamos apuntados, gracias al GPS.</p>
<p>Nada de nada, unos llenos y otros muy caros. Continuamos buscando, no sin antes meternos una buena multa un policía... jajaja. Intentando llegar al Hostel internacional tuvimos que hacer una pirula en sentido contrario, (nada grave, 10m. en sentido contrario), el policía nos detuvo con su micro coche patrulla y, quería quitarle los papeles a Joan, que fue con el qué habló, así que Joan se metió con él en el coche patrulla y le dejó un par de billetes junto al freno de mano... unos 2000 Rublos que es una pasta, unos 60 euros, pero bueno seguimos con todos nuestros papeles.</p>
<p>Se hacía insoportable el calor, el cansancio, y nada, buscar tras buscar, por esas calles hechas polvo y con un tráfico algo loco, conseguimos una habitación medianamente buena en un hotel chinurri. Aquí estamos, Garden Beijin Hotel, el GPS nos trajo. El alfabeto cirílico es un lío, no te enteras de na de na, ya que si pone banco no lo sabes, si pone un supermercado idem, en fin, vas un poco al tuntún, viendo qué es el lugar, por su exterior, más que por el nombre.</p>
<p>Nada más llegar vamos a la ducha y dormimos un par de horas. A eso de casi las 15:00 horas, dejamos todo bien cerrado en la habitación, tomamos lo justo, papeles ATA y pasaporte, y a ver si dábamos con el lugar de aduanas. Nos habían dicho en la frontera, que inmediatamente llegásemos a San Peterburgo, que fuésemos a la aduana a llevar el libro... Pues nada, el funcionario nos dijo que nones, que hasta el lunes nada de nada, cerrado.</p>
<p>Después nos fuimos a ver si estaban abiertos los que nos hicieron la invitación de entrada a Rusia, ya que nos tienen que registrar ellos a la entrada…, pues nada cerrado también. Vimos una especie de bareto cerca, así que a tomar algo, y de vuelta acá al hotel, todavía teníamos mucho cansancio y sueño.</p>
<p>San Petersburgo se ve muy bonita, hay río, mucha gente, mucho turismo, bonitos monumentos y, hoy ya descansados, iremos a ver algo, antes de irnos, que nos vamos zumbando mañana lunes, que el tiempo se nos echa encima.</p>
<p>De vuelta al hotel, allá a las 19:00 horas, dijimos, vamos a echarnos otra siesta antes de salir a cenar más tarde jajajaja, sí, menuda siesta, hace un rato me desperté, miré por la ventana y era casi de noche, ya que de noche noche no hay en esta época, miro el reloj uaaaaaaa, son las 3 de la madrugada...</p>
<p>Y eso, ahora las 5 y media de la madruga, de día ya, de día como si fuesen casi las 11 de la mañana, aquí estoy escribiendo algo. Joan ahí está torrado aún, con más de 10 horas de sueño, es que le gusta dormir la tira, hace muy bien, yo por mi trabajo estoy más acostumbrado menos horas, me suelo despertar pronto.</p>
<p>Ya estamos en Rusia, nos queda una tirá, pero eso, que poco a poco se irá haciendo camino.</p>
<p>Saludos a todos y todas y, en todo lo posible, os iremos narrando y poniendo fotos de todo este algo loco viaje hacia el Japón, muchos abrazos.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/entering-russia/images/IMG_2610-_odlju0.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[La dimensión de los sueños]]></title>
            <link>https://www.joanmira.com/es/blog/the-dimension-of-dreams</link>
            <guid>https://www.joanmira.com/es/blog/the-dimension-of-dreams</guid>
            <pubDate>Wed, 30 Jun 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Algunas observaciones sobre cómo va el viaje cuando llevamos ya casi un mes en marcha]]></description>
            <content:encoded><![CDATA[<p>Esta entrada se la debo a los Foo Fighters. Si no es por ellos, no me habría puesto de humor para escribir algo.</p>
<p>Pobre iluso de mí. Había creado hasta 15 categorías distintas para ordenar las entradas del blog según el país. Un plan lleno de optimismo que, a día de hoy, ya puedo constatar no va a ser posible cumplir. Viajar en moto al ritmo que vamos es algo parecido a querer ver el museo del Louvre en 10 minutos. Pero en realidad, este viaje no son unas vacaciones, no se trata de hacer turismo, ni de tomar las fotos de turno frente a los monumentos más representativos. Este viaje solo tiene un objetivo: llegar a Japón.</p>
<p>Hoy hace exactamente 25 días que salimos de Coria del Río. Se han pasado volando. La carretera, la moto, la tienda de campaña, el equipaje, las fotos, la comida, la limpieza, la mecánica. Es lo primero que me viene a la cabeza, es como si nunca se terminara la planificación. Al terminar un día ya tenemos que planificar el día siguiente. Es la historia interminable. Cada vez me dan ganas de dejarlo todo en las manos del destino y la improvisación.</p>
<p>Europa ha sido terriblemente fácil, nada de aventuras, nada de riesgos. Durante estos días me he sentido casi casi como cuando veo una película en el salón de mi casa. Solo me faltaba un eyaculador de palomitas embebido en el casco. Cada país nuevo era una copia “mejorada” del anterior, eso sí, cuanto más al norte, más robotizada y atontada está la gente. Hasta llegar al punto de no contestar “hello” cuando se le saluda. Sin ganas de entablar conversación y con una tristeza crónica plasmada en sus caras.</p>
<p>Actualizado: viajar por Europa ha sido más fácil de lo que esperaba. Las carreteras son buenas, hay muchos hostales, campings y todos los servicios funcionan a la perfección. La gente de los países escandinavos no es tan seca y tan atontada como pensaba. Hay de todo, pero sí que se nota una cierta indiferencia o timidez a la hora de relacionarse con los extranjeros.</p>
<p>En cualquier caso, ¿quién soy yo para opinar tan a la ligera? Yo solo soy un espectador subido en una moto que de vez en cuando tiene la posibilidad de compartir cortos espacios de tiempo con la gente del país visitado. Más al norte de Alemania se nota un cambio bastante fuerte en el carácter de la gente, más seco. Hay muy poca vida en la calle y les cuesta bastante relacionarse. ¿Se nota que tengo ganas de marcharme de Helsinki?</p>
<p>Lo más importante en los viajes es siempre relacionarse con la gente. Abrir tu corazón y tu mente. Absorber nuevos puntos de vista y formas de hacer las cosas. ¿Pero qué pasa cuando te encuentras con gente cerrada sin ganas de compartir nada? Ellos no están viajando como nosotros y no tienen tanta necesidad de compartir su tiempo. Por eso Dios creó Internet ^_^ y le dijo a Casey que creara <a href="http://www.couchsurfing.com/">CouchSurfing</a>.</p>
<p>Mañana sabremos si finalmente han traído la pieza que falta para la moto de Vicente y es entonces cuando decidiremos si nos metemos en el teletransportador para cruzar a territorio ruso. Tengo la impresión de que va a ser un julio movidito,… otra historia. Nos encontramos bastante bien física y mentalmente, así que ¡a hacer kilometros! Tengo muchísimas ganas de llegar a Japón, meterme en un <em>onsen</em> y colapsar a sushi y ramen hasta que me salga por las orejas. Por no hablar de las otras diez mil cosas que quiero hacer.</p>
<p>Ojalá nos encontremos a gente buena por el camino. Ya estoy cansado de escuchar a bombeadores que no paran de hablar y se les sale el ego por todos los orificios de su cuerpo. ¿Tan difícil es saber conversar bien? Solo hace falta saber escuchar, poner interés y leer el lenguaje corporal.</p>
<p>Muchas gracias a todos los que nos habéis acompañado en Europa: Octavio, Tomás, Villahermosa, Juan, Moterus, José (el canario), Maria José, Equipo de Midland Francia, Fiodor, Pepo, Zarwash, Zoohal, Sio, Arrash, Miikka y Björn.</p>
<p>Un abrazo grasiento a todos, ¡persons!</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-dimension-of-dreams/images/finlandia_vhxvby.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Seguimiento del viaje]]></title>
            <link>https://www.joanmira.com/es/blog/trip-tracking</link>
            <guid>https://www.joanmira.com/es/blog/trip-tracking</guid>
            <pubDate>Sat, 26 Jun 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Se acaba Europa y pronto empiezan las emociones fuertes y la aventura real]]></description>
            <content:encoded><![CDATA[<p>Estamos en el ferry hacia Finlandia y durante el viaje por Europa no hemos podido tener mucho acceso a Internet. Lo poco que podemos ir actualizando lo hacemos directamente en Facebook. Por favor, uniros a la <a href="http://facebook.com/rutasamurai">página de la ruta samurái en Facebook</a> para ver las últimas fotos y comentarios sobre el viaje.</p>
<p>¡Ya pronto entramos en Rusia! Un abrazo a todos.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/trip-tracking/images/finlandia1_lu6sjt.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ya hemos salido!]]></title>
            <link>https://www.joanmira.com/es/blog/we-already-started</link>
            <guid>https://www.joanmira.com/es/blog/we-already-started</guid>
            <pubDate>Tue, 08 Jun 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Breve nota de agradecimiento y video del reportaje de Giralda TV]]></description>
            <content:encoded><![CDATA[<p>Llevamos cuatro días en marcha, pero hasta ahora no habíamos tenido tiempo de actualizar la página. Han transcurrido los días de forma bastante frenética, ¡hemos hecho ya más de 2.000Km!</p>
<p>Muchas gracias a todos los amigos y seguidores del proyecto, a los corianos, al ayuntamiento de Coria, a la asociación hispano-japonesa de Coria, a nuestros patrocinadores y a los medios de comunicación que se han interesado por este proyecto. Estamos muy contentos y con muchas fuerzas para seguir adelante.</p>
<p><a href="http://www.rutasamurai.com/component/option,com_hdflvplayer/Itemid,164/layout,playerlayout/view,player/index.php?option=com_hdflvplayer&amp;Itemid=164&amp;compid=5">Aquí podéis ver el vídeo</a> que ha grabado Giralda TV del evento en Coria del Rio.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/we-already-started/images/coria_nreau7.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Museo Bandera de la Paz Nicolás Roerich]]></title>
            <link>https://www.joanmira.com/es/blog/museum-flag-of-peace-nicolas-roerich</link>
            <guid>https://www.joanmira.com/es/blog/museum-flag-of-peace-nicolas-roerich</guid>
            <pubDate>Wed, 26 May 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Un gran aliado y benefactor de la ruta del samurái]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>Donde hay Paz, hay Cultura; Donde hay Cultura, hay Paz. - Nicolás Roerich (1874-1947)</p>
</blockquote>
<p>El <a href="http://shambala-roerich.com/">Museo Bandera de la Paz Nicolás Roerich</a> es uno de los mayores benefactores del proyecto de La Ruta del Samurái y por eso queremos hablaros un poco acerca de la bandera de la paz que llevaremos en las motos y sobre su creador, Nicolás Roerich.</p>
<p><a href="http://shambala-roerich.com/">El museo</a> está enclavado en las montañas del País Vasco, recibe durante los fines de semana del verano a todos aquellos que sean amantes de la unión entre Oriente y Occidente, en su aspecto cultural, filosófico y espiritual. Pinturas de los Roerich, Agni-Yoga, India, Meditación Grupal de Luna Llena, Radiestésia-Radiónica, Viajes de aventuras espirituales, Lecturas de libros, Paseos por el campo. Todo esto y mucho más, lo encontrarás en la <a href="http://shambala-roerich.com/">Casa de campo Nicolás Roerich</a> de Leonardo y Petri.</p>
<p><a href="http://www.banderadelapaz.org/bandera/index.shtml">La Bandera de la Paz</a> es un símbolo que se encuentra en el mundo entero, existe desde tiempos inmemoriales. Nadie puede pretender que pertenezca a una religión, grupo o tradición particular, y representa la evolución de la conciencia en sus diversas fases, teniendo un carácter completamente universal.</p>
<p>En la India lo encontramos como el más antiguo de los símbolos, <a href="http://es.wikipedia.org/wiki/Chint%C4%81mani">Chintamani</a>, símbolo de la felicidad; también lo hallamos en el Templo del Cielo en Pekín; aparece igualmente en los Tres Tesoros del Tíbet; sobre el Pecho del Cristo en la célebre pintura de Memling; en la <a href="http://www.fundacionpea.org/arte/madonna.JPG">Madonna de Strasburgo</a>, en los escudos de las cruzadas y en el blasón de los Templarios; lo vemos también en las hojas de las famosas espadas del Cáucaso, conocidas bajo el nombre de “Gurda”.</p>
<p>Aparece como símbolo en un gran número de sistemas filosóficos antiguos. Lo encontramos en las insignias de Gengis Khan y de Rigden Djepo; sobre el “Tanka” de Tamerlán (Timur Lang) y en el blasón de los Papas. También se halla en las obras de los antiguos pintores españoles y de Tiziano, y en el antiguo icono de San Nicolás de Bari, en el de San Sergio y en la Santísima Trinidad. Y también, frecuentemente, sobre las banderas budistas. Este mismo signo se encuentra marcado sobre los corceles mongoles. <em>Nada podría ser más apropiado para agrupar a las razas que este símbolo, ya que no es un simple ornamento, sino un signo que lleva en sí una profunda significación</em>.</p>
<blockquote>
<p>Cuando se trata de defender los tesoros del mundo, ningún símbolo mejor podría escogerse, ya que es universal, de una antigüedad ilimitada (uno de los más antiguos del mundo) y lleva en sí mismo un sentido que encontrará eco en cada corazón.</p>
</blockquote>
<p>Sus tres esferas fueron analizadas por Nicolás Roerich, el diseñador de la Bandera de la Paz, como la síntesis de todas las artes, todas las ciencias y todas las religiones dentro del círculo de la cultura. <em>El definió la Cultura como “el desarrollo del potencial creativo del hombre”. Creía que “el logro de la paz, a través de la cultura, es una meta para ser realizada a través del esfuerzo positivo de la voluntad humana”</em>.</p>
<p>Donde quiera que se exponga la Bandera reconoce los grandes logros del pasado, del presente y del futuro inscritos en el anillo de la eternidad. Alienta al individuo a esforzarse hacia la realización de su más alto potencial, embelleciendo todos los aspectos de la vida; anima a que cada persona tome su responsabilidad para la evolución del planeta. Significa el constructor de la paz; y simboliza la transformación del individuo y de la sociedad. Representa cooperación -la piedra angular de la emergente cultura planetaria- en todos los aspectos de la actividad humana.</p>
<p>Nicolás Roerich fue un artista, filósofo, arqueólogo y escritor mundialmente conocido. Creó un Tratado Internacional, el Pacto Roerich y la Bandera de la Paz. Estipuló que la Bandera ondease sobre todos los monumentos históricos y las instituciones educativas, artísticas y científicas para indicar una protección y un respeto especial en tiempos de guerra y de paz. Reconoció que los tesoros culturales son de valor permanente para todas las personas como herencia común de la humanidad.</p>
<p>El Pacto fue presentado por Roerich en Nueva York en 1929 y mereció la nominación para el Premio Nobel de la Paz. El 15 de abril de 1935, el Presidente Franklin D. Roosevelt presidió una ceremonia en la Casa Blanca, en Washington D.C., en la cual veinte países latinoamericanos se unieron a los Estados Unidos en la firma del documento histórico, entre ellos España.</p>
<p>Nicolás Roerich dijo: “La creatividad positiva es la cualidad fundamental del espíritu humano. Demos la bienvenida a todos aquellos quienes, superando las dificultades personales, impulsan sus espíritus en la tarea de la construcción de la Paz, garantizando de esta manera un futuro radiante”.</p>
<p>Más información es: <a href="http://shambala-roerich.com/">http://shambala-roerich.com</a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/museum-flag-of-peace-nicolas-roerich/images/jesucristo_u7y7qq.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Viaje a Barcelona. Reunión con Yamaha y Midland]]></title>
            <link>https://www.joanmira.com/es/blog/trip-to-barcelona-meet-yamaha-and-midland</link>
            <guid>https://www.joanmira.com/es/blog/trip-to-barcelona-meet-yamaha-and-midland</guid>
            <pubDate>Sun, 18 Apr 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Relato junto a Vicente de nuestras mini aventuras con los preparativos del viaje]]></description>
            <content:encoded><![CDATA[<p>El pasado martes, 13 de Abril (vaya día…) Joan viajó en moto desde Alicante hasta mi casa en Cuenca. Habíamos quedado para preparar las cosas para las reuniones que teníamos con varias empresas de Barcelona interesadas en colaborar en el proyecto. Teníamos mucho trabajo que hacer. Imprimir curriculums en papel de buena calidad, perfilar la ruta en google maps, preparar las presentaciones y la documentación para el visado de Mongolia, etc.</p>
<p>Habíamos pasado todo el día trabajando y además se puso a llover por la tarde y no paró de hacerlo durante toda la noche. Aún no éramos conscientes de lo que íbamos a pasar al día siguiente, 600 Km de viaje en moto hasta Barcelona.</p>
<p>Me costó bastante dormir, ya había estado hablando con Joan sobre la lluvia y el mal tiempo. Incluso hablamos de ir a Barcelona en el coche…. Pero la vida y el espíritu del motero es diferente. Además, tenemos que ponernos en forma para el viaje. Había que ir en moto.</p>
<p>Nos levantamos y desayunamos bien, el tiempo seguía cerrado, la humedad era tal que hasta costaba trabajo caminar. No nos dijimos nada, terminamos de desayunar, colocamos todo en las motos y no muy pronto, sobre las 10’30 h., iniciamos la medio-aventura que estoy a punto de narraros.</p>
<p>La lluvia nos regaló un pequeño lapsus de tiempo para ir adaptándonos a la carretera (bien mojada, por cierto). Nos dirigimos hacia Carboneras, paramos para repostar y seguidamente tomamos la N-420 hacia Teruel. Empieza a llover a cántaros!, pero teníamos citas en la ciudad Condal y, a no ser que el destino dijera un NO rotundo, nosotros seguiríamos adelante.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/1_ciiykf.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/1_ciiykf.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/1_ciiykf-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/1_ciiykf-mobile.jpg" />
          <img class="image" src="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/1_ciiykf.jpg" alt="1" loading="lazy">
        </picture>
        <figcaption>1</figcaption>
      </figure></p>
<p>Las manoplas son un gran invento y en un día como este no me puedo imaginar viajar solo con un par de guantes. Joan se puso las suyas en la moto, pero al no tener unos protectores de manos, con la fuerza del viento, empezaron a presionar las manetas de freno y embrague. Ya os podéis imaginar lo incómodo del asunto, lloviendo a cántaros, a cero grados y con los dedos de las manos como palos para evitar que las manoplas accionen el freno…</p>
<p>Continuamos el viaje, “de relax”. Se divisaba en las cunetas de la carretera y montes adyacentes mucha mucha agua y luego pasó a verse nieve…, el indicador de temperatura no paraba de parpadear, me indicaba que había posibilidad de hielo. Se estaba complicado el día, pero bueno, felices de ir en moto, nos reconfortábamos pensando y soñando con los posibles desenlaces de las reuniones que íbamos a tener en Barcelona con los patrocinadores.</p>
<p>Antes de llegar a Teruel pasamos por un pequeño puerto de montaña de más de 1000 metros de altura, había algo de nieve en la carretera, así que decidimos parar un poco a aprovechar el magnífico día. Era necesario dejar constancia fotográfica del momento. Es muy agradable no ir solo en ruta, las penas, son menos penas cuando estás acompañado.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/2_pq7ijg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/2_pq7ijg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/2_pq7ijg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/2_pq7ijg-mobile.jpg" />
          <img class="image" src="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/2_pq7ijg.jpg" alt="2" loading="lazy">
        </picture>
        <figcaption>2</figcaption>
      </figure></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/3_ztiwhx.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/3_ztiwhx.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/3_ztiwhx-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/3_ztiwhx-mobile.jpg" />
          <img class="image" src="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/3_ztiwhx.jpg" alt="3" loading="lazy">
        </picture>
        <figcaption>3</figcaption>
      </figure></p>
<p>Entre Teruel y Alcañiz hacemos una parada, hacía un frío de muerte y la implacable humedad excitaba nuestros grifos nasales de forma incesante. Un buen almuerzo-comida, a base de bocadillo de lomo con queso, nos dejó casi perfectos y con los ánimos restaurados. Qué pena que seguía lloviendo, pero teníamos que continuar el camino por esa bonita carretera rumbo a Alcañiz, Caspe, Fraga y Barcelona.</p>
<p>Al pasar Alcañiz paramos para llenar el depósito de gasolina, la cosa cambió algo, seguía nublado, pero la lluvia cesó. Más rectas, y más rectas interminables, pasamos por el puente que cruza el Ebro y llegamos a Fraga. Lo demás ya es historia, un buen colacao en un bar de carretera tras pasar por Lérida y aburridas rectas de autovía hasta llegar a Manresa. Ya eran casi las siete de la tarde, quedaba poco para llegar a L’Ametlla del Vallés. Los últimos kilómetros de montañas y carretera comarcal los hicimos como zombis con encefalograma plano. Demasiados kilómetros en un mismo día, menos mal que al menos el paisaje era una gozada. Bonitos páramos de montaña que me recordaban a Galicia, ¡qué pasada de verde, es fantástico el norte de Barcelona!</p>
<p>Nos hospedamos, en casa de mi amigo Ignacio, un gran tipo que nos cuidó muy bien. Motero de los de verdad y muy ingenioso con el bricolaje de motos. De hecho, a Joan le instaló unos protectores de manos que ya no usaba para arreglar el problema con las manoplas. Muchas gracias Ignacio, a ver si nos vemos pronto y volvemos a hacer rutas por ahí con las motos.</p>
<h3 id="reunión-con-yamaha-midland-y-otras-gestiones">Reunión con Yamaha, Midland y otras gestiones</h3>
<p>Al día siguiente, miércoles, fue muy buen día, no paramos de hacer cosas. La más importante fue la reunión que tuvimos con la dirección de Yamaha Motor España. Aunque no queremos hablar mucho del tema porque aún estamos en la etapa de negociación. Si al final llegamos a algún acuerdo ya habrá tiempo de contarlo con todo lujo de detalles. Por ahora solo podemos afirmar que el proyecto les gusta mucho y que nosotros nos esforzamos al máximo para animarles a colaborar.</p>
<p>También visitamos a, nuestro ya confirmado patrocinador, Midland. Los cuales nos facilitarán walkis e intercomunicadores para que podamos estar siempre bien comunicados =) David estuvo muy amable explicándonos todas las ventajas (que no son pocas) de la tecnología Bluetooth, la cual nos permite tener conversaciones bidireccionales a la vez y poder escuchar el sonido del teléfono, GPS y MP3. Una maravilla que no le puede faltar a ningún grupo de moteros que tenga intención de hacer algún viaje largo.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/midland_pnhvh6.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/midland_pnhvh6.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/midland_pnhvh6-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/midland_pnhvh6-mobile.jpg" />
          <img class="image" src="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/midland_pnhvh6.jpg" alt="midland" loading="lazy">
        </picture>
        <figcaption>midland</figcaption>
      </figure></p>
<p>Entre las visitas a los patrocinadores, también aprovechamos para iniciar los trámites del visado para Mongolia. Parece que todo está en orden y ahora solo nos queda esperar a que nos devuelvan los pasaportes. Luego fuimos a visitar algunas tiendas de motos y a tomarnos unas buenas cervezas en el mejor pub motero de Barcelona, el Paddock. Unas Guinnes fantásticas, con amigos geniales como Federico-Varadero e Ignacio-Tíger y toda esa gente tan agradable con gasolina por las venas que frecuenta ese gran rincón motero. ¡Muchas gracias!</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/5_w3i0th.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/5_w3i0th.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/5_w3i0th-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/5_w3i0th-mobile.jpg" />
          <img class="image" src="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/5_w3i0th.jpg" alt="5" loading="lazy">
        </picture>
        <figcaption>5</figcaption>
      </figure></p>
<p>Vendimos algunas camisetas del viaje, gracias! y quedamos también en hacer una pequeña fiesta, si todo va bien, el día 6 de junio al anochecer, estando ya empezada la ruta hacia Japón y aprovechando nuestro paso por Barcelona.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/6_gen06b.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/6_gen06b.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/6_gen06b-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/6_gen06b-mobile.jpg" />
          <img class="image" src="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/6_gen06b.jpg" alt="6" loading="lazy">
        </picture>
        <figcaption>6</figcaption>
      </figure></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/7_ybsedb.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/7_ybsedb.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/7_ybsedb-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/7_ybsedb-mobile.jpg" />
          <img class="image" src="/blog/trip-to-barcelona-meet-yamaha-and-midland/images/7_ybsedb.jpg" alt="7" loading="lazy">
        </picture>
        <figcaption>7</figcaption>
      </figure></p>
<p>Y así acaban estos días intensos y agradables, de mucha moto y emociones, unos 530 kilómetros de ida y otros de vuelta, con buenos amigos, felices de viajar en moto y trabajar para hacer realidad nuestros sueños. A cuidarse y a ver si nos pilláis camisetas, necesitamos vuestra ayuda, gracias anticipadas y un gran abrazo para tod@s.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/trip-to-barcelona-meet-yamaha-and-midland/images/4_kuyxuc.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ya tenemos las primeras camisetas!]]></title>
            <link>https://www.joanmira.com/es/blog/we-already-have-the-first-shirts</link>
            <guid>https://www.joanmira.com/es/blog/we-already-have-the-first-shirts</guid>
            <pubDate>Thu, 08 Apr 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Seguimos con mucha energía los preparativos del viaje]]></description>
            <content:encoded><![CDATA[<p>Gracias a nuestros patrocinador EstampAlicante, hemos conseguido una primera tirada de 100 camisetas. Muchas gracias ;-)</p>
<p>A partir de hoy ya podemos enviaros las camisetas a cambio de una pequeña donación de 9€ :-) Para pedirlas, podéis hacerlo desde <a href="http://rutasamurai.herokuapp.com/Camisetas/ver-todos-productos.html">aquí</a>.</p>
<p>Tenemos 13 de la talla XS (es la más pequeña), 4 de la talla S, 39 de la talla M, 28 de la talla L y 12 de la talla XL (la más grande). ¡Date prisa que se acaban!</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/we-already-have-the-first-shirts/images/camisetas_i5qeeq.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[1001 pelis para ver antes de morir]]></title>
            <link>https://www.joanmira.com/es/blog/1001-movies-to-watch-before-you-die</link>
            <guid>https://www.joanmira.com/es/blog/1001-movies-to-watch-before-you-die</guid>
            <pubDate>Wed, 24 Mar 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Una referencia a tener en cuenta para los amantes del cine]]></description>
            <content:encoded><![CDATA[<p>Si estabas buscando por Internet una lista con las mejores películas de la historia, estás en el lugar adecuado. A continuación podrás encontrar las 1001 películas que me he propuesto ver (en versión original con subtítulos) antes de morir. Probablemente son las mejores películas de la historia del Cine y verlas todas va a ser fácil, lo más complicado va a ser encontrar algunas de las más <em>viejunas</em>.</p>
<p>Esta lista (o una muy parecida) también está <a href="http://www.amazon.com/1001-Movies-You-Must-Before/dp/0764161512/ref=sr-1-1?ie=UTF8&amp;qid=1306874610&amp;sr=8-1">disponible en libro</a> - (por si te resulta más cómodo ese formato).</p>
<p>Si no tienes mucho tiempo libre, quizás te interese ver la lista de <a href="https://www.lavanguardia.com/cribeo/cultura/20150828/47374779015/25-peliculas-que-debes-ver-antes-de-los-25.html">las 25 películas que debes ver antes de morir</a> y los <a href="https://cocalecas.net/2014/01/25-documentales-que-tienes-que-ver-antes-de-morir/">25 documentales que deber ver antes de morir</a>.</p>
<h3 id="de-1900-a-1920">De 1900 a 1920</h3>
<ul>
<li>1902 – <a href="http://www.imdb.com/title/tt0000417/">Le voyage dans la lune</a> – Viaje a la luna – George Méliès</li>
<li>1903 – <a href="http://www.imdb.com/title/tt0000439/">The Great Train Robbery</a> – Asalto y robo de un tren – Edwin S. Porter</li>
<li>1915 – <a href="http://www.imdb.com/title/tt0004972/">The birth of a nation</a> – El nacimiento de una nación – D.W. Griffith</li>
<li>1915 – <a href="http://www.imdb.com/title/tt0006206/">Les vampires</a> – Los vampiros – Louis Feuillade</li>
<li>1916 – <a href="http://www.imdb.com/title/tt0006864/">Intolerance</a> – Intolerancia – D. W. Griffith</li>
<li>1919 – <a href="http://www.imdb.com/title/tt0010323/">Das kabinett des Doktor Caligari</a> – El gabinete del Doctor Caligari – Robert Wiene</li>
<li>1919 – <a href="http://www.imdb.com/title/tt0009968/">Broken Blossoms</a> – Lirios rotos/La culpa ajena – D. W. Griffith</li>
</ul>
<h3 id="de-1920-a-1930">De 1920 a 1930</h3>
<ul>
<li>1920 – <a href="http://www.imdb.com/title/tt0011841/">Way down east</a> – Las dos tormentas – D. W. Griffith</li>
<li>1920 – <a href="http://www.imdb.com/title/tt0011870/">Within our gates</a> – Puertas adentro – Oscar Micheaux</li>
<li>1921 – <a href="http://www.imdb.com/title/tt0012364/">Korkalen</a> – La carreta fantasma – Victor Sjöström</li>
<li>1921 – <a href="http://www.imdb.com/title/tt0012532/">Orphans of the storm</a> – Las dos huérfanas – D. W. Griffith</li>
<li>1922 – <a href="http://www.imdb.com/title/tt0013626/">La souriante Madame Beudet</a> – La sonriente Madame Beudet – Germaine Dulac</li>
<li>1922 – <a href="http://www.imdb.com/title/tt0013086/">Dr. Mabuse, der Spieler</a> – Dr. Mabuse – Fritz Lang</li>
<li>1922 – <a href="http://www.imdb.com/title/tt0013427/">Nanook of the Nord</a> – Nanook el esquimal – Robert J. Flaherty</li>
<li>1922 – <a href="http://www.imdb.com/title/tt0013442/">Nosferatu, eine Symphonie des Grauens</a> – Nosferatu el No Muerto – Murnau</li>
<li>1922 – <a href="http://www.imdb.com/title/tt0013257/">Häxan (Witchcraft through the ages)</a> – Häxan: la brujería… – Benjamin Christensen</li>
<li>1922 – <a href="http://www.imdb.com/title/tt0013140/">Foolish wives</a> – Esposas frívolas – Erich v. stroheim</li>
<li>1923 – <a href="http://www.imdb.com/title/tt0014341/">Our hospitality</a> – La ley de la hospitalidad – Buster Keaton</li>
<li>1923 – <a href="http://www.imdb.com/title/tt0014417/">La roue</a> – La rueda – Abel Gance</li>
<li>1924 – <a href="http://www.imdb.com/title/tt0015400/">The Thief of Bagdad</a> – El ladrón de Bagdad – Raoul Walsh</li>
<li>1924 – <a href="http://www.imdb.com/title/tt0015361/">Stachka</a> – La huelga – Sergei Eisenstein</li>
<li>1924 – <a href="http://www.imdb.com/title/tt0015881/">Greed</a> – Avaricia – Erich v. stroheim</li>
<li>1924 – <a href="http://www.imdb.com/title/tt0015324/">Sherlock, Jr.</a> – El moderno Sherlock Holmes – Buster Keaton</li>
<li>1924 – <a href="http://www.imdb.com/title/tt0015064/">Der Letzte Mann</a> – El último – Murnau</li>
<li>1925 – <a href="http://www.imdb.com/title/tt0016332/">Seven chances</a> – Siete ocasiones – Buster Keaton</li>
<li>1925 – <a href="http://www.imdb.com/title/tt0016220/">Phantom of the Opera</a> – El fantasma de la Ópera – Rupert Julian</li>
<li>1925 – <a href="http://www.imdb.com/title/tt0015648/">Bronenosec Potyomkin</a> – Acorazado Potemkim – Sergei Eisenstein</li>
<li>1925 – <a href="http://www.imdb.com/title/tt0015864/">The Gold Rush</a> – La quimera del oro – Charles Chaplin</li>
<li>1925 – <a href="http://www.imdb.com/title/tt0015624/">The big parade</a> – El gran desfile – King Vidor</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0017136/">Metropolis</a> – Metrópolis – Fritz Lang</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0018455/">Sunrise</a> – Amanecer – Murnau</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0017925/">The General</a> – El maquinista de La General – Buster Keaton</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0018528/">The Unknown</a> – Garras humanas – Tod Browning</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0018217/">Oktjabr</a> – Octubre – Sergei Eisenstein</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0018037/">The Jazz singer</a> – El cantor de Jazz – Alan Crosland</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0018192/">Napoleon</a> – Napoleón – Abel Gance</li>
<li>1927 – <a href="http://www.imdb.com/title/tt0018051/">The Kid Brother</a> – El hermanito – J.A. Howe, Ted Wilde (Harold Lloyd)</li>
<li>1928 – <a href="http://www.imdb.com/title/tt0018806/">The Crowd</a> – Y el mundo marcha… – King Vidor</li>
<li>1928 – <a href="http://www.imdb.com/title/tt0018839/">The Docks Of New York</a> – Los muelles de Nueva York – Josef von Sternberg</li>
<li>1928 – <a href="http://www.imdb.com/title/tt0020530/">Un chien andalou</a> – Un perro andaluz – Luis Buñuel</li>
<li>1928 – <a href="http://www.imdb.com/title/tt0019254/">La Passion de Jeanne D’Arc</a> – La Pasión de Juana – Carl Theodor Dreyer</li>
<li>1928 – <a href="http://www.imdb.com/title/tt00-19421/">Steamboat Bill, Jr.</a> – El héroe del río – Charles Reisner Keaton</li>
<li>1928 – <a href="http://www.imdb.com/title/tt0019286/">Potomok Chingos-Khana</a> – Tempestad sobre Asia – Vsevolod Pudovkin</li>
<li>1929 – <a href="http://www.imdb.com/title/tt0019702/">Blackmail</a> – La muchacha de Londres – Alfred Hitchcock</li>
<li>1929 – <a href="http://www.imdb.com/title/tt0019760/">Čelovjek s Kinoapparatom</a> – El hombre de la cámara – Dziga Vertov (Дзига Вертов)</li>
<li>1929 – <a href="http://www.imdb.com/title/tt0018737/">Die Büchse der Pandora</a> – La caja de Pandora (Lulú) – Georg Wilhelm Pabst</li>
</ul>
<h3 id="de-1930-a-1940">De 1930 a 1940</h3>
<ul>
<li>1930 – <a href="http://www.imdb.com/title/tt0020697/">Der Blaue Engel</a> – El Ángel Azul – Josef von Sternberg</li>
<li>1930 – <a href="http://www.imdb.com/title/tt0021577/">L’age d’or</a> – La edad de Oro – Luis Buñuel</li>
<li>1930 – <a href="http://www.imdb.com/title/tt0021571/">Zemlya</a> – La Tierra – Aleksandr Dovzhenko</li>
<li>1930 – <a href="http://www.imdb.com/title/tt0021079/">Little Caesar</a> – Hampa dorada – Mervyn LeRoy</li>
<li>1930 – <a href="http://www.imdb.com/title/tt0020629/">All quiet on the wester front</a> – Sin novedad en el frente – Lewis Milestone</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0022599/">À nous la liberté</a> – Viva la libertad – René Clair</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0022150/">Le million</a> – El millón – René Clair</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0022458/">Tabu</a> – Tabú – Murnau y Flaherty</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0021814/">Dracula</a> – Drácula – Tod Browning</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0021884/">Frankestein</a> – El doctor Frankenstein – James Whale</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0021749/">City LIights</a> – Luces de la ciudad – Charles Chaplin</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0022286/">The public enemy</a> – El enemigo público – William A. Wellman</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0022100/">M</a> – M, el vampiro de Dusseldorf – Fritz Lang</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0021739/">La chienne</a> – La golfa – Jean Renoir</li>
<li>1931 – <a href="http://www.imdb.com/title/tt0023649/">Vampyr (Der Traum des Allan Grey)</a> – Vampyr, la bruja vampiro – Carl Theodor Dreyer</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0023158/">Love me tonight</a> – Ámame esta noche – Rouben Mamoulian</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0022718/">Boudu sauvé des eaux</a> – Boudu salvado de las aguas – Jean Renoir</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0023042/">I am a fugitive from a chain gang</a> – Soy un fugitivo – Mervyn LeRoy</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0023622/">Trouble in Paradise</a> – Un ladrón en la alcoba – Ernst Lubitsch</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0023427/">Scarface: The shame of a Nation</a> – Scarface, el terror del hampa – Howard Hawks</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0023458/">Shanghai express</a> – El expreso de Shanghai – Joseph Von Sternberg</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0022913/">Freaks</a> – La parada de los monstruos – Tod Browning</li>
<li>1932 – <a href="http://www.imdb.com/title/tt0023202/">Me and my gal</a> – Mi chica y yo – Raoul Walsh</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024803/">Zero de conduite</a> – Cero en conducta – Jean Vigo</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024034/">42nd Street</a> – La calle 42 – Lloyd Bacon</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024028/">Footlight Parade</a> – Desfile de candilejas – Lloyd Bacon</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024069/">Gold diggers of 1933</a> – Vampiresas de 1933 – Mervin Le Roy</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024906/">Born to Be Bad</a> – Nacida para ser mala – Lowell Sherman</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0023969/">Duck soap</a> – Sopa de ganso – Leo McCarey [los hermanos Marx]</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024481/">Queen Christina</a> – La reina Cristina de Suecia – Rouben Mamoulian</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0023037/">Las Hurdes (Tierra sin pan)</a> – Luis Buñuel</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024216/">King Kong</a> – King Kong – Merian C. Cooper, Ernest B. Schoedsack</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0023814/">The bitter tea of General Yen</a> – La amargura del General Yen – Frank Capra</li>
<li>1933 – <a href="http://www.imdb.com/title/tt0024601/">Sons of the desert</a> – Compañeros de juerga – Wiliam A. Seiter (El Gordo y el Flaco)</li>
<li>1934 – <a href="http://www.imdb.com/title/tt0025318/">It’s a gift</a> – Norman Z. McLeod</li>
<li>1934 – <a href="http://www.imdb.com/title/tt0025913/">Triumph des Willens</a> – Triunfo de la voluntad – Leni Riefenstahl</li>
<li>1934 – <a href="http://www.imdb.com/title/tt0024844/">L’Atalante</a> – L’Atalante – Jean Vigo</li>
<li>1934 – <a href="http://www.imdb.com/title/tt0024894/">The black cat</a> – Satanás – Edgar G. Ulmer</li>
<li>1934 – <a href="http://www.imdb.com/title/tt0025335/">Judge Priest</a> – El juez Priest – John Ford</li>
<li>1934 – <a href="http://www.imdb.com/title/tt0025316/">It Happened one night</a> – Sucedió una noche – Frank Capra</li>
<li>1934 – <a href="http://www.imdb.com/title/tt0025878/">The thin man</a> – La cena de los acusados – W.S. Van Dyke</li>
<li>1935 – <a href="http://www.imdb.com/title/tt0026174/">Captain Blood</a> – El capitán Blood – Michael Curtiz</li>
<li>1935 – <a href="http://www.imdb.com/title/tt0026752/">Mutiny on the Bounty</a> – La tragedia de la Bountry – Frank Lloyd</li>
<li>1935 – <a href="http://www.imdb.com/title/tt0026778/">Night at the opera</a> – Una noche en la ópera – Sam Wood (Hermanos Marx)</li>
<li>1935 – <a href="http://www.imdb.com/title/tt0026029/">The 39 steps</a> – 39 escalones – Alfred Hitchcock</li>
<li>1935 – <a href="http://www.imdb.com/title/tt0026138/">Bride of Frankenstein</a> – La novia de Frankenstein – James Whale</li>
<li>1935 – <a href="http://www.imdb.com/title/tt0027125/">Top hat</a> – Sombrero de copa – Mark Sandrich</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0028445/">Une partie de campagne</a> – Día de campo – Jean Renoir</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0027977/">Modern Times</a> – Tiempos modernos – Charles Chaplin</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0028333/">Swing Time</a> – En alas de la danza – George Stevens</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0028010/">My man Godfrey</a> – Al servicio de las damas – Gregory La Cava</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0027996/">Mr. Deeds goes to town</a> – El secreto de vivir – Frank Capra</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0028683/">Camille</a> – Margarita Gautier – George Cukor</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0035279/">Sabotage</a> – Sabotaje – Alfred Hitchcock</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0027532/">Dodsworth</a> – Desengaño – William Wyler</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0028358/">Things to come</a> – La vida futura – William Cameron Menzies</li>
<li>1936 – <a href="http://www.imdb.com/title/tt0028201/">Le roman d’un tricheur</a> – La novela de un tramposo – Sacha Guitry</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0028691/">Captain courageous</a> – Capitanes intrépidos – Víctor Fleming</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0206442/">Ye ban ge sheng</a> – Canción de medianoche – Weibang Ma-Xu</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0028950/">La grande illusion</a> – La gran ilusión – Jean Renoir</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0029146/">The life of Emile Zola</a> – La vida de Emile Zola – William Dieterle</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0029608/">Stella Dallas</a> – Stella Dallas – King Vidor</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0029192/">Make way for tomorrow</a> – Dejad paso al mañana – Leo McCarey</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0029583/">Snow White and the Seven Dwarves</a> – Blancanieves y los Siete enanitos – Disney</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0028597/">The Awful Truth</a> – La pícara puritana – Leo McCarey</li>
<li>1937 – <a href="http://www.imdb.com/title/tt0029453/">Pepe le Moko</a> – Pepe le Moko – Julien Duvivier</li>
<li>1938 – <a href="http://www.imdb.com/title/tt0030287/">Jezebel</a> – Jezabel – William Wyler</li>
<li>1938 – <a href="http://www.imdb.com/title/tt0029843/">The adventures of Robin Hood</a> – Robin de los bosques – Michael Curtiz, William Keighley</li>
<li>1938 – <a href="http://www.imdb.com/title/tt0029870/">Angels with dirty faces</a> – Ángeles con caras sucias – Michael Curtiz</li>
<li>1938 – <a href="http://www.imdb.com/title/tt0030522/">Olympia</a> – Olimpia – Leni Riefenstahl</li>
<li>1938 – <a href="http://www.imdb.com/title/tt0030127/">La femme du boulanger</a> – El pan y el perdón – Marcel Pagnol</li>
<li>1938 – <a href="http://www.imdb.com/title/tt0029947/">Bringing up baby</a> – La fiera de mi niña – Howard Hawks</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031971/">Stagecoach</a> – La diligencia – John Ford</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0032156/">Zangiku Monogatari</a> – La historia del último Crisantemo – Kenji Mizoguchi</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031066/">Babes in arms</a> – Hijos de la Farándula – Busby Berkeley</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031679/">Mr. Smith goes to Washington</a> – Caballero sin espada – Frank Capra</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0032138/">The Wizard Of Oz</a> – El mago de Oz – Victor Fleming y otros</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031225/">Destry rides again</a> – Arizona – George Marshall</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031762/">Only angels have wings</a> – Solo los ángeles tienen alas – Howard Hawks</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031381/">Gonne with the wind</a> – Lo que el viento se llevó – Victor Fleming</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031514/">Le jour se léve</a> – Marcel Carné</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031398/">Gunga Din</a> – Gunga Din – George Stevens</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031725/">Ninotchka</a> – Ninotchka – Ernst Lubitsch</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0031885/">La regle du jeu</a> – La regla del juego – Jean Renoir</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0032145/">Wuthering Heights</a> – Cumbres borrascosas – William Wyler</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0032599/">His girl friday</a> – Luna nueva – Howard Hawks</li>
<li>1939 – <a href="http://www.imdb.com/title/tt0032976/">Rebecca</a> – Rebeca – Alfred Hitchckock</li>
</ul>
<h3 id="de-1940-a-1950">De 1940 a 1950</h3>
<ul>
<li>1940 – <a href="http://www.imdb.com/title/tt0032455/">Fantasia</a> – Fantasía – Disney</li>
<li>1940 – <a href="http://www.imdb.com/title/tt0032904/">The Philadelphia Story</a> – Historias de Filadelfia – George Cukor</li>
<li>1940 – <a href="http://www.imdb.com/title/tt0032551/">The Grapes of Wrath</a> – Las uvas de la ira – John Ford</li>
<li>1940 – <a href="http://www.imdb.com/title/tt0032376/">Dance, girl, dance</a> – Dance, girl, dance – Dorothy Arzner</li>
<li>1940 – <a href="http://www.imdb.com/title/tt0032910/">Pinocchio</a> – Pinocho – Disney</li>
<li>1940 – <a href="http://www.imdb.com/title/tt0032811/">The mortal Storm</a> – Tormenta mortal – Frank Borzage</li>
<li>1940 – <a href="http://www.imdb.com/title/tt0032234/">The Bank Dick</a> – Edward F. Cline</li>
<li>1940 – <a href="http://www.imdb.com/title/tt0033467/">Citizen Kane</a> – Ciudadano Kane – Orson Welles</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0033804/">The Lady Eve</a> – Las tres noches de Eva – Preston Sturges</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0034398/">The Wolf Mann</a> – El hombre lobo – George Waggner</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0033870/">The Maltese Falcon</a> – El Halcón Maltés – John Huston</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0034167/">Sergeant York</a> – El sargento York – Howard Hawks</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0033563/">Dumbo</a> – Dumbo – Disney</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0033717/">High Sierra</a> – El último refugio – Raoul Walsh</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0034240/">Sullivan’s Travels</a> – Los viajes de Sullivan – Preston Sturges</li>
<li>1941 – <a href="http://www.imdb.com/title/tt0033729/">How green was my Valley</a> – Qué verde era mi valle – John Ford</li>
<li>1942 – <a href="http://www.imdb.com/title/tt0035169/">The Palm Beach Story</a> – Un marido rico – Preston Sturges</li>
<li>1942 – <a href="http://www.imdb.com/title/tt0035140/">Now, Voyager</a> – La extraña pasajera – Max Steiner</li>
<li>1942 – <a href="http://www.imdb.com/title/tt0034583/">Casablanca</a> – Casablanca – Michael Curtiz</li>
<li>1942 – <a href="http://www.imdb.com/title/tt0035446/">To be or not to be</a> – Ser o no ser – Ernst Lubitsch</li>
<li>1942 – <a href="http://www.imdb.com/title/tt0034587/">Cat People</a> – La mujer pantera – Jacques Tourneur</li>
<li>1942 – <a href="http://www.imdb.com/title/tt0035015/">The Magnificent Ambersons</a> – El cuarto Mandamiento – Orson Welles</li>
<li>1942 – <a href="http://www.imdb.com/title/tt0035575/">Yankee Doodle Dandy</a> – Yanqui Dandy – Michael Curtiz, James Cagney</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0036154/">Meshes of the afternoon</a> – Maya Deren</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0035881/">Fires were started</a> – El fuego comenzó – Humphrey Jennings</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0036135/">The man in grey</a> – Perfidia – Leslie Arliss</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0036112/">The life and death of Colonel Blimp</a> – Vida y muerte del… – M. Powell, E. Pressburger</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0036027/">I walked with a Zombie</a> – Yo anduve con un zombie – Jacques Tourneur</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0036341/">The seventh victim</a> – La séptima víctima – Mark Robson</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0036244/">The Ox-Bow Incident</a> – Incidente en Ox-Bow – William A. Wellman</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0036342/">Shadow of a doubt</a> – La sombra de una duda – Alfred Hitchcock</li>
<li>1943 – <a href="http://www.imdb.com/title/tt0035160/">Ossessione</a> – Obsesión – Visconti</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0037059/">Meet me in St. Louis</a> – Cita en San Louis – Vincente Minnelli</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0037382/">To have and have not</a> – Tener y no tener – Howard Hawks</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0037008/">Laura</a> – Laura – Otto Preminger</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0036855/">Gaslight (The Murder in Thornton Square)</a> – Luz que agoniza – George Cukor</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0036910/">Henry V</a> – Enrique V – Laurence Olivier</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0037824/">Ivan Grozni I y II</a> – Iván el Terrible 1ª y 2ª parte – Eisenstein</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0036775/">Double Indemnity</a> – Perdición – Billy Wilder</li>
<li>1944 – <a href="http://www.imdb.com/title/tt0037101/">Murder, my sweet / Farewell, my lovely</a> – Historia de un dectective – Edward Dmytryk</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0036630/">The battle of San Pietro</a> – John Huston</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0038109/">Spellbound</a> – Recuerda – Alfred Hitchcock</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0037913/">Mildred Pierce</a> – Alma en suplicio – Michael Curtiz</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0037674/">Les enfants du Paradis</a> – Los niños del paraíso – Marcel Carné</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0038890/">Roma, cittá aperta</a> – Roma, ciudad abierta – Roberto Rossellini</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0037884/">The lost weekend</a> – Días sin huella – Billy Wilder</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0037638/">Detour</a> – Detour – Edgar G. Ulmer</li>
<li>1945 – <a href="http://www.imdb.com/title/tt0037800/">I Know where I’m going</a> – Sé adonde voy – Michael Powell y Emeric Pressburger</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0036868/">The best years of our lives</a> – Los mejores años de nuestra vida – William Wyler</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0037558/">Brief encounter</a> – Breve encuentro – David Lean</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038823/">Paisa</a> – Camarada – Roberto Rossellini</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038854/">The Postman always rings twice</a> – El cartero siempre llama dos veces – Tay Garnett</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038762/">My darling Clementine</a> – La pasión de los fuertes – John Ford</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038991/">The stranger</a> – El extraño – Orson Welles</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038348/">La Belle et la Bete</a> – Jean Cocteau</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038355/">The big sleep</a> – El sueño eterno – Howard Hawks</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038669/">The killers</a> – Forajidos – Robert Siodmak</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038733/">A matter of life and death (Stairway to Heaven)</a> – A vida o muerte – M. Powell, E. Pressburger</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038574/">Great expectations</a> – Cadenas rotas – David Lean</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038787/">Notorious</a> – Encadenados – Alfred Hitchcock</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0039192/">Black narcissus</a> – Narciso negro – Micahel Powell, Emeric Pressburger</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038650/">It’s a wonderful life</a> – ¡Qué bello es vivir! – Frank Capra</li>
<li>1946 – <a href="http://www.imdb.com/title/tt0038559/">Gilda</a> – Charles Vidor</li>
<li>1947 – <a href="http://www.imdb.com/title/tt0039631/">Monsieur Verdoux</a> – Charles Chaplin</li>
<li>1947 – <a href="http://www.imdb.com/title/tt0039689/">Out of the past</a> – Retorno al pasado – Jacques Tourneur</li>
<li>1947 – <a href="http://www.imdb.com/title/tt0039420/">The Ghost and Mrs. Muir</a> – El fantasma y la Señora Muir – Joseph L. Mankiewick</li>
<li>1947 – <a href="http://www.imdb.com/title/tt0039677/">Odd man out</a> – Larga es la noche – Carol Reed</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040522/">Ladri di biciclette</a> – Ladrón de bicicletas – Vittorio de Sica</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040536/">Letter from an Unknown Woman</a> – Carta de una desconocida – Max Ophüls</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040766/">Secret beyond the door</a> – Secreto tras la puerta – Fritz Lang</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040366/">Force of evil</a> – La fuerza del destino – Abraham Polonski</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0189219/">Xiao Cheng Zhi Chung</a> – Primavera en una pequeña ciudad – Fei Mu</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040724/">Red River</a> – Río Rojo – Howard Hawks, Arthur Rosson</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040746/">Rope</a> – La soga – Alfred Hitchcock</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040806/">The Snake Pit</a> – Nido de víboras – Anatole Litvak</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040525/">The lady from Shanghai</a> – La dama de Shangai – Orson Wells</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040679/">The paleface</a> – Rostro Pálido – Norman Z. McLeod</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040725/">The red Shoes</a> – Las zapatillas rojas – Michael Powell, Emeric Pressburger</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040897/">The Treasure of the Sierra Madre</a> – El tesoro de Sierra Madre – John Huston</li>
<li>1948 – <a href="http://www.imdb.com/title/tt0040550/">Louisiana Story</a> – Robert J. Flaherty</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0041452/">The heiress</a> – La heredera – William Wyler</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0041546/">Kind hearts and coronets</a> – Ocho sentencias a muerte – Robert Hamer</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0042530/">Gun crazy (Deadly is the female)</a> – El demonio de las armas – Joseph H. Lewis</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0041090/">Adam’s rib</a> – La costilla de Adán – George Cukor</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0042040/">Whiski galore!</a> – Alexander Mackendrick</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0042041/">White heat</a> – Al rojo vivo – Raoul Walsh</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0041786/">The reckless moment</a> – Almas desnudas – Max Ophüls</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0041959/">The third man</a> – El tercer hombre – Carol Reed</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0041716/">On the town</a> – Un día en Nueva York – Stanley Donen, Gene Kelly</li>
<li>1949 – <a href="http://www.imdb.com/title/tt0041719/">Orphee</a> – Orfeo – Jean Cocteau</li>
</ul>
<h3 id="de-1950-a-1960">De 1950 a 1960</h3>
<ul>
<li>1950 – <a href="http://www.imdb.com/title/tt0042208/">The Asphalt Jungle</a> – La jungla de asfalto – John Huston</li>
<li>1950 – <a href="http://www.imdb.com/title/tt0042876/">Rashomon</a> – Akira Kurosawa</li>
<li>1950 – <a href="http://www.imdb.com/title/tt0043137/">Winchester ’73</a> – Anthony Mann</li>
<li>1950 – <a href="http://www.imdb.com/title/tt0042895/">Rio Grande</a> – John Ford</li>
<li>1950 – <a href="http://www.imdb.com/title/tt0042192/">All about Eve</a> – Eva al desnudo – Joseph L. Mankiewick</li>
<li>1950 – <a href="http://www.imdb.com/title/tt0043014/">Sunset Blvd.</a> – El crepúsculo de los dioses – Billy Wilder</li>
<li>1950 – <a href="http://www.imdb.com/title/tt0042804/">Los olvidados</a> – Luis Buñuel</li>
<li>1950 – <a href="http://www.imdb.com/title/tt0042593/">In a lonely Place</a> – En un lugar solitario – Nicholas Ray</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0043338/">The big carnival</a> – El gran carnaval – Billy Wilder</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0044081/">A Streetcar Named Desire</a> – Un tranvía llamado deseo – Elia Kazan</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0044079/">Extrangers on a Train</a> – Extraños en un tren – Alfred Hitchcock</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0044829/">The Lavender Hill Mob</a> – Oro en barras – Charles Crichton</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0043899/">Pandora and the Flying Dutchman</a> – Pandora y el holandés errante – Albert Lewin</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0043265/">The African Queen</a> – La Reina de África – John Huston</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0042619/">Journal d’un curé de campagne</a> – Diario de un cura de campaña – Robert Bresson</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0043278/">Un american in Paris</a> – Un americano en París – Vincente Minnelli</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0043924/">A Place in the Sun</a> – Un lugar en el sol – George Stevens</li>
<li>1951 – <a href="http://www.imdb.com/title/tt0043456/">The Day the Earth Stood Still</a> – Ultimátum a la Tierra – Robert Wise</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0045061/">The Quiet Man</a> – El hombre tranquilo – John Ford</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0043686/">Jeux interdits</a> – Juegos prohibidos – René Clément</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0044357/">Angel Face</a> – Cara de ángel – Otto Preminger</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0045152/">Singin’ in the Rain</a> – Cantando bajo la lluvia – Stanley Donen</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0044741/">Ikiru</a> – Vivir – Akira Kurosawa</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0043511/">Europa ’51</a> – Roberto Rossellini</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0044391/">The Bad and the Beautiful</a> – Cautivos del mal – Vincente Minnelli</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0044419/">The Big Sky</a> – Ríos de sangre – Howard Hawks</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0044706/">High Noon</a> – Solo ante el peligro – Fred Zinnermann</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0045274/">Umberto D</a> – Vittorio de Sica</li>
<li>1952 – <a href="http://www.imdb.com/title/tt0044487/">Le carrosse d’or</a> – La carroza de oro – Jean Renoir</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0045557/">The Bigamist</a> – El bígamo – Ida Lupino</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0045537/">The Band Wagon</a> – Melodías de Broadway – Vincente Minnelli</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046022/">Madame de…</a> – Max Ophüls</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0045793/">From here to eternity</a> – De aquí a la eternidad – Fred Zinnermann</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046438/">Tokyo Monogatari</a> – Cuentos de Tokio – Yasujiro Ozu</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046250/">Roman Holiday</a> – Vacaciones en Roma – William Wyler</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046268/">Le salaire de la peur</a> – El salario del miedo – Henri-Georges Clouzot</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0044953/">The Naked Spur</a> – Colorado Jim – Anthony Mann</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046187/">Pickup on South Street</a> – Manos peligrosas – Samuel Fuller</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0045810/">Gentlemen Prefer Blondes</a> – Los caballeros las prefieren rubias – Howard Hawks</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0045555/">The Big Heat</a> – Los sobornados – Fritz Lang</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046487/">Les vacances de M. Hulot</a> – Las vacaciones de Monsieur Hulot – Jacques Tati</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046511/">Viaggio in Italia</a> – Te querré siempre – Roberto Rossellini</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046478/">Ugetsu Monogatari</a> – Cuentos de la luna pálida – Kenji Mizoguchi</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046303/">Shane</a> – Raíces profundas – George Stevens</li>
<li>1953 – <a href="http://www.imdb.com/title/tt0046414/">Beat the Devil</a> – La burla del diablo – John Huston</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047136/">Johnny Guitar</a> – Nicholas Ray</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047296/">On the Waterfront</a> – La ley del silencio – Elia Kazan</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047472/">Seven Brides for Seven Brothers</a> – Siete novias para siete hermanos – Stanley Donen</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0046911/">Les Diaboliques</a> – Las diabólicas – Henri-Georges Clouzot</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047834/">Animal Farm</a> – Rebelión en la granja – Joy Batchelor, John Halas</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047396/">Rear Window</a> – La ventana indiscreta – Alfred Hitchcock</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047522/">A Star is born</a> – Ha nacido una estrella – George Cukor</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0046754/">The Barefoot Contessa</a> – La condesa descalza – Joseph L. Mankiewicz</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047528/">La Strada</a> – Federico Fellini</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047478/">Shichinin Samurais</a> – Los siete samurais – Akira Kurosawa</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047469/">Senso</a> – Luchino Visconti</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047495/">Silver Lode</a> – Filón de Plata – Allan Dwan</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0046828/">Carmen Jones</a> – Otto Preminger</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047445/">Sanshô Dayu</a> – El intendente Sanshô – Kenji Mizoguchi</li>
<li>1954 – <a href="http://www.imdb.com/title/tt0047443/">Salt of the Earth</a> – La sal de la tierra – Herbert J. Biberman</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0047840/">Artists and Models</a> – Cómicos en París – Frank Tashlin</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048140/">Guys and Dolls</a> – Ellos y ellas – Joseph L. Mankiewicz</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048473/">Pather Panchali</a> – La canción del sendero – Satyajit Ray</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0047849/">Bad Day at Black Rock</a> – Conspiración de silencio – John Sturges</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048363/">Les maîtres fous</a> – Los amos locos – Jean Rouch</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048121/">Hill 24 Doesn’t Answer</a> – La Colina 24 no contesta - Thorold Dickinson</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048281/">The Ladykillers</a> – El quinteto de la muerte – Alexander Mackendrick</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048356/">Marty</a> – Delbert Mann</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048452/">Ordet</a> – La palabra – Carl Theodor Dreyer</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0047892/">Bob le Flambeur</a> – Jean-Pierre Melville</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048261/">Kiss me deadly</a> – El beso mortal – Robert Aldrich</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048342/">The man from Laramie</a> – El hombre de Laramie – Anthony Mann</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048545/">Rebel without Cause</a> – Rebelde sin causa – Nicholas Ray</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048488/">The Phenix City Story</a>- El Imperio del terror – Phil Karlson</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048641/">Sommarnattens Leende</a> – Sonrisas de una noche de verano – Ingmar Bergman</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048434/">Nuit et Brouillard</a> – Noche y niebla – Alain Resnais</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048424/">The Night of the Hunter</a> – La noche del cazador – Charles Laughton</li>
<li>1955 – <a href="http://www.imdb.com/title/tt0048308/">Lola Montès</a> – Lola Montes – Max Ophüls</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049223/">Forbidden Planet</a> – Planeta prohibido – Fred M. Wilcox</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049012/">Biruma No Tategoto</a> – El arpa birmana – Kon Ichikawa</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049730/">The Searchers</a> – Centauros del desierto – John Ford</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049902/">Un condamné a mort s’est echappé</a> – Un condenado a muerte… – Robert Bresson</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049966/">Written in the Wind</a> – Escrito sobre el viento – Douglas Sirk</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049470/">The man who Knowk too Much</a> – El hombre que sabía demasiado – Alfred Hitchcock</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049261/">Giant</a> – Gigante – George Stevens</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0047811/">All the heaven Allows</a> – Solo el cielo lo sabe – Douglas Sirk</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0077745/">Invasion of the Body Snatchers</a> – La invasión de los ladrones de cuerpos – Don Siegel</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0051207/">The Wrong Man</a> – Falso culpable – Alfred Hitchcock</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049010/">Bigger than Life</a> – Delirio de locura – Nicholas Ray</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049314/">High Society</a> – Alta sociedad – Charles Walters</li>
<li>1956 – <a href="http://www.imdb.com/title/tt0049833/">The Ten Commandments</a> – Los Diez Mandamientos – Cecil B. DeMille</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050083/">12 Angry Men</a> – Doce hombres sin piedad – Sidney Lumet</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050976/">Det Sjunde Inseglet</a> – El Séptimo Sello – Ingmar Bergman</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050105/">An Affair to Remember</a> – Tú y yo – Leo McCarey</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050986/">Smultronstället</a> – Fresas salvajes – Ingmar Bergman</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050783/">Le notti di Cabiria</a> – Las noches de Cabiria – Federico Fellini</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050613/">Kumonosu Jo</a> – Trono de sangre – Akira Kurosawa</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050539/">The Incredible Shrinking Man</a> – El increíble hombre menguante – Jack Arnold</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0048956/">Aparajito</a> – El Invencible – Satyajit Ray</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050468/">Gunfight at the OK Corral</a> – Duelo de Titanes – John Sturges</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050212/">The Bridge on the River Kwai</a> – El puente sobre el río Kwai – David Lean</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050188/">Bahrat Mata</a> – Madre India – Mehbood Khan</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050634/">Letjat Zhuravli</a> – Cuando migran las grullas – Mikhell Kalatozov</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0050825/">Paths of Glory</a> – Senderos de gloria – Stanley Kubrick</li>
<li>1957 – <a href="http://www.imdb.com/title/tt0051036/">Sweet Smell of Success</a> – Chantaje en Broadway – Alexander Mackendrick</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0051899/">Man of the West</a> – El hombre del Oeste – Anthony Mann</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0052311/">Touch of Evil</a> – Sed de mal – Orson Welles</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0051390/">Bab El Hadid</a> – Estación Central – Youssef Chahine</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0051658/">Gigi</a> – Vincente Minnelli</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0051525/">The Defiant Ones</a> – Fugitivos – Stanley Kramer</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0052357/">Vertigo</a> – Vértigo (De entre los muertos) – Alfred Hitchcock</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0052080/">Popiól I Diament</a> – Cenizas y diamantes – Andrzej Wajda</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0051554/">Drácula</a> – Terence Fisher</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0050706/">Mon oncle</a> – Mi tío – Jacques Tati</li>
<li>1958 – <a href="http://www.imdb.com/title/tt0051792/">Jalsaghar</a> – El salón de música – Satyajit Ray</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053198/">Les quatre cents copus</a> – Los cuatrocientos golpes – François Truffaut</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053125/">North by Northwest</a> – Con la muerte en los talones – Alfred Hitchcock</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053291/">Some like it hot</a> – Con faldas y a lo loco – Billy Wilder</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0052561/">Anatomy of a murder</a> – Anatomía de un asesinato – Otto Preminger</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053459/">Les yeus sans visage</a> – Ojos sin rostro – Georges Franju</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053220/">Ride lonesone</a> – Cabalgar en solitario – Budd Boetticher, Harry</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053146/">Orfeu negro</a> – Orfeo negro – Marcel Camus</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053270/">Shadows</a> – John Cassavetes</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0052572/">Apur Sansar</a> – El mundo de Apu – Satyajit Ray</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053472/">A bout de souffle</a> – Al final de la escapada – Jean-Luc Godard</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0052618/">Ben Hur</a> – William Wyler</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053168/">Pickpocket</a> – Robert Bresson</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0052893/">Hiroshima mon amour</a> – Alain Resnais</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053221/">Río Bravo</a> – Howard Hawks</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0054407/">Le trou</a> – La evasión – Jacques Becker</li>
<li>1959 – <a href="http://www.imdb.com/title/tt0053390/">Ukigusa</a> – La hierba errante – Yasujiro Ozu</li>
</ul>
<h3 id="de-1960-a-1970">De 1960 a 1970</h3>
<ul>
<li>1960 – <a href="http://www.imdb.com/title/tt0054248/">Rocco e i suoi fratelli</a> – Rocco y sus hermanos – Luchino Visconti</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0053779/">La dolce vita</a> – Federico Fellini</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0054269/">Saturday night and Sunday morning</a> – Sábado noche, domingo mañana – Karel Reisz</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0054389/">Tirez sur le pianiste</a> – Tirad sobre el pianista – François Truffaut</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0053619/">L’avventura</a> – La aventura – Michelangelo Antonioni</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0053967/">The young one</a> – La joven – Luis Buñuel</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0054073/">Meghe dhaka fara</a> – Estrella nublada – Ritwik Ghatak</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0150980/">Hayno</a> – La criada – Kim Ki-young</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0054215/">Psycho</a> – Psicosis – Alfred Hitchcock</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0054067/">La maschera del demonio</a> – La máscara del demonio – Mario Bava</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0054167/">Peeping Tom</a> – El fotógrafo del pánico – Michael Powell</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0053604/">The appartment</a> – El apartamento – Billy Wilder</li>
<li>1960 – <a href="http://www.imdb.com/title/tt0054331/">Spartacus</a> – Espartaco – Kirk Douglas, Edward Lewis</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055471/">Splendor in the grass</a> – Esplendor en la hierba – Elia Kazan</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0054632/">L’année dernière à Marienbad</a> – El año pasado en Marienbad – Alain Resnais</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0056119/">La jetée</a> - Chris Marker</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055257/">One-eyed Jacks</a> – El rostro impenetrable – Marlon Brando</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055093/">Lola</a> – Jacques Demi</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0054698/">Breafast at Tiffany’s</a> – Desayuno con diamantes – Blake Edwards</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0054130/">La notte</a> – La noche – Michelangelo Antonioni</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055032/">Jules et Jim</a> – François Truffaut</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055601/">Viridiana</a> – Luis Buñuel</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055069/">The ladies man</a> – El terror de las chicas – Jerry Lewis</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055499/">Sasom I en spegel</a> – Como en un espejo – Ingmar Bergman</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0054745/">Chonique d’un été</a> – Edgar Morin, Jean Rouch</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0054997/">The hustler</a> – El buscavidas – Robert Rossen</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0055614/">West side story</a> – Robert Wise</li>
<li>1961 – <a href="http://www.imdb.com/title/tt0057318/">Mondo cane</a> – Este perro mundo – Paolo cavara et al</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0055852/">Cléo de 5 a 7</a> – Agnès Varda</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0058025/">Dog star man</a> – Stan Brakhage</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056444/">Sanma no aji</a> – El sabor del sake – Yasujiro Ozu</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056736/">L’eclisse</a> – El eclipse – Michelangelo Antonioni</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056172/">Lawrence de Arabia</a> – David Lean</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056592/">To kill a Mockinbird</a> – Matar a un ruiseñor – Robert Mulligan</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056218/">The manchurian candidate</a> – El mensajero del miedo – John Frankenheimer</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056193/">Lolita</a> – Stanley Kubrick</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056322/">O pagador de promessas</a> – Anselmo Duarte</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056217/">The Man who Shot Liberty Valance</a> – El hombre que mató a Liberty Valance – John Ford</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056687/">What ever happened to Baby Jane?</a> – ¿Qué fue de Baby Jane? – Robert Aldrich</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056663/">Vivre sa vie: film en douze tableaux</a> – Vivir su vida – Jean-Luc Godard</li>
<li>1962 – <a href="http://www.imdb.com/title/tt0056060/">Heaven and earth magic</a> – Harry Smith</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0056869/">The Birds</a> – Los pájaros – Alfred Hitchcock</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057372/">The Nutty Professor</a> – El profesor chiflado – Jerry Lewis</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0138329/">Blonde Cobra</a> – Ken Jacobs</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0056952/">The cool world</a> – Shirley Clarke</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0056801/">Otto e mezzo</a> – Fellini Ocho y Medio – Federico Fellini</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0054159/">Pasazerka</a> – La pasajera – Witold Lesiewick, Andrezej Munk</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057345/">Le mépris</a> – El desprecio – Jean-Luc Godard</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057163/">Hud</a> – El más salvaje entre mil – Martin Ritt</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057358/">Nattvardsgästerna</a> – Los comulgantes – Ingmar Bergman</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0054880/">Flaming Creatures</a> – Jack Smith</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057115/">The Great Escape</a> – La gran evasión – John Sturges</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057495/">Shock Corridor</a> – Corredor sin retorno – Samuel Fuller</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057091/">Il gattopardo</a> – El gatopardo – Luchino Visconti</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057654/">Vidas secas</a> – Vidas secas – Nelson Pereira dos Santos</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0197719/">Méditerranée</a> – Jean-Daniel Pollet</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0336693/">Khaneh Siah Ast</a> – La casa negra – Forugh Farrokhzad</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057129/">The Haunting</a> – La mansión encantada – Robert Wise</li>
<li>1963 – <a href="http://www.imdb.com/title/tt0057710/">Yukinojo henge</a> – La venganza de un actor – Kon Ichikawa</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0057490/">The servant</a> – El sirviente – Joseph Losey</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058150/">Goldfinger</a> – James Bond contra Goldfinger – Guy Hamilton</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058555/">Scorpio Rising</a> – Kenneth Anger</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058450/">Les parapluies de Cherbourg</a> – Los paraguas de Cherburgo – Jacques Demi</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058329/">Marnie – Marnie, la ladrona</a> – Alfred Hitchcock</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058385/">My fair lady</a> – George Cukor</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058625/">Suna no onna</a> – La mujer de arena – Hiroshi Teshigahara</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0057012/">Dr. Strangelove or…</a> – ¿Teléfono rojo? Volamos hacia Moscú – Stanley Kubrick, Victor Lyndon</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058182/">A Hard day’s Night</a> – ¡Qué noche la de aquel día! – Richard Lester</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058003/">Il desserto rosso</a> – Desierto rojo – Michelangelo Antonioni</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058642/">Tini Zabutykh Predkiv</a> – Sombras de antepasados olvidados – Sergei Parajanov</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058333/">Masque of the Red Death</a> – La máscara de la muerte roja – Roger Corman</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0056371/">Prima della revolutione</a> – Antes de la revolución – Bernardo Bertolucci</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058138/">Gertrud</a> – Carl Theodor Dreyer</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058715/">Il vangelo secondo Mateo</a> – El evangelio según San Mateo – Pier Paolo Pasolini</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058006/">Deus e o diabo na terra do sol</a> – Dios y el diablo en la tierra del sol – Glauber Rocha</li>
<li>1964 – <a href="http://www.imdb.com/title/tt0058430/">Onibaba</a> – El demonio – Kaneto Shindô</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059880/">Vinyl</a> – Andy Warhol</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059527/">Obchod na korze</a> – La tienda en la calle mayor – Jan-Kadar, Elmar Klos</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059113/">Doctor Zhivago</a> – David Lean</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059894/">The War Game</a> – El juego de la guerra – Peter Watkins</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059817/">Tokio orimpikku</a> – Olimpíada de Tokio – Kon Ichikawa</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0058946/">La batagglia di Algeri</a> – La batalla de Argel – Robert Wise</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059742/">The sound of Music</a> – Sonrisas y lágrimas – Robert Wise</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059643/">Rekopis znaleziony w Saragossie</a> – El manuscrito encontrado en Zaragoza – Wojciech Has</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0058898/">Alphaville, une étrange aventure de Lemmy Caution</a> – Lemmy contra Alphaville – Jean-Luc Godard</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059012/">Chimes at Midnight</a> – Campanadas a medianoche – Orson Welles</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059646/">Repulsion</a> – Repulsión – Roman Polnaski</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059229/">Giulietta degli spiriti</a> – Giulietta de los espíritus – Federico Fellini</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059592/">Pierrot le fou</a> – Pierrot el Loco – Jean-Lic Godard</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0059170/">Faster, Pussycat! Kill! Kill!</a> – Russ Meyer</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0056537/">Subarnarekha</a> – Río de oro – Ritwik Ghatak</li>
<li>1965 – <a href="http://www.imdb.com/title/tt0129222/">De m an die zijn abr kort liet knippen</a> – El hombre del cráneo rasurado – André Delvaux</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060511/">Hold me while I´m naked</a> – George Kuchar</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060176/">Blowup</a> – Blowup. Deseo de una mañana de verano – Michelangelo Antonioni</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060196/">Il buono, il bruto, il cattivo</a> – El bueno, el feo y el malo – Sergio Leone</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060959/">Sedmikrasky</a> – Las margaritas – Vera Chytilová</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0059079/">Da Zui Xia</a> – Ven a beber conmigo – King Hu</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060955/">Seconds</a> – Plan siniestro – John Frankenheimer</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0061811/">In the head of the night</a> – En el calor de la noche – Norman Jewison</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0061184/">Who´s Afraid of Virginia Woolf</a> – ¿Quién teme a Virginia Woolf? – Mike Nichols</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060827/">Persona</a> – Ingmar Bergman</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060675/">Masculin, féminin</a> – Jean-Luc Godard</li>
<li>1966 – <a href="http://www.imdb.com/title/tt0060138/">Au hasard Balthasar</a> – Al azar de Baltasar – Robert Bresson</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0060304/">Deux ou trois choses que je sais d’elle</a> – Jean-Luc Godard</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061722/">The Graduate</a> – El graduado – Mike Nichols</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0062136/">Playtime</a> – Jacques Tati</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0130976/">Report</a> – Bruce Conner</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061770/">Hombre</a> – Un hombre – Martin Ritt</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061395/">Belle de jour</a> – Bella de día – Luis Buñuel</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0062873/">Les demoiselles de Rochefort</a> – Las señoritas de Rochefort – Jacques Demy, Agnes Varda</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0062480/">Weekend</a> – Jean-Luc Godard</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0062229/">Le samouraï</a> – El silencio de un hombre – Jean-Pierre Melville</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061512/">Cool Hand Luke</a> – La leyenda del indomable – Stuart Rosemberg</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0062138/">Point blank</a> – A quemarropa – John Boorman</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0127354/">Wavelength</a> – Michael Snow</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061418/">Bonnie and Clyde</a> – Bonnie y Clyde – Arthur Penn</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061537/">Csillagosok, Katonák</a> – El rojo y el blanco</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0063278/">Marketa Lazarová</a> – Frantisek Vlácil</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061852/">The Jungle Book</a> – El libro de la selva – Walt Disney</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0061781/">Horí, má Panenko</a> – El baile de los bomberos – Milos Forman</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0062352/">Terra em transe</a> – Tierra en trance – Glauber Rocha</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0060802/">Ostre Sledované vlaky</a> – Trenes rigurosamente vigilados – Jirí Menzel</li>
<li>1967 – <a href="http://www.imdb.com/title/tt0062453/">Vij</a> – Georgi Kropachyov, Constantin Yershov</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0064356/">Gaav</a> – La vaca – Dariush Mehrjui</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0064116/">Céra una volta il West</a> – Hasta que llegó su hora – Sergio Leone</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063442/">Planet of the Apes</a> – El planeta de los simios – Franklin J. Schaffner</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0062952/">Faces</a> – John Cassavetes</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063522/">Rosemary’s Baby</a> – La semilla del diablo – Roman Polanski</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063850/">If…</a> – Lindsay Anderson</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063291/">Memorias del subdesarrollo</a> – Tomás Gutiérrez Alea</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063462/">The Producers</a> – Los productores – Mel Brooks</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0062864/">David Holzman´s diary</a> – Jim NcBride</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063611/">Skammen</a> – La vergüenza – Ingmar Bergman</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0062622/">2001: A Space Odyssey</a> – 2001: Una Odisea espacial – Stanley Kubrick</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063759/">Vargtimmen</a> – La hora del lobo – Ingmar Bergman</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063671/">Targets</a> – El héroe anda suelto – Peter Bogdanovich</li>
<li>1968 – <a href="http://www.imdb.com/title/tt0063350/">Night of the Living Dead</a> – La noche de los muertos vivientes – George A. Romero</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064612/">Ma nuit chez Maud</a> – Mi noche con Maud – Eric Rohmer</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064609/">Lucía</a> – Humberto Solás</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064451/">Xia nu</a> – Un toque de zen – King Hu</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064115/">Butch Cassidy and the Sundance Kid</a> – Dos hombres y un destino – George Roy Hill</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064665/">Midnight Cowboy</a> – Cowboy de medianoche – John Schlesinger</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064940/">Satyricon</a> – Federico Fellini</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0065234/">Z</a> – Costa Gavras</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0065571/">Il conformista</a> – El conformista – Bernardo Bertolucci</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064276/">Easy rider</a> – Buscando mi destino – Dennis Hopper</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064429/">High School</a> – Frederick Wiseman</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064482/">In the year of the pig</a> – Emile de Antonio</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0065214/">The Wild Bunch</a> – Grupo salvaje – Sam Pekinpah</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0060107/">Andrei Rublev</a> – Andrei Tarkovsi</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064106/">Le boucher</a> – El carnicero – Claude Chabrol</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0063555/">Sayat Nova</a> – El color de las granadas – Sergei Parajanov</li>
<li>1969 – <a href="http://www.imdb.com/title/tt0064541/">Kes</a> – Ken Loach</li>
</ul>
<h3 id="de-1970-a-1980">De 1970 a 1980</h3>
<ul>
<li>1970 – <a href="http://www.imdb.com/title/tt0066491/">Tristana</a> – Luis Buñuel</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0065724/">Five easy pieces</a> – Mi vida es mi vida – Bob Rafelson</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0067866/">El topo</a> – Alejandro Jodorowsy</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066580/">Woodstock</a> – Michael Wadleigh</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066122/">Deep end</a> – Jerzy Skolimowski</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066413/">La strategia del ragno</a> – La estrategia de la araña – Bernardo Bertolucci</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0065988/">Little Big Man</a> – Pequeño gran hombre – Arthur Penn</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066498/">Ucho</a> – La oreja – Karel Kachyna</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066206/">Patton</a> – Franklin J. Schaffner</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066026/">Mash</a> – Robert Altman</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066214/">Performance</a> – Donald Cammell, Nicolas Roeg</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0065780/">Gimme Shelter</a> – Albert Maysles et al</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0066601/">Zabriskie Point</a> – Michelangelo Antonioni</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0065143/">L’Ucello dalle piume di cristallo</a> – El pájaro de las plumas de cristal – Dario Argento</li>
<li>1970 – <a href="http://www.imdb.com/title/tt0065777/">Il giardino de los Finzi-Contini</a> – El jardín de los Finzi-Contini – Vittorio de Sica</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067961/">Wanda</a> – Barbara Loden</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067958/">W.R.: Misterije organizma</a> – Los misterios del organismo – Dusan Makavjev</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0066921/">A Clockwork Orange</a> – La naranja mecánica – Stanley Kubrick</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0066904/">Le chagrin et la pitié</a> – Marcel Ophüls</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067992/">Willy Wonka &amp; the Chocolate Factory</a> – Un mundo de fantasía – Mel Stuart</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067411/">McCabe and Mrs. Miller</a> – Los vividores – Robert Altman</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067959/">Walkabout</a> – Nicolas Roeg</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067309/">Klute</a> – Alan J. Pakula</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067185/">Harold and Maude</a> – Harold y Maude – Hal Ashby</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067467/">Még kér a nép</a> – Salmo rojo – Miklòs Jancsó</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067128/">Get Carter</a> – Asesino implacable – Mike Hodges</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067116/">The French Connection</a> – Contra el imperio de la droga – William Friedkin</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067741/">Shaft</a> – Las noches rojas de Harlem – Gordon Parks</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0066999/">Dirty Harry</a> – Harry el sucio – Don Siegel</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067778/">Le souffle au coeur</a> – El soplo en el corazón – Louis Malle</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067810/">Sweet sweetback’s baadasssss song</a> – Melvin van Peebles</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067328/">The Last Picture Show</a> – La última película – Peter Bogdanovich</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067800/">Straw Dogs</a> – Perros de paja – Sam Peckinpah</li>
<li>1971 – <a href="http://www.imdb.com/title/tt0067893/">Two-Lane Blacktop</a> – Carretera asfaltada en dos direcciones – Monte Hellman</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068687/">The heartbreak Kid</a> – El rompecorazones – Elayne May</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068182/">Aguirre, der zorn gottes</a> – Aguirre, la cólera de Dios – Werner Herzog</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068327/">Cabaret</a> – Bob Fosse</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0070849/">Ultimo tango a Parigi</a> – El último tango en París – Bernardo Bertolucci</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068699/">High Plain Drifters</a> – Infierno de cobardes – Clint Eastwood</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0069281/">Sleuth</a> – La huella – Joseph L. Mankiewicz</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068473/">Deliverance</a> – Defensa – John Boorman</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0069293/">Solyaris</a> – Solaris – Andrei Tarkovski</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068646/">The Godfather</a> – El Padrino – Francis Ford Coppola</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0069467/">Viskingar och rop</a> – Gritos y susurros – Ingmar Bergman</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068575/">Fat City</a> – Ciudad dorada – John Huston</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068361/">Le charme discret de la bourgeoisie</a> – El discreto encanto de la burguesía – Luis Buñuel</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068278/">Die bitteren Tränen der Petra von Kant</a> – Las amargas lágrimas de Petra von Kant – Rainer Werner Fassbinder</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0068611/">Frenzy</a> – Frenesí – Alfred Hitchcock</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0069089/">Pink Flamingos</a> – John Waters</li>
<li>1972 – <a href="http://www.imdb.com/title/tt0069332/">Superfly</a> – El mercado del vicio – Gordon Parks. Jr.</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070735/">The Sting</a> – El golpe – George Roy Hill</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070359/">La maman et la putain</a> – Jean Eustache</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0069762/">Badlands</a> – Malas tierras – Terrence Malick</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0069704/">American graffiti</a> – George Lucas</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070511/">Papillon</a> – Franklin J. Schaffner</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070034/">Enter the Dragon</a> – Operación dragón – Robert Clouse</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070379/">Mean Streets</a> – Malas calles – Martin Scorsese</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070334/">The Long Goodbye</a> – El largo adiós – Robert Altman</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070917/">The Wicker Man</a> – El hombre de mimbre – Robin Hardy</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070460/">La nuit américaine</a> – La noche americana – François Truffaut</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0069995/">Don’t look now</a> – Amenaza en la sombra – Nicolas Roeg</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070707/">Sleeper</a> – El dormilón – Woody Allen</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070666/">Serpico</a> – Sidney Lumet</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070047/">The Exorcist</a> – El exorcista – William Friedkin</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070842/">Turks Fruit</a> – Delicias turcas – âul Verhoeven</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070040/">El espíritu de la colmena</a> – Víctor Erice</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070544/">Le planènete sauvage</a> – El planeta salvaje – René Laloux</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0071129/">Amarcord</a> – Federico Fellini</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070155/">The harder the come</a> – Más dura será la caída – Perry Henzell</li>
<li>1973 – <a href="http://www.imdb.com/title/tt0070518/">Pat Garrett and Billy the Kid</a> – Pat Garrett and Billy the Kid – Sam Peckinpah</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071411/">Dersu Uzala</a> – Akira Kurosawa</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071360/">The Conversation</a> – La conversación – Francis Ford Coppola</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0072271/">The Texas Vhain Saw Massacre</a> – La matanza de Texas – Tobe Hooper</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0072443/">Zerkalo</a> – El espejo – Andrei Tarkovsi</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0072417/">A Woman Under the Influence</a> – Una mujer bajo la influencia – John Cassavetes</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0072431/">Young Frankenstein</a> – El jovencito Frankenstein – Mel Brooks</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071315/">Chinatown</a> – Roman Polanski</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071381/">Céline et Julie vont en Bateau</a> – Jacques Rivette</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071230/">Blazing Saddles</a> – Sillas de montar calientes – Mel Brooks</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071562/">The Goodfather: Part II</a> – El Padrino, segunda parte – Francis Ford Coppola</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071141/">Angst essen Seele auf</a> – Todos nos llamamos Ali – Rainer Werner Fassbinder</li>
<li>1974 – <a href="http://www.imdb.com/title/tt0071249/">Bring me the Head of Alfredo Garcia</a> – Quiero la cabeza de Alfredo García – Sam Peckinpah</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0072890/">Dogs Day Afternoon</a> – Tarde de perros – Sidney Lumet</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073486/">One Flew Over the Cuckoo’s Nest</a> – Alguien voló sobre el nido del cuco – Milos Forman</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073198/">Jeanne Dielman, 23 Quai du Commerce, 1080 Bruxelles</a> – Chantal Ackerman</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073629/">The rocky horror picture show</a> – Jim Sharman</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0072860/">Deewaar</a> – La pared – Yash Chopra</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0071853/">Monty Python and the Holy Grail</a> – Los caballeros de la mesa cuadrada y sus locos seguidores – Terry Gilliam, Terry Jones</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0072684/">Barry Lyndon</a> – Stanley Kubrick</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0072976/">Faustrecht der Freiheit</a> – La ley del más fuerte – Rainer Werner Fassbinder</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073166/">India song</a> – Canción de La India – Marguerite Duras</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073540/">Picnic en Hanging Rock</a> – Picnic en Hanging Rock – Peter Weir</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073363/">Maynila: sa Mga kuko ng liwanag</a> – Lino Brocka</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073650/">Salò o le centoventi giornate di Sodoma</a> – Salò o los ciento veinte días de Sodoma – Pier Paolo Pasolini</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073440/">Nashville</a> – Robert Altman</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0074360/">Cría cuervos</a> – Carlos Saura</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073800/">O thiassos</a> – El viaje de los comediantes – Theo Angelopoulos</li>
<li>1975 – <a href="http://www.imdb.com/title/tt0073195/">Jaws</a> – Tiburón – Steven Spielberg</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0074749/">The killing of a chinese bookie</a> – John Cassavetes</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0074285/">Carrie</a> – Brian De Palma</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0075029/">The Outlaw Josey Wales</a> – El fuera de la ley – Clint Eastwood</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0074119/">All the President’s Men</a> – Todos los hombres del Presidente – Alan J. Pakula</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0075148/">Rocky</a> – John G. Avildsen</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0075314/">Taxi Driver</a> – Martin Scorsese</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0074958/">Network</a> – Network, un mundo implacable – Sidney Lumet</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0075404/">Voskhozhdeniye</a> – La ascensión – Larisa Shepitko</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0074102/">Ai no korida</a> – El imperio de los sentidos – Nagisa Oshima</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0074084/">Novecento</a> – Bernardo Bertolucci</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0074851/">The Man Who Fell to Earth</a> – El hombre que cayó a la tierra – Nicolas Roeg</li>
<li>1976 – <a href="http://www.imdb.com/title/tt0076759/">Star Wars</a> – La guerra de las galaxias: Episodio IV (Una nueva esperanza) – George Lucas</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0075860/">Close Encounters of the Third Kind</a> – Encuentros en la tercera fase – Steven Spielberg</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0076299/">The Last Wave</a> – La última ola – Peter Weir</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0075686/">Annie Hall</a> – Woody Allen</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0076293/">Last chants for a slow dance</a> – Jon Jost</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0075276/">Stroszek</a> – La balada de Bruno S. – Werner Herzog</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0075902/">Czlowiek z marmuru</a> – El hombre de mármol – Andrej Wajda</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0076666/">Saturday Night Fever</a> – Fiebre del sábado noche – John Badham</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0076263/">Killer of sheep</a> – Charles Burnet</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0074486/">Eraserhead</a> – Cabeza borradora – David Lynch</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0077309/">Ceddo</a> – Ousmane Sembene</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0075675/">Der amerikanische Freund</a> – El amigo americano – Wim Wenders</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0077681/">The Hills Have Eyes</a> – Las colinas tienen ojos – Wes Craven</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0076734/">Soldaat van Oranje</a> – Eric, oficial de la reina – Paul Verhoeven</li>
<li>1977 – <a href="http://www.imdb.com/title/tt0076786/">Suspiria</a> – Dario Argento</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077318/">The chant of Jimmie Blacksmith</a> – Fred Schepisi</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077559/">Wu du</a> – Cinco venenos mortales – Chang Cheh</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077138/">L’albero degli zoccoli</a> – El árbol de los zuecos – Ermanno Olmi</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077416/">The Deer Hunter</a> – El cazador – Michael Cimino</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077631/">Grease</a> – Brillantina – Randal Kleiser</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077405/">Days of the Heaven</a> – Días del cielo – Terrence Malick</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077402/">Zombi</a> – Dawn of the dead – George A. Romero</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0078243/">Shao Lin San Shih Liu Fang</a> – Las 36 cámaras de shaolin – Chia-Liang Liu</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0078446/">Up in Smoke</a> – Como humo se va – Lou Adler, Tommy Chong</li>
<li>1978 – <a href="http://www.imdb.com/title/tt0077651/">Halloween</a> – La noche de Halloween – John Carpenter</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079095/">Die Ehe der Maria Braun</a> – El matrimonio de María Braun – Rainer Werner Fassbinder</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079781/">Real life</a> – Como en la vida real – Albert Brooks</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079596/">My brilliant career</a> – Gillian Armstrong</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079944/">Stalker</a> – Andrei Tarkovski</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0078748/">Alien</a> – Alien, el octavo pasajero – Ridley Scott</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0078902/">Breaking away</a> – El relevo – Peter Yates</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0078875/">Die Blechtrommel</a> – El tambor de hojalata – Volker Schlöndorf</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0078754/">Alll that Jazz</a> – Empieza el espectáculo – Bob Fosse</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0078841/">Being there</a> – Bienvenido Míster Chance – Hal Ashby</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079417/">Kramer vs. Kramer</a> – Kramer contra Kramer – Robert Benton</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079470/">Life of Brian</a> – La vida de Brian – Terry Jones</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0078788/">Apocalypse Now</a> – Francis Ford Coppola</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079367/">The jerk</a> – Un loco anda suelto – Carl Reiner</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079588/">The muppet movie</a> – James Frawley</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079522/">Manhattan</a> – Woody Allen</li>
<li>1979 – <a href="http://www.imdb.com/title/tt0079501/">Mad Max</a> – Mad Max: salvajes de la autopista – George Miller</li>
</ul>
<h3 id="de-1980-a-1990">De 1980 a 1990</h3>
<ul>
<li>1980 – <a href="http://www.imdb.com/title/tt0079641/">Nosferatu: Phantom der Nacht</a> – Nosferatu, vampiro de la noche – Werner Herzog</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0081283/">Ordinary People</a> – Gente corriente – Robert Redford</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0080388/">Atlantic City</a> – Louis Malle</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0080610/">Le dernier métro</a> – El último metro – Truffaut</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0081505/">The Shining</a> – El resplandor – Stanley Kubrick</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0080684/">Star Wars: Episode V-The Empire Strikes</a> – El imperio contraataca, Episodio V – Irvin Kershner</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0080678/">The Elephant Man</a> – El hombre elefante – David Lynch</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0080437/">The Big Red One</a> – Uno Rojo Division de Choque – Samuel Fuller</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0081076/">Loulou</a> – Maurice Pialat</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0080339/">Airplane!</a> – Aterriza como puedas – Jim Abrahams &amp; al</li>
<li>1980 – <a href="http://www.imdb.com/title/tt0081398/">Raging Bull</a> – Toro salvaje – Martin Scorsese</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082971/">Raiders of the Lost Ark</a> – En busca del Arca perdida – Steven Spielberg</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082096/">Das Boot</a> – El submarino – Wolfgang Petersen</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082432/">Gallipoli</a> – Peter Weir</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082158/">Chariots of Fire</a> – Carros de fuego – Hugh Hudson</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082089/">Body Heat</a> – Fuego en el cuerpo – Lawrence Kasdan</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082979/">Reds</a> – Rojos – Warren Beatty</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082010/">An American Werewolf in London</a> – Un hombre-lobo americano en Londres – John Landis</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0083226/">Tre fratelli</a> – Tres hermanos – Francesco Rosi</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0082222/">Czlowiek z zelaza</a> – El hombre de hierro – Andrzej Wajda</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0083230/">Zu Frü, zu spät</a> – Danièle Huillet, Jean-Marie Straub</li>
<li>1981 – <a href="http://www.imdb.com/title/tt0083929/">Fast Times at Ridgemont High</a> – Aquel excitante curso – Amy Heckerling</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0083866/">E.T.: The Extra-terrestrial</a> – E.T. El Extraterrestre – Steven Spielberg</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0084787/">The Thing</a> – La Cosa – John Carpenter</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0084516/">Poltergeist</a> – Spielberg</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0083658/">Blade Runner</a> – Ridley Scott</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0083907/">The evil dead</a> – Posesión infernal – Sam Raimi</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0084805/">Tootsie</a> – Sydney Pollack</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0084934/">Yol</a> – El camino – Serif Gören</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0083833/">Diner</a> – Barry Levinson</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0083946/">Fitzcarraldo</a> – Werner Herzog</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0083987/">Gandhi</a> – Richard Attenborough</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0084422/">La notte di San Lorenzo</a> – La noche de San Lorenzo – Paolo Taviani, Vittorio Taviani</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0086369/">De stilte rond Christine M.</a> – El silencio de Christine M. – Marleen Gorris</li>
<li>1982 – <a href="http://www.imdb.com/title/tt0083922/">Fanny och Alexander</a> – Fanny y Alexander – Ingmar Bergman</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0085334/">A Christmas Story</a> – Historias de Navidad – Bob Clark</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0085482/">El norte</a> – Gregory Nava</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0086541/">Videodrome</a> – David Cronenberg</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0086190/">Star Wars: Episode VI – Return of the Jedi</a> – El retorno del Jedi – Richard Marquand</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0085244/">The Big Chill</a> – Reencuentro – Lawrence Kasdan</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0084628/">Sans Soleil</a> – Chris Marker</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0085426/">Le dernier combat</a> – kamikaze 1999 – Luc Besson</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0085180/">L’argent</a> – El dinero – Robert Bresson</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0086497/">Utu</a> – Geoff Murphy</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0086425/">Terms of Endearment</a> – La fuerza del cariño – James L. Brooks</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0086543/">De vierde man</a> – El cuarto hombre – Paul Verhoeven</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0085794/">The King of Comedy</a> – El rey de la comedia – Scorsese</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0086197/">The Right Stuff</a> – Elegidos para la gloria – Philip Kaufman</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0085809/">Koyaanisqatsi</a> – Godfrey Reggio</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0087843/">Once Upon a Time in America</a> – Érase una vez en América – Sergio Leone</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0086250/">Scarface</a> – El precio del poder – Brian de Palma</li>
<li>1983 – <a href="http://www.imdb.com/title/tt0084390/">Narayama Bushi-Ko</a> – La balada del Narayama – Shohei Imamura</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0086879/">Amadeus</a> – Milos Forman</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0088247/">The Terminator</a> – Terminator – James Cameron</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0087884/">París, Texas</a> – Wim Wenders</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0087800/">A Nigthmare on Elm Street</a> – Pesadilla en Elm Street – Wes Craven</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0088258/">This is a spinal tap</a> – Rob Reiner</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0086960/">Beverly Hills Cop</a> – Superdetective en Holliwood – Martin Brest</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0087332/">Ghost Busters</a> – Cazafantasmas – Ivan Reitman</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0087892/">A Passage to India</a> – Pasaje a la India – David Lean</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0088184/">Stranger Than Paradise</a> – Extraños en el Paraíso – Jim Jarmusch</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0087553/">The Killing Fields</a> – Los gritos del silencio – Roland Joffé</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0087781/">The Natural</a> – El mejor – Barry Levinson</li>
<li>1984 – <a href="http://www.imdb.com/title/tt0088847/">The Breakfast Club</a> – El club de los cinco – John Hughes</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089881/">Ran</a> – Akira Kurosawa</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0091251/">Idi i smotri</a> – Masacre-ven y mira – Elem Klimov</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089276/">La historia oficial</a> – Luis Puenzo</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089755/">Out of Africa</a> – Memorias de África – Sydney Pollack</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089853/">The Purple Rose of Cairo</a> – La rosa púrpura de El Cairo – Woody Allen</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0088763/">Back to the Future</a> – Regreso al futuro – Robert Zemeckis</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0090185/">Tong Nien Wang Shi</a> – Tiempo de vivir, tiempo de morir – Hsiao-hsien Hou</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0088846/">Brazil</a> – Terry Gilliam</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089424/">Kiss of the Spider Woman</a> – El beso de la mujer araña – Hector Babenco</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089869/">The Quiet Earth</a> – El único superviviente – Geoff Murphy</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089603/">Mishima: A Life in Four Chapters</a> – Mishima – Pauls Schrader</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089841/">Prizzi’s Honor</a> – El honor de los Prizzi – John Huston</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0089960/">Sans toit ni loi</a> – Sin techo ni ley – Agnès Varda</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0090015/">Shoah</a> – Claude Lanzmann</li>
<li>1985 – <a href="http://www.imdb.com/title/tt0088939/">The Color Purple</a> – El color púrpura – Steven Spielberg</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091474/">Manhunter</a> – Hunter – Michael Mann</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0092005/">Stand by me</a> – Cuenta conmigo – Rob Reiner</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090756/">Blue Velvet</a> – Terciopelo azul – David Lynch</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091167/">Hannah and her Sisters</a> – Hannah y sus hermanas – Woody Allen</li>
<li>1986 – [She’s gotta have it](<a href="http://www.imdb.com/title/tt009-">http://www.imdb.com/title/tt009-</a> 1939/) – Nola Darling – Spike Lee</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090985/">Le déclin de l’empire américain</a> – El declive del imperio americano – Denys Arcand</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091064/">The Fly</a> – La mosca – David Cronenberg</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090605/">Aliens</a> – Aliens: el regreso – James Cameron</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091042/">Ferris Bueller’s Day Off</a> – Todo en un día – John Hughes</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090967/">Down by law</a> – Bajo el peso de la ley – Jim Jarmusch</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091867/">A Room with a View</a> – Una habitación con vistas – James Ivory</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090830/">Children of a Lesser God</a> – Hijos de un dios menor – Randa Haines</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091763/">Platoon</a> – Oliver Stone</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090798/">Caravaggio</a> – Derek Jarman</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0092048/">Tampopo</a> – Juzo Itami</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090952/">Peking Opera Blues</a> – Do ma daan – Tsui Hark</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091886/">Salvador</a> – Oliver Stone</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0092099/">Top Gun</a> – Ídolos del aire – Tony Scott</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0091943/">Sherman’s March</a> – Ross McElwee</li>
<li>1986 – <a href="http://www.imdb.com/title/tt0090907/">Dao Ma Zei</a> – El ladrón de caballos – Tian Zhuangzhuang</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0094349/">Yeelen</a> – La luz – Souleymane Cissé</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093191/">Der Himmel über Berlin</a> – El cielo sobre Berlín – Win Wenders</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0092501/">‘A’ gai waak juk jap</a> – El tesoro de China – Jackie Chan</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0092603/">Babettes gaestebud</a> – El festín de Babette – Gabriel Axel</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093822/">Raising Arizona</a> – Arizona Baby – Joel Coen</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093058/">Full Metal Jacket</a> – La chaqueta metálica – Stanley Kubrick</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0094336/">Withnail and I</a> – Withnail y yo – Bruce Robinson</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093105/">Good morning, Vietnam</a> – Barry Levinson</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0092593/">Au revoir les enfants</a> – Adiós muchachos – Louis Malle</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0092699/">Broadcast News</a> – Al filo de la noticia – James L. Brooks</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093225/">Housekeeping</a> – Bill Forsyth</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093779/">The Princess Bride</a> – La princesa prometida – Rob Reiner</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093565/">Moonstruck</a> – Hechizo de luna – Norman Jewison</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0094226/">The Untouchables</a> – Los intocables de Eliot Ness – Brian de Palma</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093206/">Hong gao liang</a> – Sorgo rojo – Zhang Yimou</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0092843/">The dead</a> – Dublineses – John Huston</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093010/">Fatal Atraction</a> – Atracción fatal – Adrian Lyne</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0093978/">Sinnui yauman</a> – Una historia china de fantasmas – Siu-Tung Ching</li>
<li>1987 – <a href="http://www.imdb.com/title/tt0095675/">Mujeres al borde un ataque de nervios</a> – Almodóvar</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0096163/">Spoorloos</a> – Desaparecida – George Sluizer</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0094812/">Bull Durham</a> – Los búfalos de Durham – Ron Shelton</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0094675/">Ariel</a> – Aki Kaurismäki</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0096257/">The thin blue line</a> – Errol Morris</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0094625/">Akira</a> – Katsuhiro Otomo</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095765/">Nuovo cinema paradiso</a> – Cinema Paradiso – Giuseppe Tornatore</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095341/">Hotel Terminus: Klaus Barbie et son temps</a> – Marcel Ophüls</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095159/">A fish called Wanda</a> – Un pez llamado Wanda – Charles Crichton</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095705/">The Naked Gun</a> – Agárralo como puedas – David Zucker</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0094737/">Big</a> – Quisiera ser grande – Penny Marshall</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0094947/">Dangerous liaisons</a> – Las amistades peligrosas – Stephen Frears</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095327/">Hotaru no haka</a> – La tumba de las luciérnagas – Isao Takahata</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0096288/">Topio stin omichli</a> – Paisaje en la niebla – Theo Angelopoulos</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0092337/">Dekalog, Jeden</a> – Krzysztof Kieslowski</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095016/">Die Hard</a> – La jungla de cristal – John McTiernan</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0096337/">Une historie de vent</a> – Joris Ivens</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0096438/">Who Framed Roger Rabbit</a> – ¿Quién engañó a Roger Rabbit? – Robert Zemeckis</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095953/">Rain man</a> – Barry Levinson</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0096336/">Une affaire de femmes</a> – Asunto de mujeres – Claude Chabrol</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0092929/">Drowing by numbers</a> – Conspiración de mujeres – Peter Greenaway</li>
<li>1988 – <a href="http://www.imdb.com/title/tt0095715/">Neko Z Alenky</a> – Alice – Jan Svankmajer</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0096895/">Batman</a> – Tim Burton</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0098635/">When Harry met Sally</a> – Cuando Harry encontró a Sally – Rob Reiner</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0097123/">Crimes and Misdemeanors</a> – Delitos y faltas – Woody Allen</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0097108/">The Cook, the Thief, his Wife &amp; her Lover</a> – El cocinero, el ladrón, su mujer y su amante – Peter Greenaway</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0097240/">Drugstore Cowboy</a> – Gus Van Sant</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0097937/">My Left Food</a> – Mi pie izquierdo – Jim Sheridan</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0097202/">Dip Huet seung hung</a> – El asesino- John Woo</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0097216/">Do the Right Thing</a> – Haz lo que debas – Spike Lee</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0098213/">Roger &amp; me</a> – Michael Moore</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0097441/">Glory</a> – Tiempos de gloria – Edward Zwick</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0096841/">Astenicheskij Sindrom</a> – Síndrome de abstinencia – Kira Muratova</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0098724/">Sex, Lies and Videotape</a> – Sexo, mentiras y cintas de vídeo – Steven Soderbergh</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0098258/">Say Anything</a> – Un gran amor… – Cameron Crowe</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0100842/">The Unbelievable Truth</a> – La increíble verdad – Hal Hartley</li>
<li>1989 – <a href="http://www.imdb.com/title/tt0096908/">Beiqing Chengshi</a> – Ciudad de la tristeza – Hsiao-hsien Hou</li>
</ul>
<h3 id="de-1990-a-2000">De 1990 a 2000</h3>
<ul>
<li>1990 – <a href="http://www.imdb.com/title/tt0100536/">S’en fout la mort</a> – Claire denis</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0100486/">Reversal of Fortune</a> – El misterio von Bülow – Barbet Schroeder</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099685/">Goodfellas</a> – Uno de los nuestros – Martin Scorsese</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099871/">Jacob’s Ladder</a> – La escalera de Jacob – Adrian Lyne</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099939/">King of New York</a> – El rey de Nueva York – Abel Ferrara</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099348/">Dances with Wolves</a> – Bailando con lobos – Kevin Costner</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099776/">Europa, Europa</a> – Hitlerjunge Salomon</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0100405/">Pretty woman</a> – Garry Marshall</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099053/">Archangel</a> – Guy Maddin</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0103130/">Trust</a> – Confía en mí – Hal Hartley</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0100234/">Nema-ye nazdik</a> – Primer plano – Abbas Kiarostami</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099487/">Edward Scissorhands</a> – Eduardo Manostijeras – Tim Burton</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0099763/">Henry: Portrait of a Killer</a> – Henry: Retrato de un asesino – John McNaughton</li>
<li>1990 – <a href="http://www.imdb.com/title/tt0100802/">Total Recall</a> – Desafío total – Paul Verhoeven</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0103285/">Wong Fei-Hung</a> – Wong en América – Hark Tsui</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0101507/">Boyz’n the Hood</a> – Los chicos del barrio – John Singleton</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0101640/">Da hong deng long gao gao gua</a> – La linterna roja – Zhang Yimou</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0101700/">Delicatessen</a> – Mar Caro, Jean-Pierre Jeunet</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0101985/">Guling Jie Shaonian sha ren shijian</a> – Una radiante mañana estival – Edward Yang</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0102511/">Naked Lunch</a> – El almuerzo desnudo – David Cronenberg</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0101428/">La belle noiseuse</a> – La bella mentirosa – Jacques Rivette</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0102757/">The Rapture</a> – El despertar de Sharon – Michael Tolkin</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0102494/">My own private Idaho</a> – Mi Idaho privado – Gus van Sant</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0103074/">Thelma &amp; Louise</a> – Thelma y Louise – Ridley Scott</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0103064/">Terminator 2: Judgment Day</a> – Terminator 2: El día del juicio - James Cameron</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0102926/">The Silence of the Lambs</a> – El silencio de los corderos – Jonathan Demme</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0102138/">JFK</a> – Jfk, caso abierto – Oliver Stone</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0102943/">Slacker</a> – Richard Linklater</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0103099/">Tongues Untied</a> – Lenguas desatadas – Marlon Riggs</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0102015/">Hearts of darkness: a filmmaker’s apocalypse</a> – Fax Bahr/Eleanor Coppola</li>
<li>1991 – <a href="http://www.imdb.com/title/tt0101765/">La double vie de Véronique</a> – La doble vida de Verónica – Krzysztof Kieslowski</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0105488/">Strictly ballroom</a> – Baz Luhrmann</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0105151/">The Player</a> – El juego de Hollywood – Robert Altman</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0105236/">Reservoir dogs</a> – Quentin Tarantino</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0105275/">Romper stomper</a> – Geoffrey Wright</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0104348/">Glengarry glen ross</a> – Éxito a cualquier precio – James Foley</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0105695/">Unforgiven</a> – Sin perdón – Clint Eastwood</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0103634/">Aileen wuornos: the selling of a killer</a> – Nick Broomfield</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0104008/">Conte d’hiver</a> – Cuento de invierno – Eric Rohmer</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0102816/">Yuen Ling-Yuk</a> – La actriz – Stanley Kwan</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0103905/">C’est arrivé près de chez vous</a> – Ocurrió cerca de su casa R.Belvaux</li>
<li>1992 – <a href="http://www.imdb.com/title/tt0104036/">The Crying Game</a> – Juego de lágrimas – Neil Jordan</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0106332/">Be wang bie ji</a> – Adiós a mi concubina – Kaige Chen</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0107048/">Groundhog Day</a> – Atrapado en el tiempo – Harold Ramis</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0108328/">Thirty two short films about Glenn Gould</a> – François Girard</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0108122/">Short cuts</a> – Vidas cruzadas – Robert Altman</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0107818/">Philadelphia</a> – Jonathan Demme</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0107157/">Hsimeng Jensheng</a> – El maestro de marionetas – Hou Hsiao-Hsien</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0107290/">Jurassic Park</a> – Parque jurásico – Steven Spielberg</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0108394/">Trois couleurs: Bleu</a> – Tres colores: Azul – Krzysztof Kieslowski</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0107822/">The Piano</a> – El piano – Jane Campion</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0107358/">Lang feng zheng</a> – La cometa azul – Tian Zhuangzhuang</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0107156/">Hsi Yen</a> – El banquete de boda – Ang Lee</li>
<li>1993 – <a href="http://www.imdb.com/title/tt0108052/">Schindler’s List</a> – La lista de Schindler – Steven Spielberg</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0109045/">The Adventures of Priscilla, Queen of the Desert</a> – Las aventuras de Priscilla, reina del desierto – Stephan Elliott</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0111495/">Trois couleurs: Rouge</a> – Tres colores: Rojo – Krzysztof Kieslowski</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0110057/">Hoop dreams</a> – Steve James</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0109830/">Forrest Gump</a> – Robert Zemeckis</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0110357/">The Lion King</a> – El rey León – Roger Allers/ Rob Minkoff</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0109445/">Clerks</a> – Kevin Smith</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0109831/">Four Weddings and a Funeral</a> – Cuatro bodas y un funeral – Mike Newell</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0110632/">Natural Born Killers</a> – Asesinos natos – Oliver Stone</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0110308/">The Last Seduction</a> – La última seducción – John Dahl</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0110912/">Pulp Fiction</a> – Quentin Tarantino</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0111161/">The Shawshank Redemption</a> – Cadena perpetua – Frank Darabont</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0111019/">The roseaux sauvages</a> – Los juncos salvajes – Andrè Téchiné</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0109424/">Chung Hing sam lam</a> – Chungking express – Kar-wai Wong</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0109508/">Crumb</a> – Terry Zwigoff</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0111341/">Sátántangó</a> – Béla Tarr</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0111845/">Zire Darakhatan Zeyton</a> – A través de los olivos – Abbas Kiarostami</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0110005/">Heavenly Creatures</a> – Criaturas celestiales – Peter Jackson</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0109382/">Caro diario</a> – Nanni Moretti</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0110598/">Muriel’s Wedding</a> – La boda de Muriel – P.J. Hogan</li>
<li>1994 – <a href="http://www.imdb.com/title/tt0108906/">Riget</a> – El reino – Morten Arnfred, Lars von Trier</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112431/">Babe – Babe, el cerdito valiente</a> – Chris Noonan</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0131356/">Deseret</a> – James Benning</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112573/">Braveheart</a> – Mel Gibson</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0114323/">Safe</a> – Todd Haynes</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0114709/">Toy Story</a> – John Lasseter</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112641/">Casino</a> – Martin Scorsese</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0113277/">Heat</a> – Michael Mann</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0113557/">Kjaerlighetens kjotere</a> – Zero Kelvin – Hans Petter Moland</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112697/">Clueless</a> – Sin pistas / Fuera de onda – Amy Heckerling</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0114478/">Smoke</a> – Wayne Wang/Paul Auster</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112445/">Badkonake sefid</a> – El globo blanco – Jafar Panahi</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0114369/">Seven</a> – David Fincher</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0114787/">Underground</a> – Emir Kusturica</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112870/">Dilwale dulhaniya le jayenge</a> – El corazón amoroso se queda con la novia – Aditya Chopra</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112767/">Xich Lo</a> – Triciclo – Ahn-Hung Tran</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0114814/">The Usual Suspects</a> – Sospechosos habituales – Bryan Singer</li>
<li>1995 – <a href="http://www.imdb.com/title/tt0112817/">Dead man</a> – Jim Jarmusch</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0116282/">Fargo</a> – Joel Coen</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0117968/">Trois vies et une seule mort</a> – Tres vidas y una sola muerte – Raúl Ruiz</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0117631/">Shine</a> – Scott Hicks</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0115751/">Breaking the Waves</a> – Rompiendo las olas – Lars von Trier</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0116629/">Independence day</a> – Roland Emmerich</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0117589/">Secrets and lies</a> – Secretos y mentiras – Mike Leigh</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0116384/">Gabbeh</a> – Mohsen Makhmalbaf</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0116905/">Lone star</a> – John Sayles</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0117951/">Trainspotting</a> – Danny Boyle</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0117571/">Scream</a> – Scream, vigila quién llama – Wes Craven</li>
<li>1996 – <a href="http://www.imdb.com/title/tt0116209/">The English Patient</a> – El paciente inglés – Anthnony Minguella</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0118845/">Happy together</a> – Wong Kar-Wai</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0119698/">Mononoke Hime</a> – La princesa Mononoke – Hayao Miyazaki</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0119488/">L.A. confidential</a> – Curtis Hanson</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0118804/">The Butcher Boy</a> – Contracorriente – Neil Jordan</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0119349/">The Ice Storm</a> – La tormenta de hielo – Ang Lee</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0118749/">Boogie nights</a> – Paul Thomas Anderson</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0118954/">Deconstructing Harry</a> – Desmontando a Harry – Woody Allen</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0120255/">The Sweet Hereafter</a> – Dulce porvenir – Atom Egoyan</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0119167/">Funny games</a> – Michael Haneke</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0120265/">Ta’m e Guilass</a> – El sabor de las cerezas – Abbas Kiarostami</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0125659/">Abre los ojos</a> – Alejandro Amenábar</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0119711/">Mat i Syn</a> – Madre e hijo – Aleksandr Sokurov</li>
<li>1997 – <a href="http://www.imdb.com/title/tt0120338/">Titanic</a> – James Cameron</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0118715/">The Big Lebowski</a> – El gran Lebowski – Joel Coen</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0154420/">Festen</a> – Celebración – Thomas Vinterberg</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0120815/">Saving Private Ryan</a> – Salvar al soldado Ryan – Steven Spielberg</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0118789/">Buffalo 66</a> – Vincent Gallo</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0128445/">Rushmore</a> – Wes Anderson</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0130827/">Lola rennt</a> – Corre, Lola, corre – Tom Tykwer</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0154421/">Idioterne</a> – Los idiotas – Lars von Trier</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0138704/">Pi</a> – Pi, fe en el caos – Darren Aronofski</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0147612/">Happiness</a> – Todd Solondz</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0120863/">The Thin Red Line</a> – La delgada línea roja – Terrence Malick</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0129387/">There’s something about Mary</a> – Algo pasa con Mary – Bobby &amp; Peter Farrelli</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0166808/">Sombre</a> – Philippe Grandieux</li>
<li>1998 – <a href="http://www.imdb.com/title/tt0178868/">Ringu</a> – The Ring – Hideo Nakata</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0213682/">Gohatto</a> – Tabú – Nagisa Oshima</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0175880/">Magnolia</a> – Paul Thomas Anderson</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0209933/">Beau travail</a> – Claire Denis</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0185937/">The Blair Witch Project</a> – El proyecto de la bruja de Blair – Daniel Myrick</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0120188/">Three Kings</a> – Tres reyes – David O. Russell</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0200071/">Rosetta</a> – Jean-Pierre &amp; Luc Dardenne</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0185125/">Todo sobre mi madre</a> – Pedro Almodóvar</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0189142/">Les temps retrouvé</a> – El tiempo recobrado – Raúl Ruiz</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0137523/">Fight Club</a> – El club de la lucha – David Fincher</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0120601/">Being John Malkovich</a> – Cómo ser John Malkovich – Spike Jonze</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0169547/">American beauty</a> – Sam Mendes</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0133093/">Matrix</a> – Andy &amp; Larry Wachowski</li>
<li>1999 – <a href="http://www.imdb.com/title/tt0167404/">El sexto sentido</a> – M.Night Shyamalan</li>
</ul>
<h3 id="de-2000-a-2010">De 2000 a 2010</h3>
<ul>
<li>2000 – <a href="http://www.imdb.com/title/tt0247380/">Les glaneurs et la glaneuse</a> – Los espigadores y la espigadora – Agnès Varda</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0172495/">Gladiator</a> – Ridley Scott</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0118694/">Fa yeung nin wa</a> – Deseando amar – Kar-wai Wong</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0247586/">Nueve Reinas</a> – Fabián Bielinski</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0244316/">Yi Yi</a> – Edward Yang</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0180093/">Requiem for a dream</a>- Réquiem por un sueño – Darren Aronofski</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0245712/">Amores perros</a> – Alejandro González Iñárritu</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0212338/">Meet the Parents</a> – Los padres de ella – Jay Roach</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0181865/">Traffic</a> – Steven Soderbergh</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0190332/">Wo hu cang long</a> – Tigre y dragón – Ang Lee</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0209144/">Memento</a> – Christopher Nolan</li>
<li>2000 – <a href="http://www.imdb.com/title/tt0168629/">Dancer in the dark</a> – Bailar en la oscuridad – Lars von Trier</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0211915/">Le fabuleux destin d’Amélie Poulain</a> – Amélie – Jean-Pierre Jeunet</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0203009/">Moulin Rouge!</a> – Baz Luhrmann</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0245574/">Y tu mamá también</a> – Alfonso Cuarón</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0283509/">No Man’s Land</a> – En tierra de nadie – Danis Tanovic</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0245429/">Sen to Chihiro no kamikakushi</a> – El viaje de Chihiro – Hayao Miyazaki</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0254686/">La pianiste</a> – La pianista – Michael Haneke</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0265343/">Monsoon Wedding</a> – La boda del monzón – Mira Nair</li>
<li>2001 – <a href="http://www.imdb.com/title/tt0265666/">The Royal Tenenbaums</a> – Los Tenenbaum, una familia de genios – Wes Anderson</li>
<li>2002 – <a href="http://www.imdb.com/title/tt0340468/">Ônibus 174</a> – Jose Padilha, Felipe Lacerda</li>
<li>2002 – <a href="http://www.imdb.com/title/tt0253474/">The Pianist</a> – El pianista – Roman Polanski</li>
<li>2003 – <a href="http://www.imdb.com/title/tt0364569/">Oldeuboi</a> – Oldboy – Chan-wook Park</li>
<li>2003 – <a href="http://www.imdb.com/title/tt0167260/">LOTR, Return of the King</a> – ESDLA, El retorno del rey – Peter Jackson</li>
<li>2003 – <a href="http://www.imdb.com/title/tt0301357/">Good bye Lenin!</a> – Wolfgang Becker</li>
<li>2003 – <a href="http://www.imdb.com/title/tt0335266/">Lost in Translation</a> – Sofia Coppola</li>
<li>2003 – <a href="http://www.imdb.com/title/tt0346336/">La meglio gioventù</a> – La mejor juventud – Marco Tullio Giordana</li>
<li>2004 – <a href="http://www.imdb.com/title/tt0375679/">Crash</a> – Paul Haggis</li>
<li>2004 – <a href="http://www.imdb.com/title/tt0363163/">Der Untergang</a> – El hundimiento – Oliver Hirschbiegel</li>
<li>2004 – <a href="http://www.imdb.com/title/tt0375063/">Sideways</a> – Entre copas – Alexander Payne</li>
<li>2004 – <a href="http://www.imdb.com/title/tt0361596/">Fahrenheit 9/11</a>- Michael Moore</li>
<li>2005 – <a href="http://www.imdb.com/title/tt0388505/">Va, vis et deviens</a> – Vete y vive – Radu Mihailean</li>
<li>2005 – <a href="http://www.imdb.com/title/tt0445620/">Paradise now</a> – Hany Abu-Assad</li>
<li>2005 – <a href="http://www.imdb.com/title/tt0388795/">Brokeback Mountain</a> – Ang Lee</li>
<li>2005 – <a href="http://www.imdb.com/title/tt0468565/">Tsotsi</a> – Gavin Hood</li>
<li>2005 – <a href="http://www.imdb.com/title/tt0387131/">The Constant Gardener</a> – El jardinero fiel – Fernando Meirelles</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0449059/">Little Miss Sunshine</a> – Pequeña Miss Sunshine – Jonathan Dayton</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0482571/">The Prestige</a> – El truco final, el Prestigio – Christopher Nolan</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0405094/">Das Leven der Anderen</a> – La vida de los otros – Florian Henckel</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0475276/">United 93</a> – Paul Greengrass</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0206634/">Children of Men</a> – Hijos de los hombres – Alfonso Cuarón</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0457430/">Pan’s Labyrinth</a> – El laberinto del fauno - Guillermo del Toro</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0455590/">The Last King of Scotland</a> – El ultimo rey de Escocia – Kevin Macdonald</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0443453/">Borat</a> – Larry Charles</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0449467/">Babel</a> – Alejandro González Iñárritu</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0436697/">The Queen</a> – La Reina – Stephen Frears</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0472043/">Apocalypto</a> – Mel Gibson</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0407887/">The Departed</a> – Infiltrados – Martin Scorsese</li>
<li>2006 – <a href="http://www.imdb.com/title/tt0441909/">Volver</a> – Pedro Almodóvar</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/1001-movies-to-watch-before-you-die/images/pelis_touhm1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ruta por Teruel y preparativos para Japón]]></title>
            <link>https://www.joanmira.com/es/blog/route-through-teruel-and-preparations-for-japan</link>
            <guid>https://www.joanmira.com/es/blog/route-through-teruel-and-preparations-for-japan</guid>
            <pubDate>Tue, 23 Mar 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Artículo escrito por mi compañero en la ruta del samurái]]></description>
            <content:encoded><![CDATA[<p>Por Vicente Malpica</p>
<p>Llevo muchos años viajando en moto por todos los lugares, las sensaciones que sientes cuándo emprendes un viaje nunca se me han quitado, será por eso que sigo viajando. Así fue ese lunes, era una bonita mañana de mediados de marzo, de esas que parece que todo se ha parado, el viento estaba durmiendo, hacía un sol brillante, y el ambiente era sosegado, al igual que la temperatura, ideal para viajar en moto.</p>
<p>Llevaba ya unos 4 meses, sin montar en mi querida moto trotamundos. Imaginad, que genial situación, unos días libres, buen tiempo y un reencuentro con buenos amigos, así empezó esta ruta por zona Turolense.</p>
<p>Tomé rumbo Este, por la N-420 dirección a Teruel, las sensaciones eran indescriptibles.  Me encanta ir en moto, y noto un “no sé qué ” fantástico, cuando conduzco la moto, es alucinante de verdad.</p>
<p>Viendo bonitos paisajes, junto a las orillas del río Cabriel, fui poco a poco conduciendo hasta llegar a Villel, pequeña localidad situada a pocos kms. de Teruel.</p>
<iframe frameborder="0" height="350" marginheight="0" marginwidth="0" scrolling="no" src="https://maps.google.es/maps/ms?ie=UTF8&hl=es&msa=0&ll=40.149636,-1.093377&spn=11.188571,22.192383&msid=109521630100610492151.000482b5a91bce6b189e4&z=9&output=embed" width="100%"></iframe>

<p>Creí que había llegado el primero, pero no fue así, Juan, uno de mis mejores amigos, estaba a la salida del pueblo esperándonos, hacía mucho que no le veía, y fue gratificante encontrarlo de nuevo.
 Nos saludamos, me enseño su nueva moto “trailera”, una estupenda Yamaha Teneré 660 y fuimos hacia el bar a tomar algo.</p>
<p>Seguíamos esperando al resto del grupo, en el modesto bar-restaurante que está pegado a la nacional, a Manolo y su compañero de curro Javi.</p>
<p>Empezamos a hablar de motos, ¡claro! y de la vida, del trabajo, de los viajes, de muchas cosas. Sonaron ruidos de motor, nos miramos y nuestros pensamientos se encontraron, Villa y Javier??, saltamos de las sillas y salimos fuera, así era, Manolo y Javier acababan de llegar. Pasamos al comedor y tras un buen vinito, buena comida casera y cháchara, el tiempo pasó volando. La ruta, no podía empezar mejor :-)</p>
<p>Tras la comida emprendimos la marcha, hicimos unos pocos kms hasta Más de Jacinto, donde encontramos una pequeña gasolinera de pueblo, y emprendimos la ruta, todo OK!</p>
<p>Queríamos llegar a Javalambre, a la estación de esquí, y para ello elegimos una buena ruta comarcal que pasa por donde casi nunca pasa nadie.</p>
<p>Tomamos la Ctra. hacia Riodeva, para llegar a Camarena de la Sierra, toda esta zona muy idílica, llena de pinares y pequeñas montañas al sur-oeste de Teruel.</p>
<p>La tarde iba muy bien, el fresco empezaba a aparecer, el sol daba señas de despedirse y a nosotros aún nos quedaba un poco de ruta hasta la cumbre.</p>
<p>Los caminos estaban medio bien. Me refiero a que había sitios en los cuales la ctra. aún estaba casi tapada por ventisqueros de nieve, pero despacito y con buenas manos fuimos pasando.</p>
<p>La presencia de gente en estos páramos es casi nula, algún lugareño con alguna furgoneta C15 y algún tractor, y poco más.</p>
<p>Llegamos arriba por una bonita ctra. curvilínea, ya en mejores condiciones, se nota más afluencia de gente a la estación de esquí. Paramos un poco a hacernos unas fotos, ver el lugar y charlar lo justo, ya que el frío empezaba a hacer mella en nosotros, (+5 nos indicaba los medidores que la noche se acercaba), con lo cual salimos zumbando hacia abajo.</p>
<p>La bajada fue breve porque la ctra. está en mejores condiciones y fuimos a dar al Collado del Gavilán y a la N-234, cerca de La Puebla de Valverde. Ya lo demás fue coser y cantar, un poco de autovía-nacional y Teruel.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_3_r3tucb.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_3_r3tucb.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_3_r3tucb-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_3_r3tucb-mobile.jpg" />
          <img class="image" src="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_3_r3tucb.jpg" alt="teruel_3" loading="lazy">
        </picture>
        <figcaption>teruel_3</figcaption>
      </figure></p>
<p>A todo esto, Joan me había explicado que estaría en Pamplona por gestiones de trabajo y que estaría con nosotros el martes. Bueno, eso era lo acordado, pero al final aligeró el paso y ya bien entrada la noche, casi las 24 horas, de ese mismo lunes, apareció en Teruel, tras pasar un fuerte viento y más helado que un pingüino, (en verdad mi compañero de aventuras es un gran tipo y duro de pelar como las piedras :-)</p>
<p>Nosotros estábamos de vuelta de un bareto céntrico de Teruel, en el que habíamos engullido unos buenos platos de chacinas, jamoncito y demás viandas de la zona, cuando llegó Joan.</p>
<p>Es extraña la sensación que siento cada vez que nos encontramos, Joan es un buen amigo y muy aventurero, al igual que el resto de mis amigos, es muy grata su compañía y la de todos.</p>
<p>Marchamos todos a la residencia a “meternos en el sobre”, y la verdad tardamos poquito en irnos a esos mundos oníricos, de fantasía, donde todas las motos y los caminos, están hechos de luz...</p>
<p>El martes nos levantamos todos algo “cansaícos”, tantos cambios en poco tiempo se nota, pero con unas ganas enormes de hacer kms.</p>
<p>Desayunamos bien, en un bareto que hay junto a la residencia y, tras echarles un vistazo a las motos, que estaban heladas a esa hora, (sobre las 10 h.), pusimos el ON y a rutear por la sierra de Gúdar.</p>
<p>El día era más soleado que el anterior, se preveía algo glorioso, aunque hasta bien entrado el día, se sentía la frialdad mañanera.</p>
<p>Tomamos dirección Formiche Alto y el Castellar, ctra. de montaña, bonitos paisajes, y una marcha relajada. Ya no recordaba casi lo que era ir 5 moteros de ruta, porque suelo viajar en solitario, como mucho, uno más, pero la sensación fue muy buena.</p>
<p>El sol empezó cada vez a apretar más, los músculos a desentumecerse y tras pequeñas paradas, charlas a pie de ctra., risas y buen rollo, así fue discurriendo la ruta, día de motos, amigos y paisajes.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_2_gr5eby.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_2_gr5eby.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_2_gr5eby-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_2_gr5eby-mobile.jpg" />
          <img class="image" src="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_2_gr5eby.jpg" alt="teruel_2" loading="lazy">
        </picture>
        <figcaption>teruel_2</figcaption>
      </figure></p>
<p>La sierra de Gúdar es un lugar idílico, ya que no posee excesivos turistas y sus gentes y paisajes te traen unas sensaciones que otros lugares no te dan, muy recomendable, ¡Teruel existe!</p>
<p>Decidimos comer en un pueblecito llamado Linares de Mora, y estando allí degustando buenos manjares de la zona, apareció la cuñada de Javier, maestra en la zona, donde nos contó, cómo son los niños de esas tierras, la paz que reina en esas montañas y la cantidad de nieve y frío que han pasado este invierno, interesante...</p>
<p>¡Cómo pasa el tiempo!, ya ni recuerdo las horas que pasamos en ese agradable restaurante, el caso es que al salir, el sol parecía indicar como que, o aligerábamos el paso, o nos haría frío nocturno de regreso.</p>
<p>En unanimidad, como siempre, decidimos hacernos un buen trozo de pista de tierra, para que no se diga eso de que llevamos trails y ni tocan la tierra</p>
<p>Nos vino de perlas a Joan y a mí, ya que en breve haremos miles de kms. de tierra y el ir adaptándonos a esos terrenos, es muy importante.</p>
<p>La ruta era llegar a Castelvispal, y luego camino de tierra hasta Puertomingalvo.</p>
<p>Es cierto que una trail es una trail, el poco trayecto hasta Castelvispal fue bien, con ctra. rota y gravilla, para no variar, zonas también de umbría donde la nieve y hielo hicieron acto de presencia.</p>
<p>Luego emprendimos el trozo de ruta trail-tierra que, en un primer término, creímos que sería solo “ripio” (tierra), como dicen los Argentinos, y se transformó luego en trozos de barro, hielo y nieve.</p>
<p>Con cuidado todos fuimos pasando y, no sin dejar de ver la inmensidad de las montañas de esta zona y lo que la naturaleza nos ofrece, vayamos a donde vayamos, ¡fantástico!</p>
<p>En Puertomingalvo la ctra. se convierte de nuevo con asfalto y estropeada, muy entretenida de baja hacia Castillo de Villamalefa y Zucaina, donde los paisajes son indescriptibles.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_4_la6dym.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_4_la6dym.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_4_la6dym-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_4_la6dym-mobile.jpg" />
          <img class="image" src="/blog/route-through-teruel-and-preparations-for-japan/images/teruel_4_la6dym.jpg" alt="teruel_4" loading="lazy">
        </picture>
        <figcaption>teruel_4</figcaption>
      </figure></p>
<p>Ya en tierras Castellonenses seguimos ruta sin parar demasiado, ya que la noche se nos acercaba. Una parada de rigor en el embalse de Arenós y tras unas buenas fotos, continuamos marcha hasta Olba, Rubielos de Mora y Mora de Rubielos.</p>
<p>En este último pueblo, repostamos a nuestras fieles traileras y, en esos momentos ocurrió un percance:</p>
<p>Vaya, Javier nos avisa, alarmado, que su moto, F650, (como mi antigua moto) había notado una especie de explosión en el depósito del anticongelante y se veía líquido del mismo en el suelo.</p>
<p>Pues nada, manos a la obra, desarmamos un poco su moto, con cuidado le quitamos el tapón del radiador, y pudimos comprobar que no iba bien la válvula que tiene el mismo.</p>
<p>Lo abrimos y lo volvimos a poner, a su vez, se revisó el depósito-vaso de expansión, que estaba vacío, entonces con cuidado cerramos el tapón del radiador, llenamos el citado vaso de expansión y ya más relajado, tomó rumbo Teruel, precediéndonos a todos.</p>
<p>La noche ya nos había cogido, pero la temperatura se mantenía algunos grados por encima de cero, genial.</p>
<p>Poco a poco fuimos avanzando hacia la pequeña ciudad Aragonesa, donde terminamos la ruta.</p>
<p>Esa noche no nos apeteció irnos al centro, todos algo cansados de habernos hecho unos 239 kms. de curvas y más curvas, así que cerca de la residencia había una Pizzería, donde nos “zampamos” unas buenas pizzas y unas “birras”, para irnos a dormir pronto.</p>
<p>Y lo que empieza acaba, y con la ilusión y los sueños de que vendrán más y más rutas, nos despedimos esa mañana de miércoles, en la cual ya cada uno tomó rumbo distinto.</p>
<p>Joan y yo tiramos rumbo Oeste, N420 hacia Cuenca, hasta Torrebaja, donde, tras unas fotos cómicas, nos despedimos hasta la próxima, que si todo va bien será muy pronto.</p>
<p>Con respecto al viaje a Japón, las gestiones siguen adelante. Tenemos nuevos patrocinadores, gracias desde aquí a: Seva’s Publicity y Casbas Creaciones.</p>
<p>Y decir que KM. Cero sigue en hacernos los seguros internacionales para todo el viaje.</p>
<p>Los Visados para Rusia y Mongolia, estamos en ello, un poco complicadillo el tema, sobre todo el Ruso, pero no imposible.</p>
<p>Lo de la gasolina en Mongolia un lío, aún no sabemos fehacientemente, si es Con plomo o Sin plomo, por quitarle Catalizador a la moto o no, en fin nos enteraremos seguro.</p>
<p>El Carnet ATA, casi a punto de hacérnoslo, para poder sacar nuestras motos de Europa y la verdad poco más, luchando por conseguir más apoyos día a día y eso, muchas ganas de partir y emprender viaje.</p>
<p>Muchas gracias a tod@s por todo lo que hacéis por nosotros, un gran abrazo.</p>
<p>Joan and Vicente</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/route-through-teruel-and-preparations-for-japan/images/teruel_1_ywf9sj.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cartas a patrocinadores]]></title>
            <link>https://www.joanmira.com/es/blog/letters-to-sponsors</link>
            <guid>https://www.joanmira.com/es/blog/letters-to-sponsors</guid>
            <pubDate>Thu, 04 Mar 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Toda colaboración que se pueda conseguir será bienvenida y gratamente valorada]]></description>
            <content:encoded><![CDATA[<p>Durante los últimos seis días, hemos estado enviando cartas a empresas e instituciones que pensamos pudieran estar interesadas en participar en este proyecto. En total hemos enviado más de veinte, a empresas como: Rukka, TCX, IXS, Decathlon, Altus, Arai, GoPro, Canon, Panasonic, Sony, Hepco &amp; Becker, La Caixa, Metzeler, Öhlins, Starcom1, The North Face, Oxford, Touratech, Ubricar Motos, Wunderlinch y Yamaha. También hemos enviado al ayuntamiento de Coria del Río.</p>
<p>Lo hemos hecho de la mejor forma posible:</p>
<ul>
<li>con una propuesta personalizada para cada patrocinador</li>
<li>imprimiendo los sobres</li>
<li>adjuntando un imán de la Ruta Samurái</li>
<li>adjuntando una tarjeta de visita de la Ruta Samurái</li>
</ul>
<p>No hemos enviado una camiseta porque aún no están listas, pero si aceptan colaborar con nosotros, se la enviaremos seguro!</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/letters-to-sponsors/images/patrocinadores1_d0wxwi.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/letters-to-sponsors/images/patrocinadores1_d0wxwi.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/letters-to-sponsors/images/patrocinadores1_d0wxwi-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/letters-to-sponsors/images/patrocinadores1_d0wxwi-mobile.jpg" />
          <img class="image" src="/blog/letters-to-sponsors/images/patrocinadores1_d0wxwi.jpg" alt="patrocinadores1" loading="lazy">
        </picture>
        <figcaption>patrocinadores1</figcaption>
      </figure></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/letters-to-sponsors/images/patrocinadores2_oy2mez.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Tomoe Gozen, la mujer samurái]]></title>
            <link>https://www.joanmira.com/es/blog/tomoe-gozen-the-samurai-woman</link>
            <guid>https://www.joanmira.com/es/blog/tomoe-gozen-the-samurai-woman</guid>
            <pubDate>Sat, 23 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Una gran guerrera capaz de acabar con hasta 20 enemigos en un solo combate]]></description>
            <content:encoded><![CDATA[<p><em>Tomoe Gozen cargando contra el enemigo, en una xilografía de Yoshu Chikanobu, de 1899</em></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/tomoe-gozen-the-samurai-woman/images/tomoe.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/tomoe-gozen-the-samurai-woman/images/tomoe.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/tomoe-gozen-the-samurai-woman/images/tomoe-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/tomoe-gozen-the-samurai-woman/images/tomoe-mobile.jpg" />
          <img class="image" src="/blog/tomoe-gozen-the-samurai-woman/images/tomoe.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<p>La clase guerrera Samurái se inició en el siglo IX siendo expertos luchadores con unas estrictas normas de honor. También existe una guerrera japonesa. Fue la bella Tomoe que, además de ser reconocida como samurái de alto rango, era temida por sus enemigos. Su arma preferida, la naginata, una especie de lanza de madera con una hoja metálica acoplada, le dio fama legendaria. Siempre dispuesta a la lucha, también era una excelente arquera y dominaba con facilidad el manejo de grandes caballos por escarpadas pendientes. Su muerte, defendiendo a su amado esposo, el general Minamoto Yoshinaka en un desigual combate, la convirtió en un mito.</p>
<p>Se estima que Tomoe nació en torno al año 1157. Su nombre significa “Círculo Perfecto” y, como todas las mujeres de familias samurái, fue introducida en el arte marcial de la naginata (NAGINATA JUTSU). Esto era necesario, ya que las mujeres eran las responsables de la defensa de las haciendas cuando los hombres no estaban.</p>
<p>A Tomoe le tocó vivir una época de enfrentamiento entre clanes japoneses, en concreto entre el clan TAIRA y el clan MINAMOTO y que se conocen como GUERRAS GEMPEI (1.180-1.185). Finalmente, el clan MINAMOTO se alzó con la victoria, proclamando el primer shogunato de Kamakura. Con su naginata, su armadura y su caballo, Tomoe se distinguió durante estas luchas e incluso, cuenta la leyenda que en un solo combate fue capaz de acabar con 20 guerreros enemigos. Su imagen ha quedado reflejada en multitud de pinturas y relatos.</p>
<p>Sucedió que los generales del clan MINAMOTO tampoco se llevaban bien. Minamoto Yoshinaka, joven general de gran prestigio y casado con Tomoe Gozen, despertó los recelos del Shogun de Kamakura, Yorimoto Minamoto. Acusándolo de conspirador, el Shogun logró que el Emperador declarara a Minamoto Yoshinaka (general Kiso), enemigo del Estado, cosa que obligaba al Shogun a acabar con él.</p>
<p>El general Kiso fue abandonado por sus hombres. Por todos, menos por cuatro leales guerreros, entre los que se encontraba su fiel esposa Tomoe y que pereció luchando junto a su marido en la llamada batalla de Awazu (1.184).</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/tomoe-gozen-the-samurai-woman/images/tomoe-landscape.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Películas sobre Mongolia que tienes que ver]]></title>
            <link>https://www.joanmira.com/es/blog/movies-about-mongolia-that-you-must-see</link>
            <guid>https://www.joanmira.com/es/blog/movies-about-mongolia-that-you-must-see</guid>
            <pubDate>Sat, 23 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Para los curiosos que aún no conocen la cultura de este remoto país]]></description>
            <content:encoded><![CDATA[<h3 id="la-boda-de-tuya-tu-ya-de-hun-shi">La boda de Tuya (Tu ya de hun shi)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/La_boda_de_Tuya_AKA_El_matrimonio_de_Tuya-496401720-large_fkh8xs.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/La_boda_de_Tuya_AKA_El_matrimonio_de_Tuya-496401720-large_fkh8xs.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/La_boda_de_Tuya_AKA_El_matrimonio_de_Tuya-496401720-large_fkh8xs-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/La_boda_de_Tuya_AKA_El_matrimonio_de_Tuya-496401720-large_fkh8xs-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/La_boda_de_Tuya_AKA_El_matrimonio_de_Tuya-496401720-large_fkh8xs.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2006</li>
<li>Duración: 92 min.</li>
<li>País: China</li>
<li>Director: Wang Quan’an</li>
<li>Guion: Wang Quan’an, Lu Wei</li>
<li>Fotografía: Lutz Reitemeier</li>
<li>Reparto: Yu Nan, Ba Te Er, Sen Ge, Peng Hongxiang</li>
<li>Productora: Xi‘an Motion-Picture</li>
<li>Web oficial: <a href="http://www.golem.es/labodadetuya">www.golem.es/labodadetuya</a></li>
<li>Premios: 2007, Berlín, Oso de Oro a la mejor película</li>
<li>Sinopsis: En la Mongolia más rural y profunda, Tuya (Yu Nan) es una joven mujer que lucha por cambiar su destino, intentando sacar adelante a su marido, tullido, sus dos hijos y su reb- Año de ovejas. La presión que ejerce el Gobierno para que los pastores mongoles abandonen su tradicional vida nómada es cada vez mayor. Tuya es guapa, fuerte y testaruda. Cuida de sus animales y su familia en Mongolia Interior. Rehúsa abandonar sus pastos pero el esfuerzo prolongado le pasa factura y cae enferma. La única solución es divorciarse de Bater, su marido, y volver a casarse para poder seguir adelante. No son pocos los pretendientes, pero ninguno quiere aceptar la condición que Tuya impone. No busca a alguien rico, apuesto o inteligente. Solo pide que cuide de sus hijos y, sobre todo, de su marido Bater…</li>
</ul>
<h3 id="el-perro-mongol-die-hoehle-des-gelben-hundes">El perro mongol (Die Hoehle des gelben Hundes)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/El_perro_mongol_La_cueva_del_perro_amarillo-384806038-large_xjfndd.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/El_perro_mongol_La_cueva_del_perro_amarillo-384806038-large_xjfndd.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/El_perro_mongol_La_cueva_del_perro_amarillo-384806038-large_xjfndd-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/El_perro_mongol_La_cueva_del_perro_amarillo-384806038-large_xjfndd-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/El_perro_mongol_La_cueva_del_perro_amarillo-384806038-large_xjfndd.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2005</li>
<li>Duración: 90 min.</li>
<li>País: Alemania</li>
<li>Director: Byambasuren Davaa</li>
<li>Guion: Byambasuren Davaa</li>
<li>Fotografía: Daniel Schoenauer</li>
<li>Reparto: Batchuluun Urjindorj, Buyandulam Daramdadi Batchuluun, Nansal Batchuluun, Nansalmaa Batchuluun, Batbayar Batchuluun</li>
<li>Productora: Schesch Film / HFF Munich</li>
<li>Sinopsis: Nansal, la hija mayor de una familia de nómadas mongoles, se encuentra un día un cachorro mientras recoge leña para su madre en un campo cercano a su casa. Desde el primer momento se encapricha del perrito pero, cuando lo lleva a casa, su padre tiene miedo de que les traiga mala suerte, ya que cree que puede ser descendiente de lobos, y le pide que se deshaga inmediatamente de él...</li>
</ul>
<h3 id="ping-pong-mongol-lü-cao-di">Ping-Pong Mongol (Lü cao di)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mongolian-ping-pong-dvd_zgi9uy.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mongolian-ping-pong-dvd_zgi9uy.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mongolian-ping-pong-dvd_zgi9uy-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mongolian-ping-pong-dvd_zgi9uy-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/mongolian-ping-pong-dvd_zgi9uy.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2005</li>
<li>Duración: 102 min.</li>
<li>País: China</li>
<li>Director: Hao Ning</li>
<li>Guion: Hao Ning</li>
<li>Música: Wuhe</li>
<li>Fotografía: Jie Du</li>
<li>Reparto: Hurichabilike, Dawa, Geliban, Badema, Yidexinnaribu...</li>
<li>Productora: Beijing Kunlun Xiongdi Prod</li>
<li>Sinopsis: Una pelota blanca de ping-pong va flotando por un riachuelo hasta que la encuentra Bilgee, un niño de Mongolia. Su abuela le dice que es una perla resplandeciente que ha caído del cielo. Él se cree la historia y se pasa toda la noche en la pradera con sus dos mejores amigos: Ergotor, que no sabe montar a caballo, pero sabe conducir una moto, y Dawaa, que es muy pequeño, pero nunca se rinde. Sin embargo no llegan a ver el ansiado resplandor de la pelota y todo lo que consiguen es que sus padres les den una paliza cuando regresan a casa. Durante el festival anual de Nadam, los niños confunden la «perla resplandeciente» de Bilgee con la pelota de golf que ven en una película. El proyeccionista les sacará de la confusión y provocará el desencanto de los niños.</li>
</ul>
<h3 id="urga-el-territorio-del-amor">Urga, el territorio del amor</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Urga_19_siv0pe.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Urga_19_siv0pe.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Urga_19_siv0pe-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Urga_19_siv0pe-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/Urga_19_siv0pe.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 1991</li>
<li>Duración: 118 min.</li>
<li>País: Rusia</li>
<li>Director: Nikita Mikhalkov</li>
<li>Guion: Nikita Mikhalkov</li>
<li>Música: Eduard Nikolay Artemiev</li>
<li>Fotografía: Vilen Kaliuta</li>
<li>Reparto: Badema Bayaertu, Vladimir Gostukhin, Baoyinhexige, Larisa Kuznetsova</li>
<li>Productora: Coproducción Rusia-Francia</li>
<li>Premios: 1992, Venecia, León de Oro. 1992, Nominada al oscar a la mejor película de habla no inglesa</li>
<li>Sinopsis: En la estepa mongola vive una familia con un modesto y rural estilo de vida, hasta que la llegada de un ex-soldado ruso hará evidente la diferencia y brecha cultural entre ambas civilizaciones.</li>
</ul>
<h3 id="mongol">Mongol</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Mongol-720978610-large_psfxog.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Mongol-720978610-large_psfxog.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Mongol-720978610-large_psfxog-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Mongol-720978610-large_psfxog-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/Mongol-720978610-large_psfxog.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2007</li>
<li>Duración: 126 min.</li>
<li>País: Kazajstán</li>
<li>Director: Sergei Bodrov</li>
<li>Guion: Arif Aliyev, Sergei Bodrov</li>
<li>Música: Tuomas Kantelinen</li>
<li>Fotografía: Rogier Stoffers, Sergei Trofimov</li>
<li>Reparto: Tadanobu Asano, Aliya, Tegen Ao, Ying Bai,...</li>
<li>Productora: Co-producción Kazajstán-Rusia-Alemania-Mongolia</li>
<li>Web oficial: <a href="http://www.mongolmovie.com">www.mongolmovie.com</a></li>
<li>Premios: 2008, National Board of Review, Mejor película de habla no inglesa. 2007, nominada al Oscar a la mejor película de habla no inglesa</li>
<li>Sinopsis: Narra la vida del legendario y tembile Genghis Khan desde su esclavitud hasta que conquistó la mitad del mundo, incluyendo Rusia en 1206. Una superproducción de corte épico que fue seleccionada por Kazajstán como candidata al Oscar a la mejor película de habla no inglesa.</li>
</ul>
<h3 id="la-historia-del-camello-que-llora">La historia del camello que llora</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/camello_qcwszg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/camello_qcwszg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/camello_qcwszg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/camello_qcwszg-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/camello_qcwszg.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Título original: Ingen Numsil – Die Geschichte vom weinenden Kamel</li>
<li>Año: 2003</li>
<li>Duración: 93 min.</li>
<li>País: Mongolia</li>
<li>Director: Byambasuren Davaa, Luigi Falorni</li>
<li>Guion: Byambasuren Davaa, Luigi Falorni</li>
<li>Reparto: Documentary</li>
<li>Productora: Coproducción Mongolia-Alemania</li>
<li>Sinopsis: Documental ficcionado sobre una familia de pastores nómadas mongoles a los que les nace un camello albino que su madre rechaza.</li>
</ul>
<h3 id="el-cazador-dersu-uzala">El cazador (Dersu Uzala)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/dersuuzalaposter-large1_t6wruk.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/dersuuzalaposter-large1_t6wruk.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/dersuuzalaposter-large1_t6wruk-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/dersuuzalaposter-large1_t6wruk-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/dersuuzalaposter-large1_t6wruk.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 1975</li>
<li>Duración: 141 min.</li>
<li>País: Unión Soviética (URSS)</li>
<li>Director: Akira Kurosawa</li>
<li>Guion: Akira Kurosawa &amp; Yuri Nagibin</li>
<li>Música: Isaac Schwartz</li>
<li>Fotografía: Asakadzu Nakai, Youri Gantoman,...</li>
<li>Reparto: Maksim Munzuk, Yuri Solomin, Svetlana Danilchenko,...</li>
<li>Productora: Coproducción URSS-Japón; Mosfilm / Atelier 41</li>
<li>Premios: 1975, Oscar a la mejor película extranjera. 1975, Gran premio en el festival internacional de Moscú. 1976, David de Donatello a la mejor película del - Año</li>
<li>Sinopsis: El capitán Vladimir Arseniev y su destacamento tienen que elaborar unas prospecciones geológicas por los bosques de la taiga siberiana. La inmensidad del territorio y la dureza del clima hacen que el capitán se separe de sus soldados. Condenado a vagar por una tierra salvaje, Vladimir conoce a Dersu Uzala, un cazador nómada, habitante de la zona, que se conoce a la perfección todo el territorio y sabe cómo controlar las inclemencias del tiempo. Dersu enseñará a Vladimir a convivir en plena armonía con la naturaleza y a saber respetarla al máximo para no perturbar la existencia de ambos. A su vez, Vladimir aprenderá una lección que difícilmente olvidará el resto de su vida.</li>
</ul>
<h3 id="sueños-del-desierto--hyazgar-desert-dream">Sueños del desierto – Hyazgar (Desert Dream)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/suenos_desierto_ctdrbq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/suenos_desierto_ctdrbq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/suenos_desierto_ctdrbq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/suenos_desierto_ctdrbq-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/suenos_desierto_ctdrbq.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2007</li>
<li>Duración: 123 min.</li>
<li>País: Corea del Sur</li>
<li>Director: Zhang Lu</li>
<li>Guion: Zhang Lu</li>
<li>Fotografía: Kim Sung-tae</li>
<li>Reparto: Bakchul, Bat-Ulzii, Osor Bat-Ulzii, Bayasgalan, Shin Dong-ho</li>
<li>Productora: Coproducción Corea del Sur-Francia</li>
<li>Web oficial: <a href="http://www.solaris-distribution.com/desertdream.htm">www.solaris-distribution.com</a></li>
<li>Sinopsis: Una pequeña ciudad en una región desértica, no lejos de la frontera entre Mongolia y China. Extr- Años son los habitantes que viven todavía allí, entre los que hay un granjero, un soldado o una mujer que huyó de Corea del Norte. La mayor parte de ellos han dejado la ciudad tras haber luchado en vano, durante - Años, contra el desierto que gana cada vez más terreno. Los pocos autóctonos que subsisten, lo hacen plantando arbustos en una tierra cada vez más árida, bajo la dirección de su jefe, Hangai.</li>
</ul>
<h3 id="state-of-dogs">State of Dogs</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/state_dogs_vosmnx.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/state_dogs_vosmnx.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/state_dogs_vosmnx-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/state_dogs_vosmnx-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/state_dogs_vosmnx.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 1998</li>
<li>Duración: 55 min / 91 min.</li>
<li>País: Bélgica / Mongolia</li>
<li>Director: Peter Brosens, Dorjkhandyn Turmunkh</li>
<li>Guion: Peter Brosens, Dorjkhandyn Turmunkh</li>
<li>Reparto: Nyam Dagyrantz, Banzar Damchaa, Baatar Galsansukh,...</li>
<li>Productora: Inti Films with Balthazar Film, Magic Hour Films,...</li>
<li>Premios: 18 - Premios incluyendo: “Grand Prix”, Visions du Réel, Nyon,...</li>
<li>Sinopsis: Es una mezcla asombrosa de viaje personal y comentario social. Hermosa e inquietante, la película está estructurada por los recuerdos de Basaar, un perro vagabundo muerto por un cazador en Ulan Bator. Los mongoles creen que los perros se reencarnan en seres humanos, pero Basaar se resiste a aceptar este destino. Historia Basaar está entrelazado con el mito de Mongolia y la poesía contemporánea, teniendo en la textura de una fábula poética. <a href="http://video.google.com/videoplay?docid=-2155333397414514793">Ver la película en Google Videos</a></li>
</ul>
<h3 id="genghis-khan-to-the-ends-of-the-earth-and-sea">Genghis Khan: To the Ends of the Earth and Sea</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Genghis_Khan_2007_film_poster_ocuddh.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Genghis_Khan_2007_film_poster_ocuddh.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Genghis_Khan_2007_film_poster_ocuddh-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/Genghis_Khan_2007_film_poster_ocuddh-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/Genghis_Khan_2007_film_poster_ocuddh.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2007</li>
<li>Duración: 136 min.</li>
<li>País: Japón / Mongolia</li>
<li>Director: Shinichirō Sawai</li>
<li>Guion: Takehiro Nakajima, Shôichi Maruyama,...</li>
<li>Reparto: Takashi Sorimachi, Rei Kikukawa, Mayumi Wakamura,...</li>
<li>Productora: Minoru Ebihara, Haruki Kadokawa, Katsuhito Matsuura,...</li>
<li>Sinopsis: Una mirada a la vida de Genghis Khan, desde su nacimiento a las conquistas en Asia.</li>
</ul>
<h3 id="kiran-en-mongolia">Kiran en Mongolia</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/splash_Mar_2007_01Layer1_ciavdg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/splash_Mar_2007_01Layer1_ciavdg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/splash_Mar_2007_01Layer1_ciavdg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/splash_Mar_2007_01Layer1_ciavdg-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/splash_Mar_2007_01Layer1_ciavdg.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2005</li>
<li>Duración: 60 min.</li>
<li>País: Estados Unidos</li>
<li>Director: Jonathan Bland</li>
<li>Guion: Jonathan Bland</li>
<li>Música: Anna Halldórsdóttir</li>
<li>Fotografía: Jonathan Bland</li>
<li>Reparto: Documentary, Oral Esemgul, Kairatkan Sernedan, Kuma Uliksat</li>
<li>Productora: BULKFilms</li>
<li>Web oficial: <a href="http://www.kiranovermongolia.com">www.kiranovermongolia.com</a></li>
<li>Sinopsis: Kuma, un joven hombre Kazak, reconstruye los pasos de su abuelo que fue un ex capitán adiestrador de águilas en una remota región mont- Añosa. Allí, en el extremo occidental de Mongolia, cumple su sueño de capturar y adiestrar por si mismo su propia águila. Bajo la tutela de un maestro adiestrador local llamado Khairatkhan, Kuma aprende no sólo las formas de caza de águilas, sino también las costumbres de su propio pueblo. Los kazajos de Mongolia se han aislado de la civilización occidental por 70 - Años tras la “Cortina de Hierro” del comunismo soviético. Irónicamente, su cultura esta mucho mejor conservada que incluso la de los kazajos de la República de Kazajstán. El objetivo de ‘Kiran sobre Mongolia’ es crear un documento sobre la cultura Kazak de Mongolia, ahora que el - País se ha abierto al mundo desde la caída del comunismo.</li>
</ul>
<h3 id="taiga">Taiga</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/taiga_wzyvgg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/taiga_wzyvgg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/taiga_wzyvgg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/taiga_wzyvgg-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/taiga_wzyvgg.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 1992</li>
<li>Duración: 501 min.</li>
<li>País: Alemania</li>
<li>Director: Ulrike Ottinger</li>
<li>Guion: Ulrike Ottinger</li>
<li>Música: Andreas Mücke</li>
<li>Productora: Ulrike Ottinger Filmproduction, Berlin,...</li>
<li>Web oficial: <a href="http://www.ulrikeottinger.com/index.php/732.html">www.ulrikeottinger.com</a></li>
<li>Sinopsis: Un viaje al yak y renos nómadas de la tierra del norte de los mongoles.</li>
</ul>
<h3 id="johanna-darc-of-mongolia">Johanna D’Arc of Mongolia</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/sisters-47-e992a634_foto_xq9i9a.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/sisters-47-e992a634_foto_xq9i9a.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/sisters-47-e992a634_foto_xq9i9a-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/sisters-47-e992a634_foto_xq9i9a-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/sisters-47-e992a634_foto_xq9i9a.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 1988</li>
<li>Duración: 165 min.</li>
<li>País: Alemania</li>
<li>Director: Ulrike Ottinger</li>
<li>Guion: Ulrike Ottinger</li>
<li>Intérpretes: Peter Kern, Irm Hermann, Christoph Eichhorn, Ines Sastre,...</li>
<li>Web oficial: <a href="http://www.ulrikeottinger.com/index.php/745.html">www.ulrikeottinger.com</a></li>
<li>Sinopsis: La aventura épica de Ulrike Ottinger narra el encuentro fantástico entre dos mundos diferentes. Siete viajeras occidentales se encuentran a bordo del suntuoso y meticulosamente reconstruido Transiberiano Exprés, un museo sobre ruedas de la cultura europea. Entonces sufren una emboscada por parte de unas jinetes mongolas, y las pasajeras son llevadas a las llanuras de la Mongolia interior, en una fantástica travesía en camello a través de espléndidos paisajes. El cine de Ottinger nos muestra con habilidad las impresionantes vistas, las opulentas costumbres de la Princesa Ulun Iga y su séquito, y los rituales de la vida mongola. Versión femenina del Lawrence de Arabia, y de un romanticismo tan radical como ésta, Johanna d?Arc of Mongolia nos embarca en un viaje inolvidable, plagado de aventuras.</li>
</ul>
<h3 id="a-mongolian-tale-hei-jun-ma">A mongolian tale (Hei jun ma)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/MongolianTale_c7jyyd.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/MongolianTale_c7jyyd.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/MongolianTale_c7jyyd-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/MongolianTale_c7jyyd-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/MongolianTale_c7jyyd.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 1995</li>
<li>Duración: 105 min.</li>
<li>País: China</li>
<li>Director: Fei Xie</li>
<li>Guion: Cheng-zhi Zhang</li>
<li>Intérpretes: Dalarsurong, Bayirtcya, Renhua Na,...</li>
<li>Sinopsis: Bayinbulag y Somiya son educados desde una edad joven, como hermano y hermana con su abuela adoptiva. Los tres viven felices en una cabaña en las estepas de Mongolia. Justo antes de que Bayinbulag saliera de la ciudad, habiendose formado como veterinario, la abuela y  Bayinbulag sugieren que Somiya finalmente deberia casarse. Bayinbulag, ahora se entrena para ser un músico, se mantiene por largos períodos de tiempo sin comunicarse con Somiya. Al final, el vuelve y espera casarse con ella.</li>
</ul>
<h3 id="all-my-love">All my love</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/2004105533_lgjgme.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/2004105533_lgjgme.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/2004105533_lgjgme-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/2004105533_lgjgme-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/2004105533_lgjgme.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2007</li>
<li>Duración: 90 min.</li>
<li>País: EEUU, Alemania, Mongolia</li>
<li>Director: Brian Short</li>
<li>Guion: Brian Short</li>
<li>Intérpretes: Tania Kupczek</li>
<li>Sinopsis: En un momento en el que la mayoría de los cineastas independientes que compiten por un espacio en el Sundance o en el “cine indie” de Hollywood, es refrescante ver una película que se abastece exclusivamente de los misterios de la expresión artística. Con “All My Love”, el cineasta local y compositor Brian Short ha creado una experiencia audiovisual que sorprenderá a algunos y dejerá a otros confundidos, pero con valentía digna de su primer premio de la Mejor Película en 2007, el Foro de Cine de Northwest Sightings, festival local de cine.</li>
</ul>
<h3 id="destination-gobi">Destination Gobi</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/destination_gobi_mynfv8.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/destination_gobi_mynfv8.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/destination_gobi_mynfv8-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/destination_gobi_mynfv8-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/destination_gobi_mynfv8.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 1953</li>
<li>Duración: 90 min.</li>
<li>País: EEUU</li>
<li>Director: Robert Wise</li>
<li>Guion: Everett Freeman, Edmund G. Love</li>
<li>Intérpretes: Richard Widmark, Don Taylor, Max Showalter,...</li>
<li>Sinopsis: Un grupo de meteorólogos de la Marina de EE.UU. va a tomar medidas en el desierto de Gobi, en la Segunda Guerra Mundial se ven obligados a buscar la ayuda de los nómadas mongoles para recuperar su barco, mientras sucede el ataque de la fuerza aérea japonesa. Los mongoles son recompensados por un puente aéreo con las mejores sillas de montar.</li>
</ul>
<h3 id="la-gran-final-the-great-match">La gran final (The great match)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/The_Great_Match_hakd0g.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/The_Great_Match_hakd0g.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/The_Great_Match_hakd0g-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/The_Great_Match_hakd0g-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/The_Great_Match_hakd0g.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2006</li>
<li>Duración: 88 min.</li>
<li>País: España / Alemania</li>
<li>Director: Gerardo Olivares</li>
<li>Guion: Gerardo Olivares, Chema Rodríguez</li>
<li>Intérpretes: Shag Humar Khan, Abu Aldanish, Zeinolda Igaza,...</li>
<li>Sinopsis: Esta película cuenta la historia de aventuras de tres héroes, ninguno de los cuales he conocido, pero que sin embargo tienen dos cosas en común: en primer lugar, que todos vivimos en el más lejano de los rincones remotos del planeta y, en segundo lugar, están los tres decididos a ver en la televisión la final en Japón de la Copa del Mundo de 2002 entre Alemania y Brasil. Los protagonistas de esta “comedia mundial” son: una familia de nómadas mongoles, una caravana de camellos de los tuareg en el Sáhara, y un grupo de indios en la Amazonia. Todos ellos viven a más de 500 kilómetros de la ciudad más cercana – y la televisión más próxima – haciendo su tarea  particularmente desalentadora. Sin embargo, estas personas poseen la inventiva y el ingenio de la fuerza de voluntad para lograr su objetivo.</li>
</ul>
<h3 id="khadak-color-of-water">Khadak (Color of Water)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/47170340_jisowi.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/47170340_jisowi.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/47170340_jisowi-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/47170340_jisowi-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/47170340_jisowi.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2007</li>
<li>Duración: 104 min.</li>
<li>País: Bélgica / Alemania / Holanda</li>
<li>Director: Peter Brosens, Jessica Hope Woodworth</li>
<li>Guion: Peter Brosens, Jessica Hope Woodworth</li>
<li>Intérpretes: Batzul Khayankhyarvaa, Tsetsegee Byamba, Banzar Damchaa,...</li>
<li>Sinopsis: El realismo mágico, la epilepsia, y las estepas de Mongolia. Un piloto muere. Su hijo Bagi, que, como su padre, tiene epilepsia, crece en la estepa, la cría de ovejas, con sujeción a ajustes. Una plaga entre los animales obliga a la familia a dejar sus tierras y se van a una ciudad donde Bagi consigue un trabajo de minero. Sus ataques se hacen más frecuentes y empieza a tener visiones en este páramo de minería, fábricas y escombros. Conoce a un grupo de estudiantes de arte  después de salvar la vida de uno de ellos. Mientras la crisis se profundiza con su gente – los pastores sin ovejas – BAGI usa las visiones para buscar la dirección. ¿Salvará a su pueblo, y se puede encontrar el amor?</li>
</ul>
<h3 id="mujaan-el-artesano">Mujaan (El Artesano)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mujaan_k6j15p.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mujaan_k6j15p.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mujaan_k6j15p-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/mujaan_k6j15p-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/mujaan_k6j15p.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2005</li>
<li>País: EEUU</li>
<li>Director: Christopher McKee</li>
<li>Intérpretes: Altangerel, Sukhbaatar</li>
<li>Web: <a href="http://mujaan.com">www.mujaan.com</a></li>
<li>Sinopsis: En las lejanas estepas de Mongolia, utilizando herramientas simples, la fuerza y el ingenio, un nómada construye una casa de la forma que lo hacian sus antepasados durante los últimos mil - Años. Mujaan (El Artesano) es una ventana viva a una forma de desaparecer de la vida en uno de los rincones más remotos del mundo.</li>
</ul>
<h3 id="my-beautiful-jinjiimaa">My Beautiful Jinjiimaa</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/jinjiimaa_ad5v5g.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/jinjiimaa_ad5v5g.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/jinjiimaa_ad5v5g-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/jinjiimaa_ad5v5g-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/jinjiimaa_ad5v5g.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2006</li>
<li>País: Mongolia</li>
<li>Duración: 88 min.</li>
<li>Director: Ochir Mashbat</li>
<li>Intérpretes: Natsagdorj Battsetseg, Purevdorj Tserendagva,...</li>
<li>Sinopsis: Ochir Mashbat revela la sublime belleza y la gracia que acechan bajo la superficie de otro modo de vida normal con esta emotiva historia de una mujer violada, y la amistad duradera que le ayuda a superar su trauma puede tener consecuencias catastróficas. Jinjimaa es una mujer sorda que vive en zona rural de Mongolia. Cuando Jinjimaa es violada por el presidente del partido local, le dispara a su agresor muerto. A raíz de la amiga de tiro de toda la vida Jinjimaa, un granjero llamado lame Sukhee, asume la responsabilidad...</li>
</ul>
<h3 id="puujee">Puujee</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/puujee_JPG_osaico.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/puujee_JPG_osaico.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/movies-about-mongolia-that-you-must-see/images/puujee_JPG_osaico-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/movies-about-mongolia-that-you-must-see/images/puujee_JPG_osaico-mobile.jpg" />
          <img class="image" src="/blog/movies-about-mongolia-that-you-must-see/images/puujee_JPG_osaico.jpg" alt="" loading="lazy">
        </picture>
        <figcaption></figcaption>
      </figure></p>
<ul>
<li>Año: 2007</li>
<li>País: Japón</li>
<li>Duración: 110 min.</li>
<li>Director: Kazuya Yamada</li>
<li>Sinopsis: En el contexto de un paisaje natural magnífico, pero pesado, un periodista gráfico japonés encuentra a puujee, una joven que doma caballos salvajes en las estepas de Mongolia. Esta película no la encuentro por ningún sitio para comprar o descargar.</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/movies-about-mongolia-that-you-must-see/images/puujee_JPG_osaico.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[La Historia de Hasekura Tsunenaga]]></title>
            <link>https://www.joanmira.com/es/blog/the-story-of-hasekura-tsunenaga</link>
            <guid>https://www.joanmira.com/es/blog/the-story-of-hasekura-tsunenaga</guid>
            <pubDate>Sun, 10 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[El primer oficial japonés en establecer relaciones comerciales entre Japón y Europa]]></description>
            <content:encoded><![CDATA[<h3 id="¿quien-fue-hasekura-tsunenaga">¿Quien fue Hasekura Tsunenaga?</h3>
<p><a href="http://es.wikipedia.org/wiki/Hasekura_Tsunenaga">Hasekura Rokuemon Tsunenaga</a> (nacido en 1571 y fallecido 7 de agosto 1622) fue un samurái japonés que prestó servicios al daimyo de la ciudad japonesa de <a href="http://es.wikipedia.org/wiki/Sendai_%28Miyagi%29">Sendai</a>, <a href="http://es.wikipedia.org/wiki/Date_Masamune">Date Masamune</a>. Dirigió una misión diplomática a México y luego a Europa entre 1613 y 1620, regresando por último a Japón.</p>
<p>Fue el primer oficial japonés enviado a América y su viaje a Francia pasó a ser el primer caso registrado de contacto directo en las relaciones franco-japonesas.</p>
<p>A fin de establecer una relación comercial y solicitar el envío de misioneros cristianos, el fundador de Sendai, Date Masamune, <strong>envió en 1613 una misión hacia Europa</strong> embarcada en el “<em>San Juan Baustista</em>“, velero de estilo occidental, construido por el señorío de Sendai. El nombre de su Subdelegado fue Haskura Tsunenaga, vasallo de Masamune, quien desembarcó primero en la ciudad de Acapulco (México) cruzando el Océano Pacífico, con un galeón español, y luego se dirigió hacia Europa, llegando el 20 de diciembre de 1614.</p>
<p>Visitó Madrid (España) y Roma (Italia) <strong>convirtiéndose así en el primer japonés que cruzó el Océano Atlántico</strong>.</p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-story-of-hasekura-tsunenaga/images/Sanjuanbautista.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-story-of-hasekura-tsunenaga/images/Sanjuanbautista.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-story-of-hasekura-tsunenaga/images/Sanjuanbautista-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-story-of-hasekura-tsunenaga/images/Sanjuanbautista-mobile.jpg" />
          <img class="image" src="/blog/the-story-of-hasekura-tsunenaga/images/Sanjuanbautista.jpg" alt="Réplica del Galeón Español Juan Bautista" loading="lazy">
        </picture>
        <figcaption>Réplica del Galeón Español Juan Bautista</figcaption>
      </figure></p>
<p>La misión japonesa comandada por Hasekura, en audiencia del rey Felipe III de España, el 30 de enero de 1615, le trajo una carta de Date Masamune ofreciéndole un tratado. El Rey le respondió que haría lo posible para cumplir sus peticiones.</p>
<p>En Italia, a dicha misión se le concedió una entrevista con el Sumo Pontífice. Su largo viaje terminó casi siete años después de su partida del Japón. Este es uno de los hechos más relevantes en la historia de la populosa ciudad japonesa de Sendai.</p>
<p>El embajador japonés, Hasekura, fue bautizado el 17 de febrero por personal de la capellanía real española con el nuevo nombre de Felipe Francisco Hasekura.</p>
<p><strong>La misión partió de Sevilla hacia México en junio de 1617</strong> después de un periodo de dos años en Europa, pero fue aquí cuando algunos japoneses decidieron quedarse en España, concretamente en la ciudad sevillana de <a href="http://es.wikipedia.org/wiki/Coria_del_R%C3%ADo">Coria del Río</a>, donde sus descendientes todavía conservan el apellido “Japón”.</p>
<h3 id="la-simbiosis-con-españa">La simbiosis con España</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-story-of-hasekura-tsunenaga/images/coria-del-rio.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-story-of-hasekura-tsunenaga/images/coria-del-rio.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-story-of-hasekura-tsunenaga/images/coria-del-rio-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-story-of-hasekura-tsunenaga/images/coria-del-rio-mobile.jpg" />
          <img class="image" src="/blog/the-story-of-hasekura-tsunenaga/images/coria-del-rio.jpg" alt="Paseo Carlos de Mesa de Coria del Río junto al río Guadalquivir - ABC" loading="lazy">
        </picture>
        <figcaption>Paseo Carlos de Mesa de Coria del Río junto al río Guadalquivir - ABC</figcaption>
      </figure></p>
<p>En la actualidad existen muchos ciudadanos en la ciudad de Coria del Rio, que no solo poseen el adoptado apellido “Japón” como herencia transmitida de esos primeros japoneses que decidieron quedarse en la localidad, sino que no resulta difícil adivinar en ellos/as ciertas facciones que corroboran su descendencia japonesa.</p>
<p>El prestigioso investigador, poeta y novelista coriano, Daniel Pineda Novo, gran conocedor de esta materia, asegura que el motivo principal que empujó a echar raíces a estos navegantes en esta ciudad, no fue otro que <strong>el encanto de las bellas mujeres que encontraron</strong> y el <strong>carácter abierto y hospitalario</strong> que le brindaron sus habitantes.</p>
<p>Por entonces, Coria del Río, además de ser una sociedad con una economía básicamente agrícola, vivía manifiestamente volcada al río y de los frutos que el mismo ofrecía a su comunidad, siendo un importante puerto fluvial y comercial en el Guadalquivir, motivo que debió servir de canalizador de la fusión de ambas culturas.</p>
<p>Actualmente, podemos afirmar, que el coriano hoy, es plenamente consciente del lazo que le une con el pueblo japonés. Sabe que una gran cantidad de sus vecinos comparten la misma sangre y reconocen la figura del embajador japones Haskura como el catalizador de esa peculiar relación. Desde que fue descubierta, el Ayuntamiento ha velado por mantener el respeto y aumentar las relaciones culturales bilaterales con el gobierno japones, a través de la figura de su embajador en España.</p>
<h6 id="fotografías-de-wikipedia-y-de-coria-del-río-por-alonso-díaz">Fotografías de Wikipedia y de Coria del Río por <a href="http://www.alonsodr.com/">Alonso Díaz</a></h6>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-story-of-hasekura-tsunenaga/images/242px-Hasekura_in_Rome_c7sytj.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[La Ruta Samurái por España]]></title>
            <link>https://www.joanmira.com/es/blog/the-samurai-route-through-spain</link>
            <guid>https://www.joanmira.com/es/blog/the-samurai-route-through-spain</guid>
            <pubDate>Sun, 10 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Participa en un evento histórico y danos tus fuerzas para que lleguemos con éxito al país del sol naciente]]></description>
            <content:encoded><![CDATA[<h3 id="¿te-vienes-con-nosotros">¿Te vienes con nosotros?</h3>
<p>¿Te apetece acompañarnos en moto por las diferentes ciudades españolas que pasaremos? Alicante, Coria del Río, Madrid y Barcelona. Para apuntarte, tan solo tienes que enviarnos un e-mail a <a href="mailto:&#x69;&#x6e;&#x66;&#111;&#x40;&#114;&#117;&#116;&#97;&#115;&#97;&#109;&#x75;&#114;&#x61;&#105;&#46;&#x63;&#111;&#109;">&#x69;&#x6e;&#x66;&#111;&#x40;&#114;&#117;&#116;&#97;&#115;&#97;&#109;&#x75;&#114;&#x61;&#105;&#46;&#x63;&#111;&#109;</a> con los siguientes datos: nombres, marca de las motos y la etapa que te gustaría acompañarnos.</p>
<h3 id="etapas-y-participantes-confirmados">Etapas y participantes confirmados</h3>
<h4 id="alicante--coria-del-río-joan-yamaha-xt660z-tomás-harley-davidson">Alicante &gt; Coria del Río: Joan (Yamaha XT660Z), Tomás (Harley Davidson)</h4>
<ul>
<li>Fecha: 4 de junio de 2010 a las 9:00h</li>
<li>Lugar de salida: paseo de la explanada (frente a edificio Carbonell) <a href="http://maps.google.es/maps/ms?ie=UTF8&amp;hl=es&amp;msa=0&amp;ll=38.344471,-0.480539&amp;spn=0.002735,0.005279&amp;t=h&amp;z=18&amp;msid=109521630100610492151.000480f70690f95b54790&amp;iwloc=000480f7079596573bb1a">(Ver mapa)</a></li>
<li>Ruta: Alicante – Murcia – Lorca – Granada – Sevilla (590 kms. – 8 horas)</li>
<li>Alojamiento en Coria del Río: pedir información en <a href="mailto:&#x69;&#110;&#x66;&#x6f;&#64;&#114;&#117;&#116;&#x61;&#x73;&#x61;&#109;&#117;&#x72;&#97;&#105;&#x2e;&#99;&#111;&#109;">&#x69;&#110;&#x66;&#x6f;&#64;&#114;&#117;&#116;&#x61;&#x73;&#x61;&#109;&#117;&#x72;&#97;&#105;&#x2e;&#99;&#111;&#109;</a></li>
</ul>
<h4 id="coria-del-río--madrid-joan-yamaha-xt660z-vicente-bmw-f800gs-tomás-harley-davidson-osomad-deauville-700">Coria del Río &gt; Madrid: Joan (Yamaha XT660Z), Vicente (BMW F800GS), Tomás (Harley Davidson), Osomad (Deauville 700)</h4>
<ul>
<li>Fecha: 5 de junio de 2010 a las 9:00h</li>
<li>Lugar de salida: escultura del samurai Hasekura, parque de Carlos de Mesa (El Paseito) <a href="http://maps.google.es/maps/ms?ie=UTF8&amp;hl=es&amp;msa=0&amp;msid=109521630100610492151.000480f6e0aa753ecbcb9&amp;ll=37.282308,-6.048601&amp;spn=0.002881,0.005279&amp;t=h&amp;z=18">(Ver mapa)</a></li>
<li>Ruta: Dos Hermanas – Alcalá de Guadaira – Carmona – Lora del Río – Peñaflor – Córdoba – Algo de autovía y por Montoro hacia el norte N-420 – Puertollano – Ciudad Real – Hacia Toledo por la N-401 – 70 kms. hasta Madrid por autovía A-42 (547 Kms. – 8 horas)</li>
<li>Alojamiento en Madrid: pedir información en <a href="mailto:&#x69;&#x6e;&#102;&#x6f;&#x40;&#x72;&#117;&#x74;&#x61;&#115;&#97;&#x6d;&#117;&#114;&#x61;&#105;&#46;&#99;&#111;&#109;">&#x69;&#x6e;&#102;&#x6f;&#x40;&#x72;&#117;&#x74;&#x61;&#115;&#97;&#x6d;&#117;&#114;&#x61;&#105;&#46;&#99;&#111;&#109;</a></li>
</ul>
<h4 id="madrid--barcelona-joan-yamaha-xt660z-vicente-bmw-f800gs-tomás-harley-davidson">Madrid &gt; Barcelona: Joan (Yamaha XT660Z), Vicente (BMW F800GS), Tomás (Harley Davidson)</h4>
<ul>
<li>Fecha: 6 de junio de 2010 a las 9:00h</li>
<li>Lugar de salida: pedir información en <a href="mailto:&#x69;&#x6e;&#x66;&#111;&#64;&#x72;&#x75;&#x74;&#x61;&#x73;&#x61;&#109;&#x75;&#114;&#97;&#105;&#x2e;&#99;&#x6f;&#x6d;">&#x69;&#x6e;&#x66;&#111;&#64;&#x72;&#x75;&#x74;&#x61;&#x73;&#x61;&#109;&#x75;&#114;&#97;&#105;&#x2e;&#99;&#x6f;&#x6d;</a></li>
<li>Ruta: Madrid – Alcolea del Pinar – Monreal del Campo – Caminreal – Montalbán – Alcañiz – Calaceite – Reus – Barcelona (616 Kms. – 8,5 horas)</li>
<li>Alojamiento en Barcelona: pedir información en <a href="mailto:&#x69;&#110;&#102;&#x6f;&#64;&#114;&#117;&#116;&#97;&#115;&#97;&#109;&#117;&#x72;&#97;&#x69;&#46;&#x63;&#x6f;&#109;">&#x69;&#110;&#102;&#x6f;&#64;&#114;&#117;&#116;&#97;&#115;&#97;&#109;&#117;&#x72;&#97;&#x69;&#46;&#x63;&#x6f;&#109;</a></li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-samurai-route-through-spain/images/ruta_spain_ipx2yh.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Prensa y medios de comunicación]]></title>
            <link>https://www.joanmira.com/es/blog/press-and-media</link>
            <guid>https://www.joanmira.com/es/blog/press-and-media</guid>
            <pubDate>Sun, 10 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Recopilación de menciones e historias sobre la ruta del samurái en los medios]]></description>
            <content:encoded><![CDATA[<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/giralda_tv_dby2p0.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/giralda_tv_dby2p0.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/giralda_tv_dby2p0-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/giralda_tv_dby2p0-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/giralda_tv_dby2p0.jpg" alt="giralda_tv" loading="lazy">
        </picture>
        <figcaption>giralda_tv</figcaption>
      </figure></p>
<p><strong>6 junio 2010 – <a href="http://www.giraldatv.es">Giralda TV</a></strong></p>
<p>La televisión municipal de Sevilla, Giralda TV, publica un video sobre nuestro proyecto de viajar desde España hasta Japón. En el video sale una mini entrevista que nos hicieron en el lugar de salida, Coria del Río <a href="http://www.youtube.com/watch?v=mDsD1S7m3_A" title="Ver recorte de prensa">Ver video en Youtube</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/informacion.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/informacion.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/informacion-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/informacion-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/informacion.jpg" alt="informacion" loading="lazy">
        </picture>
        <figcaption>informacion</figcaption>
      </figure></p>
<p><strong>4 junio 2010 – <a href="http://www.diarioinformacion.es">Diario Información de Alicante</a></strong></p>
<p>El periódico Información de Alicante publica en su edición fin de semana un artículo sobre nuestro proyecto de viajar desde España hasta Japón. <a href="http://www.diarioinformacion.com/fin-semana/2010/05/31/a-fondo/reportajes/ruta-samurai/5365.html" title="Ver el artículo">Ver el artículo</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/diario_sevilla.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/diario_sevilla.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/diario_sevilla-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/diario_sevilla-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/diario_sevilla.jpg" alt="diario_sevilla" loading="lazy">
        </picture>
        <figcaption>diario_sevilla</figcaption>
      </figure></p>
<p><strong>4 junio 2010 – <a href="http://www.diariodesevilla.es">Diario de Sevilla</a></strong></p>
<p>El periódico Diario de Sevilla publica un artículo en su edición online sobre nuestro proyecto de viajar desde España hasta Japón en moto. <a href="http://www.diariodesevilla.es/article/sevilla/717159/japon/gran/salto.html" title="Ver el artículo">Ver el artículo</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/elcorreo.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/elcorreo.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/elcorreo-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/elcorreo-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/elcorreo.jpg" alt="elcorreo" loading="lazy">
        </picture>
        <figcaption>elcorreo</figcaption>
      </figure></p>
<p><strong>4 junio 2010 – <a href="http://www.elcorreoweb.es">El Correo de Andalucía</a></strong></p>
<p>El periódico El Correo de Andalucía publica un artículo en su edición online sobre nuestro proyecto de viajar desde España hasta Japón en moto. <a href="http://www.elcorreoweb.es/095907/samurais/dejan/coria/rio/motocicleta" title="Ver el artículo">Ver el artículo</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/eitb.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/eitb.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/eitb-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/eitb-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/eitb.jpg" alt="eitb" loading="lazy">
        </picture>
        <figcaption>eitb</figcaption>
      </figure></p>
<p><strong>18 noviembre 2010 – <a href="http://www.eitb.com">Radio Euskadi</a></strong></p>
<p>En el programa de radio “La casa de la palabra” que dirige Roge Blasco, Joan fue entrevistado en directo acerca del viaje de la Ruta Samurai. <a href="/blog/press-and-media/images/radio_euskadi.mp3">Escuchar entrevista</a>. También han escrito un artículo en su blog. <a href="http://www.blogseitb.com/rogeblasco/2010/11/21/joan-mira-%E2%80%9Cla-ruta-del-samurai%E2%80%9D-en-moto-desde-coria-del-rio-en-sevilla-hasta-sendai-en-japon-tras-los-pasos-de-hasekura-tsunenaga/" title="Ver el artículo">Ver el artículo</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/infoweek.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/infoweek.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/infoweek-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/infoweek-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/infoweek.jpg" alt="infoweek" loading="lazy">
        </picture>
        <figcaption>infoweek</figcaption>
      </figure></p>
<p><strong>10 julio 2010 – <a href="http://www.infoweek.biz">InfoWeek</a></strong></p>
<p>Esta página web especializada en productos innovadores publica un artículo sobre la tecnología RFID que utilizamos en el anuncio de nuestro patrocinador Piononos. <a href="http://www.infoweek.biz/la/2010/06/los-anuncios-comienzan-a-incorporar-la-tecnologia-rfid/" title="Ver el artículo">Ver el artículo</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/idnoticias.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/idnoticias.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/idnoticias-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/idnoticias-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/idnoticias.jpg" alt="idnoticias" loading="lazy">
        </picture>
        <figcaption>idnoticias</figcaption>
      </figure></p>
<p><strong>4 julio 2010 – <a href="http://www.idnoticias.com">IDNoticias</a></strong></p>
<p>Esta página web especializada en tecnologías de identificación publica un artículo sobre la tecnología RFID que utilizamos en el anuncio de nuestro patrocinador Piononos. <a href="http://www.idnoticias.com/2010/06/14/los-anuncios-comienzan-a-incorporar-la-tecnologia-rfid" title="Ver el artículo">Ver el artículo</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/puro_marketing.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/puro_marketing.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/puro_marketing-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/puro_marketing-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/puro_marketing.jpg" alt="puro_marketing" loading="lazy">
        </picture>
        <figcaption>puro_marketing</figcaption>
      </figure></p>
<p><strong>4 julio 2010 – <a href="http://www.puromarketing.com">PuroMarketing</a></strong></p>
<p>Esta página web especializada en marketing publica un artículo sobre la tecnología RFID que utilizamos en el anuncio de nuestro patrocinador Piononos. <a href="http://www.puromarketing.com/12/7418/el-marketing-ya-incorpora-tecnologia-rfid.html" title="Ver el artículo"> Ver el artículo</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/granada.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/granada.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/granada-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/granada-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/granada.jpg" alt="granada" loading="lazy">
        </picture>
        <figcaption>granada</figcaption>
      </figure></p>
<p><strong>25 abril 2010 – <a href="http://www.granadahoy.com">Granada Hoy</a></strong></p>
<p>El periódico Granada Hoy publica una página entera sobre los viajes del granadino Vicente Malpica y sobre nuestro proyecto de viajar desde España hasta Japón. <a href="/blog/press-and-media/images/diario_granada.jpg" title="Ver recorte de prensa"> Ver recorte de prensa</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/solo_moto.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/solo_moto.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/solo_moto-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/solo_moto-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/solo_moto.jpg" alt="solo_moto" loading="lazy">
        </picture>
        <figcaption>solo_moto</figcaption>
      </figure></p>
<p><strong>31 marzo 2010 – <a href="http://www.solomoto30.com">Revista SoloMoto</a></strong></p>
<p>En la publicación nº 326, en la página 136 (Correo del lector), hablan sobre nuestro proyecto. Gracias! <a href="/blog/press-and-media/images/solomoto_lector2.jpg" title="Ver recorte de prensa"> Ver recorte de prensa</a> | <a href="/blog/press-and-media/images/solomoto_lector1.jpg" title="Detalle del anuncio">Detalle del anuncio</a></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/press-and-media/images/rac1.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/press-and-media/images/rac1.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/press-and-media/images/rac1-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/press-and-media/images/rac1-mobile.jpg" />
          <img class="image" src="/blog/press-and-media/images/rac1.jpg" alt="rac1" loading="lazy">
        </picture>
        <figcaption>rac1</figcaption>
      </figure></p>
<p><strong>25 febrero 2010 – Radio en Cataluña – <a href="http://www.rac1.org">RAC 1</a></strong></p>
<p>RAC 1 habló sobre La Ruta del Samurái en uno de sus programas de radio. Gracias a ellos, la empresa de Walkis Midland se puso en contacto con nosotros para patrocinarnos. ¡Gracias!</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/press-and-media/images/giralda_tv_dby2p0.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Enlaces a webs de viajeros y amigos]]></title>
            <link>https://www.joanmira.com/es/blog/links-to-webs-of-travelers-and-friends</link>
            <guid>https://www.joanmira.com/es/blog/links-to-webs-of-travelers-and-friends</guid>
            <pubDate>Sun, 10 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[El mundo está lleno de aventureros y de gente que sueña con descubrir nuevos mundos más allá de las fronteras]]></description>
            <content:encoded><![CDATA[<h3 id="en-dos-ruedas-por-el-mundo">En dos ruedas por el mundo</h3>
<ul>
<li>Unus vita (Una vida), Mike y Ruby viajan en moto por el mundo: <a href="http://www.unusvita.com/">www.unusvita.com</a></li>
<li>De Tokio a Londres en moto: <a href="http://www.tokyotolondon.com/">www.tokyotolondon.com</a></li>
<li>La Ruta de la seda: <a href="http://www.rutadelaseda.com.ar/">www.rutadelaseda.com.ar</a></li>
<li>Maurizio y su esposa viajan por Europa y Asia: <a href="http://www.andiamoper.jimdo.com/">www.andiamoper.jimdo.com</a></li>
<li>En moto por Rusia, donde nadie ha llegado nunca: <a href="http://www.sibirskyextreme.com/">www.sibirskyextreme.com</a></li>
<li>La vuelta al mundo: Juan Ramón Rivero y Elena González: <a href="http://www.alrededordelmundo2010.com/">www.alrededordelmundo2010.com</a></li>
<li>América en moto: José, el canario: <a href="http://america-en-moto.blogspot.com/">america-en-moto.blogspot.com</a></li>
<li>La vuelta al mundo: Charly en solitario: <a href="http://www.sinewan.com/">www.sinewan.com</a></li>
<li>Vuelta al mundo en tandem: <a href="http://www.acercandoelmundo.com/">www.acercandoelmundo.com</a></li>
<li>La vuelta al mundo en BMW F800GS: <a href="http://www.vueltamundo.org/">www.vueltamundo.org</a></li>
<li>El mundo en moto, dos asturianos: <a href="http://elmundoenmoto.wordpress.com/">elmundoenmoto.wordpress.com</a></li>
<li>La vuelta al mundo en Honda Goldwing: <a href="http://www.elwinger.org/">www.elwinger.org</a></li>
<li>La vuelta al mundo de Pedrín y Miguelín: <a href="http://30metrosporsegundo.wordpress.com/">30metrosporsegundo.wordpress.com</a></li>
<li>La vuelta al mundo: Gustavo Cieslas y Elke Pahl: <a href="http://www.re-moto.com/index.php">www.re-moto.com</a></li>
<li>La vuelta al mundo: Jorge Conde y Maria Acuña: <a href="http://www.porelmundoenmoto.com/">www.porelmundoenmoto.com</a></li>
<li>La vuelta al mundo: Ewan McGregor y Charley Boorman: <a href="http://www.longwayround.com/">www.longwayround.com</a></li>
<li>Organizan viajes en moto alrededor del mundo: <a href="http://moto-mundo.com/">www.moto-mundo.com</a></li>
<li>De Colombia a la India en solitario: <a href="http://www.ecbloguer.com/elmundoenpulsar/">www.ecbloguer.com/elmundoenpulsar</a></li>
<li>Going East, de Holanda a Nepal: <a href="http://www.goingeast.nl/">www.goingeast.nl</a></li>
<li>Rakatanga Tour, de Francia a Asia: <a href="http://www.rakatanga-tour.com/">www.rakatanga-tour.com</a></li>
<li>De Australia a Irlanda: Kevin O’Keeffe: <a href="http://sites.google.com/site/halfwayround/">sites.google.com/site/halfwayround</a></li>
</ul>
<h3 id="otros-viajeros-por-el-mundo">Otros viajeros por el mundo</h3>
<ul>
<li>Dos argentinas viajan por toda latinoamerica: <a href="http://www.cinealaintemperie.com.ar/">www.cinealaintemperie.com.ar</a></li>
<li>Una pareja argentina viaja por todo el mundo: <a href="http://www.acrobatadelcamino.blogspot.com/">www.acrobatadelcamino.blogspot.com</a></li>
<li>Dos ingleses recién graduados dan la vuelta al mundo: <a href="http://www.twoguysaroundtheworld.com/">www.twoguysaroundtheworld.com</a></li>
<li>Un Rally Solidario de España a Mongolia: <a href="http://www.atrapadosenmongolia.com/">www.atrapadosenmongolia.com</a></li>
<li>Antonio y Trini por el mundo: <a href="http://www.xtec.cat/~apique12/home%20page/default.htm">www.xtec.cat/…</a></li>
<li>Vuelta al mundo en barco y transporte público: <a href="http://www.gualtrips.com/">www.gualtrips.com</a></li>
<li>Blog de viajes de Javi Portoles: <a href="http://www.viajerodelmundo.com/">www.viajerodelmundo.com</a></li>
<li>Vuelta al mundo de Asun y Ricardo: <a href="http://mundoporlibre.com/">www.mundoporlibre.com</a></li>
<li>Vuelta al mundo de un catán de 25 años: <a href="http://lavoltadels25.cat/">lavoltadels25.cat</a></li>
<li>Aines en ruta (2 años viajando): <a href="http://ainesenruta.blogspot.com/">ainesenruta.blogspot.com</a></li>
<li>La vuelta al mundo de Alex: <a href="http://alexporelmundo.blogspot.com/">alexporelmundo.blogspot.com</a></li>
<li>La vuelta al mundo de naranja: <a href="http://orangeroundtheworldtrip.blogspot.com/">orangeroundtheworldtrip.blogspot.com</a></li>
<li>La vuelta al mundo de Ana y Dani: <a href="http://www.lavueltaalmundodeanaydani.blogspot.com/">lavueltaalmundodeanaydani.blogspot.com</a></li>
<li>La vuelta al mundo de Pilar y Sergio: <a href="http://pilarysergio.blogspot.com/">pilarysergio.blogspot.com</a></li>
<li>Sin Rumba Fija, Verónica Cadena: <a href="http://www.travelblog.org/Bloggers/SINRUMBAFIJA/">www.travelblog.org…</a></li>
<li>366 Sábados: <a href="http://366sabados.blogspot.com/">366sabados.blogspot.com</a></li>
</ul>
<h3 id="webs-de-viajes-en-español">Webs de viajes en español</h3>
<ul>
<li>Blog para viajeros interesados en dar la vuelta al mundo: <a href="http://www.vueltaalmundo.com/">www.vueltaalmundo.com</a></li>
<li>Blog de viajes en Asia: <a href="http://www.viajarasia.com/">www.viajarasia.com</a></li>
<li>Blog de viajes de la revista Altaïr: <a href="http://www.altairblog.com/">www.altairblog.com</a></li>
<li>Blog de viajes de Argentina: <a href="http://www.blogdeviajes.com.ar/">www.blogdeviajes.com.ar</a></li>
</ul>
<h3 id="blogs-interesantes">Blogs interesantes</h3>
<ul>
<li>Blog de cultura en Mongolia <a href="http://mongolculture.blogspot.com/">mongolculture.blogspot.com</a></li>
<li>Eric Lobo, fotógrafo de viajes extremos: <a href="http://www.eric-lobo.com/">www.eric-lobo.com</a></li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/links-to-webs-of-travelers-and-friends/images/travellers.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[El Proyecto]]></title>
            <link>https://www.joanmira.com/es/blog/the-project</link>
            <guid>https://www.joanmira.com/es/blog/the-project</guid>
            <pubDate>Sat, 09 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[Nace con la idea de fomentar las relaciones y la cultura entre occidente y oriente]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>“Las civilizaciones, al igual que el hombre, prosperan con los retos y se apagan cuando ya no los buscan” - <a href="http://es.wikipedia.org/wiki/Robert_Zubrin">Robert Zubrin</a></p>
</blockquote>
<h3 id="¿cuál-es-la-finalidad-de-este-viaje">¿Cuál es la finalidad de este viaje?</h3>
<p>Pensamos que el futuro del mundo está muy relacionado con un entendimiento de las diferencias culturales entre occidente y oriente. Tenemos mucho que aprender los unos de los otros y parece que la gente joven está empezando a darse cuenta de esto. Este viaje pretende acercar culturas y tratar de forma activa de ayudar a conseguir ese entendimiento para hacer de este mundo un lugar más sostenible y pacífico. Queremos entrevistar a los rusos, mongoles y japoneses con el fin de saber cómo viven, que les gustaría cambiar, cuáles son sus preocupaciones, que sueños tienen, etc.</p>
<p>La respuesta a los grandes problemas que sufrimos hoy (crisis económica, hiper-consumismo y cambio climático) no pasa por un cambio de tecnología, sino por un gran cambio de conciencia en la humanidad.</p>
<p>Para que esto suceda es necesario que transformemos algunas cosas. Por ejemplo: la frivolidad, la superficialidad, el miedo, la indiferencia por todo aquello que es profundo, por todo aquello que es misterioso, por todo lo desconocido.</p>
<p>No te dejes llevar. Sal de tu zona de confort. Es una condición necesaria y suficiente para lograr la transformación y el crecimiento.</p>
<h3 id="descripción-de-la-ruta">Descripción de la ruta</h3>
<p>La Ruta del Samurái durará tres meses, en los cuáles viajaremos en moto desde España hasta Japón. Cruzaremos toda Europa, desde el sur hasta el norte, luego entraremos a Rusia por el noroeste, pasando por Moscú y San Petersburgo. Seguiremos por Siberia y cuando lleguemos hasta Mongolia, entraremos por una ruta que pasa por el desierto del Gobi y las montañas del Altai. Finalmente, llegaremos hasta el extremo más oriental de Rusia, donde tomaremos un ferri hasta Corea del Sur y luego a Japón. (<a href="./samurai-route">ver la ruta completa aquí</a>.</p>
<h3 id="proyectos-durante-el-viaje">Proyectos durante el viaje</h3>
<p><strong>1. Blog con videos y fotos</strong>: vamos a intentar documentar al máximo la ruta (con videos, fotografías, diarios, mapas, tracking GPS, estadísticas). El objetivo es conseguir recopilar toda la información que pueda ser interesante para futuros viajeros que quieran realizar esta ruta. También sería muy interesante en próximas ediciones organizar una ruta por el sur de Europa, Oriente Medio y Sud-Este asiático.</p>
<p><strong>2. Grabación de un video documental</strong>: El objetivo del viaje es explorar y en cierta manera reivindicar un acercamiento de las culturas entre occidente y oriente. Para ello, queremos grabar en video (calidad Full HD) un diario de viaje. El guion va a ser en un 90% improvisado y trataremos de buscar intérpretes que nos ayuden a entrevistar a la gente de los países por lo que pasemos. Llevaremos unas cámaras pequeñas (Full HD con gran angular) enganchadas a los cascos (para las escenas de moto) y otras cámaras con enfoque manual y trípode para las escenas de a pie. Posteriormente en la fase de postproducción y con la ayuda de nuestros colaboradores, daremos forma al documental.</p>
<p><strong>3. Por una causa solidaria</strong>: parte de los fondos que se recauden de las actividades de La Ruta del Samurái, serán destinados a varios proyectos para ayudar a determinadas comunidades necesitadas de Filipinas y Mongolia. Esta parte del proyecto aún la tenemos que trabajar más y en este momento estamos intentando que la Fundación La Caixa colabore con nosotros. Sobre todo para tratar de ayudar en Mongolia, donde <a href="http://www.redcross.int/es/MAG/magazine2003_1/20-21.html">la pobreza está causando mucho daño</a>.</p>
<h3 id="¿cómo-lo-vamos-a-hacer">¿Cómo lo vamos a hacer?</h3>
<p>No tenemos muchos medios, ni médicos, ni coches escoba, ni camiones que nos siguen con piezas y motos de repuesto. No sabemos donde dormiremos, qué comeremos, si nos perderemos... Lo único que sabemos es que vamos a ir lo mejor preparados que podamos. No tenemos mucho dinero (la mayor parte del proyecto es autofinanciado), pero sí mucha pasión por viajar y determinación por llegar a Japón.</p>
<p>Vamos a dejar nuestros trabajos de funcionario y diseñador web mientras estemos viajando, de forma que el tema financiero se vuelve algo más traumático, pero no importa, es un viaje importante para nosotros y estamos decididos a hacer lo que haga falta para que el 5 de junio de 2010 salgamos desde Coria del Río ¡rumbo a Japón!</p>
<p>Los dos teníamos la idea de viajar desde España hasta Japón desde hace tiempo y son muchos los preparativos que hay que hacer. Como por ejemplo:</p>
<p>– Planificar la ruta, las distancias, las etapas, gasolina necesaria, revisiones de la moto, etc
– Buscar y comprar los accesorios necesarios para la moto, el camping, la supervivencia
– Viajar a Madrid y Barcelona para sacar los visados necesarios y contactar con posibles patrocinadores
– Realizar y actualizar la página web, imprimir logos, pegatinas, camisetas
– Promocionar el proyecto en redes sociales y foros de internet, prensa, amigos, familiares, empresas…
– Sacar carnés varios: para albergues, permiso de conducir internacional, seguros, seguridad social, fotografías, certificado médico, vacunas
– Conseguir mapas, cartografías de GPS, <a href="http://rutasamurai.herokuapp.com/Equipamiento.html">aquí tenemos una lista completa de todo lo que necesitamos  </a></p>
<ul>
<li>Y muchas más cosas!</li>
</ul>
<h3 id="¿alguien-lo-ha-hecho-antes">¿Alguien lo ha hecho antes?</h3>
<p>Queremos marcar un “antes y un después” en lo que se refiere a grandes viajes de aventura en moto y vamos a dar lo mejor de nosotros para que así sea. Creemos que esta ruta es la primera vez que se hace y esperamos ¡que no sea la última! Quizás, con toda la información que publiquemos en esta web, otros viajeros se animen a repetirla en el futuro.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-project/images/ruta-samurai-loading-bike.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Los Pilotos y las Motos]]></title>
            <link>https://www.joanmira.com/es/blog/the-pilots-and-the-motorbikes</link>
            <guid>https://www.joanmira.com/es/blog/the-pilots-and-the-motorbikes</guid>
            <pubDate>Sat, 09 Jan 2010 00:00:00 GMT</pubDate>
            <description><![CDATA[La unión de dos apasionados por las motos y los viajes]]></description>
            <content:encoded><![CDATA[<style>
.wrapper {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-gap: 30px;
}
</style>

<div class="wrapper">
  <div>
    <h3>Vicente Malpica Ruiz</h3>
    <ul>
      <li>Experto en motos y en meterse en líos</li>
      <li>Fecha nacimiento: 28 de febrero de 1964</li>
      <li>Lugar de nacimiento: Motril, Granada</li>
      <li>Reside en: Cardenete, Cuenca</li>
    </ul>
    <h3>BMW F800GS</h3>
    <ul>
      <li>Tipo de motor: Motor bicilíndrico en línea de cuatro tiempos, refrigerado por agua, con cuatro válvulas por cilindro, dos árboles de levas en cabeza</li>
      <li>Cilindrada: 798 cc</li>
      <li>Relación de compresión: 12,0 : 1</li>
      <li>Potencia máxima: 63,0 kW (85 CV) @ 7.500 rpm</li>
      <li>Par máximo: 83,0 Nm @ 7.750 rpm</li>
      <li>Lubricación: En seco</li>
      <li>Tipo de embrague: Multidisco en baño de aceite</li>
      <li>Sistema de transmisión: De seis marchas</li>
      <li>Transmisión final: Cadena</li>
      <li>Cap. depósito combustible: 16 L</li>
      <li>Chasis: Tubo de acero</li>
      <li>Suspensión delantera: Horquillas telescópicas</li>
      <li>Recorrido de rueda delantera: 230 mm</li>
      <li>Suspensión trasera: Brazo basculante</li>
      <li>Recorrido de rueda trasera: 215 mm</li>
      <li>Freno delantero: Doble discos, Ø 300 mm</li>
      <li>Freno trasero: Disco, Ø 265 mm</li>
      <li>Neumático delantero: 90/90-21 M/C</li>
      <li>Neumático trasero: 150/70-17 M/C</li>
      <li>Longitud (mm): 2.320 mm</li>
      <li>Ancho (mm): 945 mm</li>
      <li>Altura (mm): 1.350 mm</li>
      <li>Altura del asiento (mm): 880 mm</li>
      <li>Distancia entre ejes (mm): 1.578 mm</li>
      <li>Peso en orden de marcha (kg): 207 kg</li>
    </ul>
  </div>
  <div>
    <h3>Joan Siddharta Mira</h3>
    <ul>
      <li>Experto en atosigar a los patrocinadores</li>
      <li>Fecha nacimiento: 17 de julio de 1980</li>
      <li>Lugar de nacimiento: Alicante</li>
      <li>Reside en: Alicante</li>
    </ul>
    <h3>YAMAHA XT660Z TÉNÉRÉ</h3>
    <ul>
      <li>Tipo de motor: Refrigeración líquida, 4 tiempos, 4 válvulas, cilindro único, SOHC</li>
      <li>Cilindrada: 660 cc</li>
      <li>Relación de compresión: 10,0 : 1</li>
      <li>Potencia máxima: 35,0 kW (48 CV) @ 6.000 rpm</li>
      <li>Par máximo: 58,0 Nm @ 5.500 rpm</li>
      <li>Lubricación: En seco</li>
      <li>Tipo de embrague: Multidisco en baño de aceite</li>
      <li>Sistema de transmisión: Toma constante, 5 velocidades</li>
      <li>Transmisión final: Cadena</li>
      <li>Cap. depósito combustible: 23 L</li>
      <li>Chasis: Tubo de acero en forma de diamante</li>
      <li>Suspensión delantera: Horquillas telescópicas</li>
      <li>Recorrido de rueda delantera: 210 mm</li>
      <li>Suspensión trasera: Brazo basculante</li>
      <li>Recorrido de rueda trasera: 200 mm</li>
      <li>Freno delantero: Doble discos, Ø 298 mm</li>
      <li>Freno trasero: Disco, Ø 245 mm</li>
      <li>Neumático delantero: 90/90-21 M/C</li>
      <li>Neumático trasero: 130/80-17 M/C</li>
      <li>Longitud (mm): 2.246 mm</li>
      <li>Ancho (mm): 865 mm</li>
      <li>Altura (mm): 1.477 mm</li>
      <li>Altura del asiento (mm): 895 mm</li>
      <li>Distancia entre ejes (mm): 1.505 mm</li>
      <li>Peso en orden de marcha (kg): 206 kg</li>
    </ul>
  </div>
</div>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-pilots-and-the-motorbikes/images/pilotos_zqq8ju.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[El evento iWeekend de Alicante ha sido un éxito]]></title>
            <link>https://www.joanmira.com/es/blog/the-iweekend-event-has-been-a-success</link>
            <guid>https://www.joanmira.com/es/blog/the-iweekend-event-has-been-a-success</guid>
            <pubDate>Mon, 23 Nov 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Una gran idea para conocer a profesionales del sector de la tecnología en Alicante]]></description>
            <content:encoded><![CDATA[<p>El pasado fin de semana he participado en la primera edición del <a href="http://iweekend.com/2009/alicante">iWeekend en Alicante</a> y la experiencia no ha podido ser mejor. Han sido tres días muy intensos, jornadas sin descanso, desde las 9 de la mañana hasta las 12 de la noche, donde 50 emprendedores lo han dado todo con un único objetivo: ¡crear una empresa REAL!</p>
<p>El viernes empezamos con un “speed networking”, donde en 45 segundos teníamos que explicar quienes éramos, cuál es nuestro trabajo y a continuación cambiar de silla y vuelta a empezar. Decir el discurso 50 veces ¡es agotador!, pero divertido.</p>
<p>El resto del día lo dedicamos a presentar ideas de negocio, hacer votaciones y finalmente elegir una idea ganadora. Se presentaron algunas ideas interesantes, pero nada realmente revolucionario o muy original. El ganador fue, <a href="http://oscardelrio.interacso.com/">Oscar del Rio</a>, con su idea de crear un portal al más puro estilo Web 2.0 para pedir comida a domicilio: <a href="http://yonococino.com">yonococino.com</a></p>
<p>El sábado y el domingo los dedicamos a trabajar para levantar la empresa. Creamos varios grupos, formados básicamente por: programadores (front-end y back-end), diseñadores gráficos, equipo de marketing, comunicación y equipo financiero.</p>
<p>Las dos primeras horas fueron un poco caóticas, pero poco a poco todos fuimos asumiendo nuestro rol en el equipo y empezamos a trabajar. El ambiente era muy bueno, todos trabajábamos juntos en un gran salón, con las mesas llenas de ordenadores portátiles, botellas de agua y pizarras. Mi aportación ha sido la de crear el <a href="http://yonococino.com/blog">blog de la empresa</a> y estoy bastante contento con el resultado :)</p>
<p>Ha sido una gran experiencia, una oportunidad única para conocer a emprendedores, con muchas ideas y ganas de crear algo bueno, algunos con mucha experiencia en el mundo de la informática y las nuevas tecnologías. Sin duda que no me perderé el próximo iWeekend que será dentro de 6 meses.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-iweekend-event-has-been-a-success/images/cocino_xjv1tr.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[50 animes para ver this summer]]></title>
            <link>https://www.joanmira.com/es/blog/50-animes-to-watch-this-summer</link>
            <guid>https://www.joanmira.com/es/blog/50-animes-to-watch-this-summer</guid>
            <pubDate>Sun, 16 Aug 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Una gran forma de aprender Japonés y de divertise con sus locas historias]]></description>
            <content:encoded><![CDATA[<p>Aprovechando que es agosto y siguiendo en la línea de la lista de las <a href="/blog/las-50-mejores-peliculas-de-los-anos-80/">65 mejores películas de los años 80</a> (que tanto éxito tuvo, en parte gracias al efecto <a href="http://www.microsiervos.com/archivo/peliculas-tv/65-grandes-peliculas-80.html">Microsiervos</a>), hemos preparado ahora una selección de los 50 animes que mas nos han gustado de los que hemos visto, algunos creo que no han salido en España y solo están subtitulados.</p>
<p>Atención!, <strong>están ordenados por fecha</strong>, quizás habría sido más interesante ordenarlos de peor a mejor, pero son géneros distintos y realmente sería muy difícil hacer un ranking muy objetivo de ellos sin colapsar a críticas por parte de los comentaristas. He puesto los capítulos de muchas de las series, pero muchas de ellas tienen aparte OVAS y películas.</p>
<p>En la web de <a href="http://www.mcanime.net/enciclopedia">McAnime</a> tienen un ranking de los animes más populares en estas fechas (<em>una página muy recomendada</em>) y también tengo que darle las <strong>gracias a “Hackito” por su gran ayuda</strong> a la hora de confeccionar la lista. ¡Esperamos que os guste y encontréis algo bueno para estos días de calor!</p>
<h3 id="1971-lupin-iii-ルパン三世">1971. Lupin iii (ルパン三世)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/lupin_iii_yoetvc.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/lupin_iii_yoetvc.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/lupin_iii_yoetvc-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/lupin_iii_yoetvc-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/lupin_iii_yoetvc.jpg" alt="lupin" loading="lazy">
        </picture>
        <figcaption>lupin</figcaption>
      </figure>(serie anime). Trata sobre las aventuras del famoso ladrón Lupin.
<a href="http://www.mcanime.net/enciclopedia/anime/lupin_iii/886">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/lupin_iii/886">descargas</a></p>
<h3 id="1983-campeones-oliver-y-benji-キャプテン翼">1983. Campeones (oliver y benji) (キャプテン翼)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/campeones_lubucj.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/campeones_lubucj.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/campeones_lubucj-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/campeones_lubucj-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/campeones_lubucj.jpg" alt="campeones" loading="lazy">
        </picture>
        <figcaption>campeones</figcaption>
      </figure>(serie de 128 capítulos). Una gran serie de deportes de la que mucha gente se acordará por sus partidos interminables, jejeje, desde luego si había que meter algunas series de deportes, esta es una de ellas.
<a href="http://www.mcanime.net/enciclopedia/anime/captain_tsubasa/916">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/captain_tsubasa/916">descargas</a></p>
<h3 id="1986-dragon-ball-ドラゴンボール">1986. Dragon ball (ドラゴンボール)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/dragon_ball_le6sxy.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/dragon_ball_le6sxy.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/dragon_ball_le6sxy-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/dragon_ball_le6sxy-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/dragon_ball_le6sxy.jpg" alt="dragon ball" loading="lazy">
        </picture>
        <figcaption>dragon ball</figcaption>
      </figure>(serie de <strong>153 capítulos</strong>, la serie z y doble z juntas suman <strong>291 capítulos</strong> y la serie gt, que para mi gusto bajó muchísimo el listón, es de <strong>65 capítulos</strong>). Sin duda esta serie la conocerá casi todo el mundo, una serie de aventuras y mucha lucha.
<a href="http://www.mcanime.net/enciclopedia/anime/dragon_ball/243">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/dragon_ball/243">descargas</a></p>
<h3 id="1986-el-puño-de-la-estrella-del-norte-世紀末救世主伝説-北斗の拳">1986. El puño de la estrella del norte (世紀末救世主伝説 北斗の拳)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/el_punyo_estrella_norte_pifrkg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/el_punyo_estrella_norte_pifrkg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/el_punyo_estrella_norte_pifrkg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/el_punyo_estrella_norte_pifrkg-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/el_punyo_estrella_norte_pifrkg.jpg" alt="el puño de la estrella norte" loading="lazy">
        </picture>
        <figcaption>el puño de la estrella norte</figcaption>
      </figure>(película de anime). Una película que no hay que perderse sin duda, bastante sanguinaria y apocalíptica.
<a href="http://wwww.mcanime.net/enciclopedia/anime/fist_of_the_north_star_movie/2135">Más información</a> | <a href="http://wwww.mcanime.net/descarga_directa/anime/fist_of_the_north_star_movie/2135">descargas</a></p>
<h3 id="1988-la-tumba-de-las-luciérnagas-火垂るの墓">1988. La tumba de las luciérnagas (火垂るの墓)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/la_tumba_de_las_luciernagas_odoidm.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/la_tumba_de_las_luciernagas_odoidm.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/la_tumba_de_las_luciernagas_odoidm-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/la_tumba_de_las_luciernagas_odoidm-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/la_tumba_de_las_luciernagas_odoidm.jpg" alt="la tumba de las luciérnagas" loading="lazy">
        </picture>
        <figcaption>la tumba de las luciérnagas</figcaption>
      </figure>(película de anime). Un gran drama que trata de la vida después de una bomba nuclear.
<a href="http://www.mcanime.net/enciclopedia/anime/grave_of_the_fireflies/152">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/grave_of_the_fireflies/152">descargas</a></p>
<h3 id="1988-akira-アキラ">1988. Akira (アキラ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/akira_wkpkxp.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/akira_wkpkxp.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/akira_wkpkxp-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/akira_wkpkxp-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/akira_wkpkxp.jpg" alt="akira" loading="lazy">
        </picture>
        <figcaption>akira</figcaption>
      </figure>(película de anime). Sin duda una gran película de ciencia-ficción que hay que ver.
<a href="http://www.mcanime.net/enciclopedia/anime/akira/375">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/akira/375">descargas</a></p>
<h3 id="1989-ranma-½-らんま12熱闘編">1989. Ranma ½ (らんま1/2熱闘編)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ranma_xomajd.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ranma_xomajd.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ranma_xomajd-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ranma_xomajd-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/ranma_xomajd.jpg" alt="Ranma ½" loading="lazy">
        </picture>
        <figcaption>Ranma ½</figcaption>
      </figure>(serie de 162 capítulos). Una serie con muchísimo humor y peleas.
<a href="http://www.mcanime.net/enciclopedia/anime/ranma/64">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/ranma/64">descargas</a></p>
<h3 id="1991-las-aventuras-de-fly-ドラゴンクエスト・ダイの大冒険">1991. Las aventuras de fly (ドラゴンクエスト・ダイの大冒険)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/las_aventuras_de_fly_fae6c9.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/las_aventuras_de_fly_fae6c9.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/las_aventuras_de_fly_fae6c9-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/las_aventuras_de_fly_fae6c9-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/las_aventuras_de_fly_fae6c9.jpg" alt="Las aventuras de fly" loading="lazy">
        </picture>
        <figcaption>Las aventuras de fly</figcaption>
      </figure>(serie de 46 capítulos). Gran serie de aventuras, que por desgracia no se pudo terminar.
<a href="http://for.mcanime.net/enciclopedia/anime/dragon_quest_dai_no_daiboken/1521">Más información</a> | <a href="http://for.mcanime.net/descarga_directa/anime/dragon_quest_dai_no_daiboken/1521">descargas</a></p>
<h3 id="1993-slam-dunk-スラムダンク">1993. Slam dunk (スラムダンク)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/slam_dunk_z05ew5.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/slam_dunk_z05ew5.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/slam_dunk_z05ew5-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/slam_dunk_z05ew5-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/slam_dunk_z05ew5.jpg" alt="Slam dunk" loading="lazy">
        </picture>
        <figcaption>Slam dunk</figcaption>
      </figure>(serie anime de <strong>101 capítulos</strong>). Serie de baloncesto, muy buena. A mi personalmente me gusto más que Oliver y Benji.
<a href="http://www.mcanime.net/enciclopedia/anime/slam_dunk/659">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/slam_dunk/659">descargas</a></p>
<h3 id="1993-ninja-scroll-獣兵衛忍風帖">1993. Ninja scroll (獣兵衛忍風帖)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ninja_scroll_mooktq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ninja_scroll_mooktq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ninja_scroll_mooktq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ninja_scroll_mooktq-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/ninja_scroll_mooktq.jpg" alt="Ninja scroll" loading="lazy">
        </picture>
        <figcaption>Ninja scroll</figcaption>
      </figure>(película de anime). Película de ninjas y demonios muy, muy buena. La serie, sin embargo, no vale mucho en comparación con la película.
<a href="http://www.mcanime.net/enciclopedia/anime/ninja_scroll/485">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/ninja_scroll/485">descargas</a></p>
<h3 id="1995-ghost-in-the-shell-攻殻機動隊">1995. Ghost in the shell (攻殻機動隊)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ghost_in_the_shell_u102fn.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ghost_in_the_shell_u102fn.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ghost_in_the_shell_u102fn-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ghost_in_the_shell_u102fn-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/ghost_in_the_shell_u102fn.jpg" alt="ghost_in_the_shell" loading="lazy">
        </picture>
        <figcaption>ghost_in_the_shell</figcaption>
      </figure>(película de anime). Una película futurista muy, muy buena.
<a href="http://ncf.mcanime.net/enciclopedia/anime/ghost_in_the_shell/465">Más información</a> | <a href="http://ncf.mcanime.net/descarga_directa/anime/ghost_in_the_shell/465">descargas</a></p>
<h3 id="1995-neon-genesis-evangelion-新世紀エヴァンゲリオン">1995. Neon genesis evangelion (新世紀エヴァンゲリオン)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/neon_genesis_evangelion_zfd62p.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/neon_genesis_evangelion_zfd62p.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/neon_genesis_evangelion_zfd62p-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/neon_genesis_evangelion_zfd62p-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/neon_genesis_evangelion_zfd62p.jpg" alt="Neon genesis evangelion" loading="lazy">
        </picture>
        <figcaption>Neon genesis evangelion</figcaption>
      </figure>(serie anime de 26 capítulos). Si tuviera que elegir una serie de mechas, elegiría esta.
<a href="http://www.mcanime.net/enciclopedia/anime/neon_genesis_evangelion/49">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/neon_genesis_evangelion/49">descargas</a></p>
<h3 id="1995-reena-y-gaudy-スレイヤーズ">1995. Reena y gaudy (スレイヤーズ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/slayers_cnjwsc.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/slayers_cnjwsc.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/slayers_cnjwsc-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/slayers_cnjwsc-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/slayers_cnjwsc.jpg" alt="Reena y gaudy" loading="lazy">
        </picture>
        <figcaption>Reena y gaudy</figcaption>
      </figure>(serie de 78 capítulos). Serie sobre las aventuras de una maga y un guerrero, con mucho humor.
<a href="http://www.mcanime.net/enciclopedia/anime/slayers/657">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/slayers/657">descargas</a></p>
<h3 id="1997-berserk-ベルセルク">1997. Berserk (ベルセルク)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/berserk_k1sr3b.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/berserk_k1sr3b.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/berserk_k1sr3b-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/berserk_k1sr3b-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/berserk_k1sr3b.jpg" alt="Berserk" loading="lazy">
        </picture>
        <figcaption>Berserk</figcaption>
      </figure>(serie de 25 capítulos). Sin duda una de las mejores series que he visto. Trata sobre batallas en la edad media con algún monstruo que otro.
<a href="http://www.mcanime.net/enciclopedia/anime/berserk/328">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/berserk/328">descargas</a></p>
<h3 id="1997-la-princesa-mononoke-もののけ姫">1997. La princesa Mononoke (もののけ姫)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/la_princesa_mononoke_pnv3ix.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/la_princesa_mononoke_pnv3ix.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/la_princesa_mononoke_pnv3ix-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/la_princesa_mononoke_pnv3ix-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/la_princesa_mononoke_pnv3ix.jpg" alt="La princesa Mononoke" loading="lazy">
        </picture>
        <figcaption>La princesa Mononoke</figcaption>
      </figure>(película anime) Gran película sobre aventuras y demonios.
<a href="http://www.mcanime.net/enciclopedia/anime/princess_mononoke/197">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/princess_mononoke/197">descargas</a></p>
<h3 id="1998-initial-d-頭文字〈イニシャル〉d">1998. Initial d (頭文字〈イニシャル〉D)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/initial_d_nnivuh.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/initial_d_nnivuh.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/initial_d_nnivuh-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/initial_d_nnivuh-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/initial_d_nnivuh.jpg" alt="Initial d" loading="lazy">
        </picture>
        <figcaption>Initial d</figcaption>
      </figure>(serie de anime de 64 capítulos). Una gran serie sobre carreras de coches, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/initial_d/395">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/initial_d/395">descargas</a></p>
<h3 id="1999-gto--great-teacher-onizuka-グレート・ティーチャー・オニヅカ">1999. GTO ~ Great Teacher Onizuka (グレート・ティーチャー・オニヅカ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/gto_d7kixn.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/gto_d7kixn.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/gto_d7kixn-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/gto_d7kixn-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/gto_d7kixn.jpg" alt="GTO Great Teacher Onizuka" loading="lazy">
        </picture>
        <figcaption>GTO Great Teacher Onizuka</figcaption>
      </figure>(serie de 43 capítulos). Serie sobre un profesor de colegio que se tiene que hacer respetar por sus alumnos, con muchas, muchas dosis de humor y también algo de drama.
<a href="http://www.mcanime.net/enciclopedia/anime/great_teacher_onizuka/153">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/great_teacher_onizuka/153">descargas</a></p>
<h3 id="1999-one-piece-ワンピース">1999. One piece (ワンピース)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/one_piece_qropvj.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/one_piece_qropvj.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/one_piece_qropvj-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/one_piece_qropvj-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/one_piece_qropvj.jpg" alt="One piece" loading="lazy">
        </picture>
        <figcaption>One piece</figcaption>
      </figure>(serie de anime que aún se está emitiendo y lleva ahora mismo unos 390 capítulos). Una serie sobre aventuras de piratas y mucha fantasía, humor y peleas. Una de las cosas a destacar de esta serie es que a pesar de llevar tantos capítulos no ha decaído como lo han hecho otras series como naruto, kenshin o  bleach.
<a href="http://www.mcanime.net/enciclopedia/anime/one_piece/836">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/one_piece/836">descargas</a></p>
<h3 id="1999-kare-kano-彼氏彼女の事情">1999. Kare kano (彼氏彼女の事情)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/kare_kano_p9c9vf.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/kare_kano_p9c9vf.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/kare_kano_p9c9vf-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/kare_kano_p9c9vf-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/kare_kano_p9c9vf.jpg" alt="Kare kano" loading="lazy">
        </picture>
        <figcaption>Kare kano</figcaption>
      </figure>(serie de anime de 26 capítulos). Romance de estudiantes, muy buena.
<a href="http://ww.mcanime.net/enciclopedia/manga/kare_kano/1562">Más información</a> | <a href="http://ww.mcanime.net/descarga_directa/manga/kare_kano/1562">descargas</a></p>
<h3 id="1999-jester-el-aventurero-ゴクドーくん漫遊記">1999. Jester el aventurero (ゴクドーくん漫遊記)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/jester_el_aventurero_c0crgx.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/jester_el_aventurero_c0crgx.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/jester_el_aventurero_c0crgx-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/jester_el_aventurero_c0crgx-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/jester_el_aventurero_c0crgx.jpg" alt="jester el aventurero" loading="lazy">
        </picture>
        <figcaption>jester el aventurero</figcaption>
      </figure>(serie de 26 capítulos). Una serie que parodia a muchas series de héroes y aventuras. Realmente tiene muchos buenos puntos de humor.
<a href="http://wwww.mcanime.net/enciclopedia/anime/gokudo/250">Más información</a> | <a href="http://wwww.mcanime.net/descarga_directa/anime/gokudo/250">descargas</a></p>
<h3 id="1999-hunter-x-hunter-ハンターｘハンター">1999. Hunter x hunter (ハンターｘハンター)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/hunter_x_hunter_vna9xt.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/hunter_x_hunter_vna9xt.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/hunter_x_hunter_vna9xt-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/hunter_x_hunter_vna9xt-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/hunter_x_hunter_vna9xt.jpg" alt="Hunter x hunter" loading="lazy">
        </picture>
        <figcaption>Hunter x hunter</figcaption>
      </figure>(serie anime de 62 capítulos). Serie de aventuras muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/hunter_x_hunter/1134">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/hunter_x_hunter/1134">descargas</a></p>
<h3 id="2000-inuyasha-犬夜叉">2000. Inuyasha (犬夜叉)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/inuyasha_u37862.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/inuyasha_u37862.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/inuyasha_u37862-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/inuyasha_u37862-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/inuyasha_u37862.jpg" alt="Inuyasha" loading="lazy">
        </picture>
        <figcaption>Inuyasha</figcaption>
      </figure>(serie de 167 capítulos). Aventuras y caza de demonios, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/inuyasha/159">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/inuyasha/159">descargas</a></p>
<h3 id="2001-fruits-basket-フルーツバスケット">2001. Fruits basket (フルーツバスケット)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/fruits_basket_tzefgj.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/fruits_basket_tzefgj.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/fruits_basket_tzefgj-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/fruits_basket_tzefgj-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/fruits_basket_tzefgj.jpg" alt="Fruits basket" loading="lazy">
        </picture>
        <figcaption>Fruits basket</figcaption>
      </figure>(serie de anime de 26 capítulos). Serie muy tierna con dosis de humor y grandes mensajes ;)
<a href="http://for.mcanime.net/enciclopedia/anime/fruits_basket/348">Más información</a> | <a href="http://for.mcanime.net/descarga_directa/anime/fruits_basket/348">descargas</a></p>
<h3 id="2001-el-viaje-de-chihiro-千と千尋の神隠し">2001. El viaje de Chihiro (千と千尋の神隠し)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/el_viaje_de_chihiro_nv91ya.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/el_viaje_de_chihiro_nv91ya.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/el_viaje_de_chihiro_nv91ya-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/el_viaje_de_chihiro_nv91ya-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/el_viaje_de_chihiro_nv91ya.jpg" alt="El viaje de Chihiro" loading="lazy">
        </picture>
        <figcaption>El viaje de Chihiro</figcaption>
      </figure>(película de anime). Sin duda otra gran película del estudio Ghibli, el mismo que hizo la princesa Mononoke.
<a href="http://mcmagazines.mcanime.net/enciclopedia/anime/spirited_away/377">Más información</a> | <a href="http://mcmagazines.mcanime.net/descarga_directa/anime/spirited_away/377">descargas</a></p>
<h3 id="2002-chobits-ちょびっツ">2002. Chobits (ちょびっツ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/chobits_dwncop.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/chobits_dwncop.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/chobits_dwncop-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/chobits_dwncop-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/chobits_dwncop.jpg" alt="Chobits" loading="lazy">
        </picture>
        <figcaption>Chobits</figcaption>
      </figure>(serie anime de 26 capítulos). Trata sobre robots de compañía, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/chobits/357">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/chobits/357">descargas</a></p>
<h3 id="2002-kanon-remake-カノン">2002. Kanon remake (カノン)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/kanon_remake_x3mzw1.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/kanon_remake_x3mzw1.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/kanon_remake_x3mzw1-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/kanon_remake_x3mzw1-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/kanon_remake_x3mzw1.jpg" alt="Kanon remake" loading="lazy">
        </picture>
        <figcaption>Kanon remake</figcaption>
      </figure>(serie anime de 24 capítulos). Una gran serie bastante sentimental.
<a href="http://www.mcanime.net/enciclopedia/anime/kanon_tv_1_2002/313">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/kanon_tv_1_2002/313">descargas</a></p>
<h3 id="2002-robin-cazadora-de-brujos-ウィッチハンターロビン">2002. Robin cazadora de brujos (ウィッチハンターロビン)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/robin_caza_vampiros_tornhv.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/robin_caza_vampiros_tornhv.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/robin_caza_vampiros_tornhv-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/robin_caza_vampiros_tornhv-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/robin_caza_vampiros_tornhv.jpg" alt="Robin cazadora de brujos" loading="lazy">
        </picture>
        <figcaption>Robin cazadora de brujos</figcaption>
      </figure>(serie de 26 capítulos). Una serie muy buena y que trata sobre lo que su propio nombre indica :)
<a href="http://www.mcanime.net/enciclopedia/anime/witch_hunter_robin/913">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/witch_hunter_robin/913">descargas</a></p>
<h3 id="2003-fullmetal-alchemist-鋼の錬金術師">2003. Fullmetal alchemist (鋼の錬金術師)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/full_metal_alchemist_zofzu9.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/full_metal_alchemist_zofzu9.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/full_metal_alchemist_zofzu9-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/full_metal_alchemist_zofzu9-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/full_metal_alchemist_zofzu9.jpg" alt="Fullmetal alchemist" loading="lazy">
        </picture>
        <figcaption>Fullmetal alchemist</figcaption>
      </figure>(serie anime de 51 capítulos). Muy, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/fullmetal_alchemist/2960">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/fullmetal_alchemist/2960">descargas</a></p>
<h3 id="2003-bobobo-ボボボーボ・ボーボボ">2003. Bobobo (ボボボーボ・ボーボボ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/bobobo_hoqx7o.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/bobobo_hoqx7o.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/bobobo_hoqx7o-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/bobobo_hoqx7o-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/bobobo_hoqx7o.jpg" alt="Bobobo" loading="lazy">
        </picture>
        <figcaption>Bobobo</figcaption>
      </figure>(serie de 76 capítulos). Si buscas humor absurdo, esta es tu serie sin duda.
<a href="http://for.mcanime.net/enciclopedia/anime/bobobo_bo_bo_bobo/3085">Más información</a> | <a href="http://for.mcanime.net/descarga_directa/anime/bobobo_bo_bo_bobo/3085">descargas</a></p>
<h3 id="2003-wolfs-rain-ウルフズ・レイン">2003. Wolf’s rain (ウルフズ・レイン)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/wolfs_rain_wfcqii.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/wolfs_rain_wfcqii.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/wolfs_rain_wfcqii-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/wolfs_rain_wfcqii-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/wolfs_rain_wfcqii.jpg" alt="Wolf’s rain" loading="lazy">
        </picture>
        <figcaption>Wolf’s rain</figcaption>
      </figure>(serie de 26 capítulos). Un poco lenta pero muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/wolfs_rain/1806">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/wolfs_rain/1806">descargas</a></p>
<h3 id="2004-monster-モンスター">2004. Monster (モンスター)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/monster_a6ljpv.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/monster_a6ljpv.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/monster_a6ljpv-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/monster_a6ljpv-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/monster_a6ljpv.jpg" alt="Monster" loading="lazy">
        </picture>
        <figcaption>Monster</figcaption>
      </figure>(serie de 74 capítulos). Una muy buena serie de un médico que salva a un asesino y quiere redimir su error.
<a href="http://www.mcanime.net/enciclopedia/anime/monster/3750">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/monster/3750">descargas</a></p>
<h3 id="2004-gantz-ガンツ">2004. Gantz (ガンツ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/gantz_jhyvgn.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/gantz_jhyvgn.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/gantz_jhyvgn-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/gantz_jhyvgn-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/gantz_jhyvgn.jpg" alt="Gantz" loading="lazy">
        </picture>
        <figcaption>Gantz</figcaption>
      </figure>(serie de 26 capítulos). Esta es una de mis series fetiche, serie de ciencia-ficción muy buena, mucha violencia y acción. Si te quedas con ganas de más (que seguro que lo harás), puedes seguir con el manga por el volumen 8, por cierto el manga aún no lo han terminado.
<a href="http://www.mcanime.net/enciclopedia/anime/gantz/3641">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/gantz/3641">descargas</a></p>
<h3 id="2004-elfen-lied-エルフェンリート">2004. Elfen lied (エルフェンリート)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/elfen_lied_yyjwny.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/elfen_lied_yyjwny.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/elfen_lied_yyjwny-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/elfen_lied_yyjwny-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/elfen_lied_yyjwny.jpg" alt="Elfen lied" loading="lazy">
        </picture>
        <figcaption>Elfen lied</figcaption>
      </figure>(serie de anime de 13 capítulos). Serie muy buena, mucha violencia y mucho drama.
<a href="http://www.mcanime.net/enciclopedia/anime/elfen_lied/4148">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/elfen_lied/4148">descargas</a></p>
<h3 id="2004-school-rumble-スクールランブル">2004. School rumble (スクールランブル)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/school_rumble_dbj5nc.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/school_rumble_dbj5nc.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/school_rumble_dbj5nc-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/school_rumble_dbj5nc-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/school_rumble_dbj5nc.jpg" alt="School rumble" loading="lazy">
        </picture>
        <figcaption>School rumble</figcaption>
      </figure>(serie de anime ). Serie sobre enredos amorosos y mucho, mucho, mucho humor.
<a href="http://www.mcanime.net/enciclopedia/anime/school_rumble/4114">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/school_rumble/4114">descargas</a></p>
<h3 id="2004-tenjou-tenge-天上天下">2004. Tenjou tenge (天上天下)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/tenjo_tenge_ktldbn.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/tenjo_tenge_ktldbn.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/tenjo_tenge_ktldbn-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/tenjo_tenge_ktldbn-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/tenjo_tenge_ktldbn.jpg" alt="Tenjou tenge" loading="lazy">
        </picture>
        <figcaption>Tenjou tenge</figcaption>
      </figure>(serie de 24 capítulos). Serie de artes marciales y tías buenas, buena mezcla no? :)
<a href="http://www.mcanime.net/enciclopedia/anime/tenjho_tenge/3541">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/tenjho_tenge/3541">descargas</a></p>
<h3 id="2005-eureka-seven-交響詩篇-エウレカセブン">2005. Eureka seven (交響詩篇 エウレカセブン)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/eureka_seven_hiljzc.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/eureka_seven_hiljzc.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/eureka_seven_hiljzc-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/eureka_seven_hiljzc-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/eureka_seven_hiljzc.jpg" alt="Eureka seven" loading="lazy">
        </picture>
        <figcaption>Eureka seven</figcaption>
      </figure>(serie anime de 50 capítulos). Gran serie de mechas muy, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/eureka_seven/4797">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/eureka_seven/4797">descargas</a></p>
<h3 id="2005-blood-el-último-vampiro-ブラッドプラス">2005. Blood, el último vampiro (ブラッドプラス)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/blood_h6e2dd.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/blood_h6e2dd.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/blood_h6e2dd-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/blood_h6e2dd-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/blood_h6e2dd.jpg" alt="Blood, el último vampiro" loading="lazy">
        </picture>
        <figcaption>Blood, el último vampiro</figcaption>
      </figure>(serie de anime de 50 capítulos). Una gran serie de vampiros, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/blood/5088">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/blood/5088">descargas</a></p>
<h3 id="2006-code-geass-コードギアス-反逆のルルーシュ">2006. Code geass (コードギアス 反逆のルルーシュ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/code_geass_hsqemc.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/code_geass_hsqemc.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/code_geass_hsqemc-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/code_geass_hsqemc-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/code_geass_hsqemc.jpg" alt="Code geass" loading="lazy">
        </picture>
        <figcaption>Code geass</figcaption>
      </figure>(serie de anime de 2 temporadas). Una gran serie de mechas y batallas tácticas, muy, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/code_geass_lelouch_of_the_rebellion/6704">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/code_geass_lelouch_of_the_rebellion/6704">descargas</a></p>
<h3 id="2006-ultimate-hellsing">2006. Ultimate hellsing</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ultimate_hellsing_ajrcms.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ultimate_hellsing_ajrcms.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/ultimate_hellsing_ajrcms-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/ultimate_hellsing_ajrcms-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/ultimate_hellsing_ajrcms.jpg" alt="Ultimate hellsing" loading="lazy">
        </picture>
        <figcaption>Ultimate hellsing</figcaption>
      </figure>(serie sin terminar de transmitir). La serie buena es la de los ovas, no la serie normal que ya está emitida completamente. Los ovas son realmente buenos, una serie de vampiros, bastante sanguinaria y gore, pero de las mejores de vampiros que he visto en anime.
<a href="http://www.mcanime.net/enciclopedia/anime/hellsing/5114">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/hellsing/5114">descargas</a></p>
<h3 id="2006-death-note-デスノート">2006. Death note (デスノート)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/death_note_cx9qqj.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/death_note_cx9qqj.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/death_note_cx9qqj-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/death_note_cx9qqj-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/death_note_cx9qqj.jpg" alt="Death note" loading="lazy">
        </picture>
        <figcaption>Death note</figcaption>
      </figure>(serie anime de 37 capítulos). La primera temporada sublime, la segunda temporada decae un poco, otra de mis series fetiche, trata sobre un chico que encuentra un bloc de notas en el que si escribes el nombre de una persona, ésta muere.
<a href="http://www.mcanime.net/enciclopedia/anime/death_note/6592">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/death_note/6592">descargas</a></p>
<h3 id="2006-the-girl-who-leapt-through-time-時をかける少女">2006. The girl who leapt through time (時をかける少女)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/the_girl_who_leapt_through_time_wwmxpx.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/the_girl_who_leapt_through_time_wwmxpx.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/the_girl_who_leapt_through_time_wwmxpx-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/the_girl_who_leapt_through_time_wwmxpx-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/the_girl_who_leapt_through_time_wwmxpx.jpg" alt="The girl who leapt through time" loading="lazy">
        </picture>
        <figcaption>The girl who leapt through time</figcaption>
      </figure>(película anime). Una película con ligeros matices que recuerdan al efecto mariposa.
<a href="http://www.mcanime.net/enciclopedia/anime/the_girl_who_leapt_through_time/6733">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/the_girl_who_leapt_through_time/6733">descargas</a></p>
<h3 id="2007-sayonara-zetsubou-sensei-さよなら絶望先生">2007. Sayonara zetsubou sensei (さよなら絶望先生)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/sayonara_zetsubou_sensei_rir4yj.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/sayonara_zetsubou_sensei_rir4yj.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/sayonara_zetsubou_sensei_rir4yj-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/sayonara_zetsubou_sensei_rir4yj-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/sayonara_zetsubou_sensei_rir4yj.jpg" alt="Sayonara zetsubou sensei" loading="lazy">
        </picture>
        <figcaption>Sayonara zetsubou sensei</figcaption>
      </figure>(serie de anime). La primera temporada es muy, muy buena, mucho humor y critica de la sociedad japonesa. La segunda temporada decae un poco.
<a href="http://www.mcanime.net/enciclopedia/anime/sayonara_zetsubou_sensei/7767">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/sayonara_zetsubou_sensei/7767">descargas</a></p>
<h3 id="2007-nodame-cantabile-のだめカンタービレ">2007. Nodame cantabile (のだめカンタービレ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/nodame_cantabile_cpge5c.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/nodame_cantabile_cpge5c.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/nodame_cantabile_cpge5c-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/nodame_cantabile_cpge5c-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/nodame_cantabile_cpge5c.jpg" alt="Nodame cantabile" loading="lazy">
        </picture>
        <figcaption>Nodame cantabile</figcaption>
      </figure>(serie de anime de 23 capítulos, bueno ahora están emitiendo la segunda temporada). Una serie con mucho humor y mucha música clásica.
<a href="http://www.mcanime.net/enciclopedia/anime/nodame_cantabile/7010">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/nodame_cantabile/7010">descargas</a></p>
<h3 id="2007-school-days-スクールデイズ">2007. School days (スクールデイズ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/school_days_vh4hw4.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/school_days_vh4hw4.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/school_days_vh4hw4-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/school_days_vh4hw4-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/school_days_vh4hw4.jpg" alt="School days" loading="lazy">
        </picture>
        <figcaption>School days</figcaption>
      </figure>(serie de 12 capítulos). Serie muy, muy, muy dramática, pero bastante buena.
<a href="http://www.mcanime.net/enciclopedia/anime/school_days/7815">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/school_days/7815">descargas</a></p>
<h3 id="2007-tengen-toppa--gurren-lagann-天元突破グレンラガン">2007. Tengen toppa – gurren lagann (天元突破グレンラガン)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/tengen_toppa_gurren_lagann_d9ka4p.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/tengen_toppa_gurren_lagann_d9ka4p.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/tengen_toppa_gurren_lagann_d9ka4p-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/tengen_toppa_gurren_lagann_d9ka4p-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/tengen_toppa_gurren_lagann_d9ka4p.jpg" alt="Tengen toppa – gurren lagann" loading="lazy">
        </picture>
        <figcaption>Tengen toppa – gurren lagann</figcaption>
      </figure>(serie anime de 27 capítulos). Serie de humor al principio y más dramática después, sobre mechas, muy buena, sin duda.
<a href="http://www.mcanime.net/enciclopedia/anime/gurren_lagann/6698">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/gurren_lagann/6698">descargas</a></p>
<h3 id="2007-higurashi-no-naku-koro-ni-ひぐらしのなく頃に解">2007. Higurashi no naku koro ni (ひぐらしのなく頃に解)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/higurashi_no_naku_koro_ni_av8cxr.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/higurashi_no_naku_koro_ni_av8cxr.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/higurashi_no_naku_koro_ni_av8cxr-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/higurashi_no_naku_koro_ni_av8cxr-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/higurashi_no_naku_koro_ni_av8cxr.jpg" alt="Higurashi no naku koro ni" loading="lazy">
        </picture>
        <figcaption>Higurashi no naku koro ni</figcaption>
      </figure>(serie de 50 capítulos). De las mejores series de terror que he visto en anime, sin duda alguna.
<a href="http://www.mcanime.net/enciclopedia/anime/higurashi_no_naku_koroni_kai/7454">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/higurashi_no_naku_koroni_kai/7454">descargas</a></p>
<h3 id="2007-lovely-complex-ラブ★コン">2007. Lovely complex (ラブ★コン)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/lovely_complex_m0jbwl.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/lovely_complex_m0jbwl.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/lovely_complex_m0jbwl-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/lovely_complex_m0jbwl-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/lovely_complex_m0jbwl.jpg" alt="Lovely complex" loading="lazy">
        </picture>
        <figcaption>Lovely complex</figcaption>
      </figure>(serie anime de 26 capítulos). Serie sobre de amor entre dos estudiantes con problemas de altura.
<a href="http://www.mcanime.net/enciclopedia/anime/lovely_complex/7468">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/lovely_complex/7468">descargas</a></p>
<h3 id="2007-kaiji-逆境無頼カイジ">2007. Kaiji (逆境無頼カイジ)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/kaiji_bkdckg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/kaiji_bkdckg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/kaiji_bkdckg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/kaiji_bkdckg-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/kaiji_bkdckg.jpg" alt="Kaiji" loading="lazy">
        </picture>
        <figcaption>Kaiji</figcaption>
      </figure>(serie de anime). Serie sobre el juego y apuestas con vidas humanas, muy, muy buena.
<a href="http://www.mcanime.net/enciclopedia/anime/kaiji/8550">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/kaiji/8550">descargas</a></p>
<h3 id="2007-claymore-クレイモア">2007. Claymore (クレイモア)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/claymore_vqiml0.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/claymore_vqiml0.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/claymore_vqiml0-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/claymore_vqiml0-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/claymore_vqiml0.jpg" alt="Claymore" loading="lazy">
        </picture>
        <figcaption>Claymore</figcaption>
      </figure>(serie de 26 capítulos). Una serie sobre caza de demonios por chicas, mitad humana, mitad demonio. Muy, muy buena, pero le falla algún capítulo y el final que han puesto en el anime es de lo peor que he visto, de hecho el final no tiene nada que ver con el manga. Si quitamos el último capítulo, la serie es más que recomendable.
<a href="http://www.mcanime.net/enciclopedia/anime/claymore/7028">Más información</a> | <a href="http://www.mcanime.net/descarga_directa/anime/claymore/7028">descargas</a></p>
<h3 id="2009-suzumiya-haruhi-no-yuutsu">2009. Suzumiya haruhi no yuutsu</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/suzumiya_haruhi_no_yuutsu_fqy8yq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/suzumiya_haruhi_no_yuutsu_fqy8yq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/50-animes-to-watch-this-summer/images/suzumiya_haruhi_no_yuutsu_fqy8yq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/50-animes-to-watch-this-summer/images/suzumiya_haruhi_no_yuutsu_fqy8yq-mobile.jpg" />
          <img class="image" src="/blog/50-animes-to-watch-this-summer/images/suzumiya_haruhi_no_yuutsu_fqy8yq.jpg" alt="Suzumiya haruhi no yuutsu" loading="lazy">
        </picture>
        <figcaption>Suzumiya haruhi no yuutsu</figcaption>
      </figure>(serie de 14 capítulos). Serie que parodia a muchas series, bastante buena, con una protagonista bastante loca.
<a href="http://www.mcanime.net/enciclopedia/anime/claymore/7028">Más información</a> | <a href="http://for.mcanime.net/descarga_directa/anime/suzumiya_haruhi_no_yuuutsu_2009/10559">descargas</a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/50-animes-to-watch-this-summer/images/death_note_cx9qqj.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nuevos temas de Webmarket para iGoogle]]></title>
            <link>https://www.joanmira.com/es/blog/new-webmarket-themes-for-igoogle</link>
            <guid>https://www.joanmira.com/es/blog/new-webmarket-themes-for-igoogle</guid>
            <pubDate>Wed, 12 Aug 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Dos nuevas opciones visuales para los usuarios del popular lector de noticias]]></description>
            <content:encoded><![CDATA[<p>Voila!, Google nos ha publicado los dos temas que hemos creado para su plataforma <a href="http://es.wikipedia.org/wiki/IGoogle">iGoogle</a>. El primero se llama “<a href="http://www.google.es/ig/directory?hl=es&amp;gl=es&amp;type=themes&amp;url=webmarketigoogle.googlecode.com/svn/trunk/theme2.xml"><em>Positive Vibes</em></a>” y representa un planeta que emana energía con mis dos colores favoritos (el verde amarillento y el violeta). El segundo se llama “<a href="http://www.google.es/ig/directory?hl=es&amp;gl=es&amp;type=themes&amp;url=webmarketigoogle.googlecode.com/svn/trunk/theme.xml"><em>Colorful Beat</em></a>” y representa una onda de colores vivos. Ya se pueden usar! :-)</p>
<p><a href="http://www.google.es/ig/directory?hl=es&amp;gl=es&amp;type=themes&amp;url=webmarketigoogle.googlecode.com/svn/trunk/theme2.xml">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle1_he21e8.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle1_he21e8.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle1_he21e8-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle1_he21e8-mobile.jpg" />
          <img class="image" src="/blog/new-webmarket-themes-for-igoogle/images/igoogle1_he21e8.jpg" alt="igoogle1" loading="lazy">
        </picture>
        <figcaption>igoogle1</figcaption>
      </figure></a></p>
<p><a href="http://www.google.es/ig/directory?hl=es&amp;gl=es&amp;type=themes&amp;url=webmarketigoogle.googlecode.com/svn/trunk/theme2.xml"><em>Positive Vibes theme para iGoogle</em></a></p>
<p><a href="http://www.google.es/ig/directory?hl=es&amp;gl=es&amp;type=themes&amp;url=webmarketigoogle.googlecode.com/svn/trunk/theme.xml">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle2_p07ijg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle2_p07ijg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle2_p07ijg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/new-webmarket-themes-for-igoogle/images/igoogle2_p07ijg-mobile.jpg" />
          <img class="image" src="/blog/new-webmarket-themes-for-igoogle/images/igoogle2_p07ijg.jpg" alt="igoogle2" loading="lazy">
        </picture>
        <figcaption>igoogle2</figcaption>
      </figure></a></p>
<p><a href="http://www.google.es/ig/directory?hl=es&amp;gl=es&amp;type=themes&amp;url=webmarketigoogle.googlecode.com/svn/trunk/theme.xml"><em>Colorful Beat theme para iGoogle</em></a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/new-webmarket-themes-for-igoogle/images/igoogle_e94ehy.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Razones por las que me gusta Japón]]></title>
            <link>https://www.joanmira.com/es/blog/reasons-why-i-like-japan</link>
            <guid>https://www.joanmira.com/es/blog/reasons-why-i-like-japan</guid>
            <pubDate>Tue, 31 Mar 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[La cultura japonesa es increiblemente rica y única en el mundo]]></description>
            <content:encoded><![CDATA[<p>Muchas veces la gente me pregunta por qué me gusta Japón y la verdad es que nunca me había parado a pensar en todas las razones, por eso voy a escribirlo ahora para tenerlo presente y darle forma a algo que empieza a ser importante en mi vida...</p>
<p><strong>1º Por su fantástica creatividad:</strong> El manga/anime, sus magníficas películas de cine, el diseño gráfico (el de colores vivos y el minimalista), la cerámica, el arte floral, la arquitectura, el diseño de interiores, la tecnología, la robótica, electrónica, videojuegos, automóviles y trenes bala.</p>
<p><strong>2º Por sus valores:</strong> el honor, el civismo, el respecto a los mayores, el trabajo duro, la capacidad de sacrificio, la humildad. Porque allí los vecinos plantan arbolitos (bonsáis) y flores en las calles, mientras aquí vemos como se llenan de cacas de perro y grafitis. Porque no conocen la avaricia ni la corrupción.</p>
<p><strong>3º Por su cultura y tradición:</strong> los kimonos, quitarse los zapatos al entrar en casa, mesas bajas, los tatamis, las teteras de hierro, los templos, puertas en medio de lagos, los cerezos en flor, las lámparas de papel, los paraguas, las puertas correderas, los zuecos de madera, el feng-shui, el karate y las artes marciales, los samuráis, las katanas, el karaoke,…</p>
<p><strong>4º Por su gastronomía:</strong> el sushi, pez globo (fugu), las anguilas, las bolas de arroz, el té, sake, el tofu, las sopitas de algas.</p>
<p><strong>5º Por sus rarezas:</strong> las tribus urbanas de Tokyo, las adaptaciones patrañeras de cosas de otros países, los frikis, otakus, el cosplay.</p>
<p><strong>6º Por su gente:</strong> como valoran el silencio, sus gestos, su forma de expresarse, su complejo e interesante idioma.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/reasons-why-i-like-japan/images/grand-gate-itsukushima-shrine-miyajima-japan_a5nm12.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Los videojuegos desarrollan la inteligencia]]></title>
            <link>https://www.joanmira.com/es/blog/video-games-develop-intelligence</link>
            <guid>https://www.joanmira.com/es/blog/video-games-develop-intelligence</guid>
            <pubDate>Sun, 01 Mar 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Los aficionados a los juegos lo tienen claro. Pongámoslo por escrito para que quede registrado]]></description>
            <content:encoded><![CDATA[<p>Es un tema que siempre me ha interesado analizar detalladamente y ahora me gustaría comentarlo con vosotros para ver cuál es vuestra opinión al respecto. Yo pienso que el hecho de haber estado “jugando” con videojuegos desde que tenía 6 años, ha tenido efectos muy beneficiosos para el desarrollo de mi inteligencia (en algunos aspectos):</p>
<p>Efectos positivos:</p>
<p>– <strong>Facilidad para mover máquinas en espacios tridimensionales</strong> (por ejemplo, conducir vehículos). ¿Cuántas naves espaciales, aviones, coches, tanques, motos e infinidad de otros vehículos hemos tenido que aprender a dirigir en los videojuegos. A veces no solo tenemos que dirigir el vehículo, sino también el movimiento de la cabeza del conductor. Con ese entrenamiento, aparcar un coche en el mundo real, es coser y cantar, ¿no os parece?</p>
<p>– <strong>Orientación geográfica</strong>. A medida que me desplazo, mi cerebro guarda un registro de las decisiones que toma y los parámetros de posicionamiento cada vez que debe tomar una decisión, de tal forma que puedo comparar mi posición actual con respecto a la inicial. En los videojuegos es algo muy común tener que aprender a moverse eficientemente dentro de un escenario virtual, que a veces puede llegar a ser de cientos de Km cuadrados.</p>
<p>– <strong>Cálculo eficiente de la física de objetos</strong>, su velocidad, gravedad y sus trayectorias. Seguramente, es lo qué más se entrena, ya que en los videojuegos tenemos que esquivar proyectiles y calcular la física de los objetos casi en todo momento.</p>
<p>– <strong>Lógica de resolución de problemas. Inventiva de estrategias y memoria gráfica avanzada</strong>. La resolución de problemas en los videojuegos es lo que genera la recompensa y la satisfacción al jugador. Los retos superados nos ayudan a crear una personalidad de corte positivo (no hay problema que no tenga solución).</p>
<p>– <strong>Multitarea, improvisación y velocidad para tomar decisiones críticas</strong>. Junto con la programación de ordenadores, los videojuegos mejoran significativamente la capacidad para saber otorgar prioridades de forma efectiva a las tareas o problemas que debemos afrontar. Esto es de gran ayuda luego en el mundo real…</p>
<p>– <strong>Coraje, espíritu de aventura, competitividad, perseverancia, determinación, búsqueda de retos difíciles</strong>. Muchos de los videojuegos fomentan valores muy positivos que luego nos pueden ayudar en el mundo real.</p>
<p>Efectos no tan positivos de las nuevas tecnologías y los videojuegos:</p>
<p>– Adicción psicológica (no física) a los retos.
– Adicción al consumo de experiencias audiovisuales innovadoras, aunque no necesariamente videojuegos (viajes, cine, tecnología,…).
– Internet y la facilidad de acceso a la información, hace que mi cerebro sea mucho más selectivo para guardar información, lo cual me genera una pérdida de eficiencia de la memoria.</p>
<p>Por lo tanto, mi conclusión es que los videojuegos SI son beneficiosos para el desarrollo de ciertos aspectos de la inteligencia, pero su beneficio no es ilimitado y llega un momento en el cual, su consumo únicamente nos generará un estímulo de tipo creativo (por lo menos hasta que no haya una nueva revolución tecnológica que involucre nuevas formas de razonamiento y nuevas herramientas de control más precisas y veloces).</p>
<iframe width="100%" height="550" src="https://www.youtube.com/embed/v0P3qvSqdeg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/video-games-develop-intelligence/images/consolasHome2_ae32ah.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[La invasión de las cucarachas]]></title>
            <link>https://www.joanmira.com/es/blog/the-roach-invasion</link>
            <guid>https://www.joanmira.com/es/blog/the-roach-invasion</guid>
            <pubDate>Fri, 27 Feb 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Una de las escenas más impactantes de la historia del cine]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="380" src="https://www.youtube.com/embed/78GE90_AX_c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<p>Después de varios años sin poder recordar el título de este video que encontraréis a continuación, hace un par de días mi primo Mauro me lo recordó! (se llama “creepshow”) y aquí lo pongo, para que todos lo sufráis. Quizás es una razón importante del asco que le tengo a las cucarachas...</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-roach-invasion/images/post-cucaracha_junlxf.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[La Tumba de las Luciérnagas]]></title>
            <link>https://www.joanmira.com/es/blog/grave-of-the-fireflies</link>
            <guid>https://www.joanmira.com/es/blog/grave-of-the-fireflies</guid>
            <pubDate>Mon, 09 Feb 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Una película triste pero de una gran belleza artística y con mucha ternura en sus personajes]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="380" src="https://www.youtube.com/embed/4vPeTSRd580" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<p><em>Resumen de la película [Tema musical del final “hotaru”]</em></p>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/grave-of-the-fireflies/images/hotaru-no-haka_rrthup.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/grave-of-the-fireflies/images/hotaru-no-haka_rrthup.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/grave-of-the-fireflies/images/hotaru-no-haka_rrthup-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/grave-of-the-fireflies/images/hotaru-no-haka_rrthup-mobile.jpg" />
          <img class="image" src="/blog/grave-of-the-fireflies/images/hotaru-no-haka_rrthup.jpg" alt="hotaru-no-haka" loading="lazy">
        </picture>
        <figcaption>hotaru-no-haka</figcaption>
      </figure></p>
<p>Acabo de terminar de ver “<a href="http://www.imdb.com/title/tt0095327/">Hotaru no naka</a>” [Japón, 1988] y me ha dejando en tal estado de preocupación e intranquilidad, que me veo obligado a retrasar la hora de ir a la cama para poder escribir unas palabras aquí sobre esta historia tan triste…</p>
<p>Lo primero de lo que quiero hablar es de lo asombrado que estoy (ya que es la primera vez que me pasa) de que una película de dibujos animados como esta, pueda llegar a “tocarme” tan profundamente. Normalmente, aunque sea de forma inconsciente, solemos asociar rápidamente los dibujos animados con historias que están muy lejos de la realidad y, por tanto, es difícil que astas lleguen a ser algo más que simples entretenimientos. Sin embargo, en algunas películas de anime, las historias están tan bien escritas y hechas que puede que nos pille con la “guardia baja” y acabemos lloriqueando o con un <em>traumatismo intelectual</em>™ severo sin darnos cuenta.</p>
<p>No voy a contar nada del argumento de la película, pero sí que voy a hablar del autor, <a href="http://es.wikipedia.org/wiki/Akiyuki_Nosaka" title="Akiyuki Nosaka">Akiyuki Nosaka</a>, nació en 1930 en la ciudad de Nakamura, situada en la prefectura de Kanagawa; su nacimiento provocó una grave enfermedad a su madre, que, por ello, no podía hacerse cargo de los pequeños y la familia se trasladó a vivir con su tía; no obstante, su madre se recuperó y la familia tuvo otra niña, Keiko. En 1945, durante los intensos bombardeos estadounidenses, su padre murió y su madre enfermó gravemente. Poco tiempo después, su hermana también murió debido a la malnutrición… Los que sepáis de qué va la historia podréis apreciar en la historia que Hotaru no Haka (La tumba de las luciérnagas) nos narra clarísimas similitudes con respecto a su vida real. Nosaka es principalmente un escritor de la posguerra, que narra las contradicciones de la sociedad japonesa de ese periodo, pero a la vez hace hincapié en las causas que provocaron la participación de Japón en dicho acontecimiento histórico. En Hotaru no Haka podemos apreciar una crítica a la sociedad tradicional japonesa, en el sentido de la forma en que se involucró en la guerra, y también en la forma tradicional de ver la vida típica de ese país encarnada en su tía, que no entiende las motivaciones de Seita, el protagonista, y los deja marchar a sabiendas de que eso a la larga conllevará su muerte por inanición.</p>
<p>Hotaru no Haka es sobre todo un alegato pacifista, pero a la vez pesimista… el autor no escatima los detalles a la hora de describir la penosa situación de Seita y su hermana Setsuko, la miseria en que están obligados a vivir, la despreocupación del resto de la sociedad ante sus problemas. En definitiva, una serie de acontecimientos y actitudes que desembocan inevitablemente en un desenlace trágico…</p>
<p>Nos hallamos ante un retrato de la sociedad japonesa de la posguerra, narrado con un estilo agridulce, triste, muy acorde con la historia que nos está contando, tristemente real y, sobre todo, muy creíble. En este sentido, los que habéis visto la película, si leéis el libro, apreciaréis que ésta sigue fielmente la historia de Nosaka punto por punto, pero hemos de decir que Nosaka es un autor, como casi todos los de su generación, extremadamente realista, así que no encontraremos en este libro las dosis de lirismo que se pueden apreciar en la película homónima, sino áridas descripciones de la realidad, aunque siempre vistas desde el punto de vista del protagonista, Seita -alter ego del escritor, sin duda-.</p>
<p>En definitiva, una historia triste, pero a la vez totalmente recomendable. El mayor pecado de la humanidad es olvidar la historia, y esta triste historia nos otorga la oportunidad de <strong>no olvidarnos de lo triste que puede ser la guerra</strong>, y de las funestas consecuencias que todo acontecimiento de este tipo lleva consigo.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/grave-of-the-fireflies/images/hotaru0_sddjyc.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Las 65 mejores películas de los años 80]]></title>
            <link>https://www.joanmira.com/es/blog/the-65-best-movies-from-the-80s</link>
            <guid>https://www.joanmira.com/es/blog/the-65-best-movies-from-the-80s</guid>
            <pubDate>Mon, 02 Feb 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Un ranking popular para la era de oro del cine con guiones memorables e historias originales]]></description>
            <content:encoded><![CDATA[<p>Condensadores de fluzo, starfighters, guerras en las galaxias, historias de replicantes, extraterrestres, arqueólogos aventureros, monstruos mocosos, aliens, robocops… durante los años 80, surgieron multitud de maravillosas películas que han marcado a toda una generación de niños que ahora son adultos y recuerdan con mucho cariño esas historias llenas de creatividad y aventuras.</p>
<p>He montado un <em>ranking</em> de las mejores películas de los años 80, <strong>ordenadas de menor a mayor nota</strong>, según una media de puntuación obtenida a partir de las bases de datos de <a href="http://www.imdb.com/">imdb</a> y <a href="http://www.rottentomatoes.com/">rotten tomatoes</a>. Esta lista puede que esté un poco influenciada por el género de ciencia ficción y seguramente me he olvidado de alguna película importante (ojalá que no muchas!), aun así espero que os guste ;-)</p>
<h3 id="65-young-sherlock-holmes--el-secreto-de-la-pirámide-1985">65. <a href="http://www.amazon.es/gp/product/B006RQD954/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B006RQD954&amp;linkCode=as2&amp;tag=gazpachu06-21">Young Sherlock Holmes / El secreto de la pirámide</a> (1985)</h3>
<p><a href="http://www.amazon.es/gp/product/B006RQD954/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B006RQD954&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/young-sherlock-holmes_hka1oj.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/young-sherlock-holmes_hka1oj.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/young-sherlock-holmes_hka1oj-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/young-sherlock-holmes_hka1oj-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/young-sherlock-holmes_hka1oj.jpg" alt="young-sherlock-holmes" loading="lazy">
        </picture>
        <figcaption>young-sherlock-holmes</figcaption>
      </figure></a></p>
<p>Cuando una plaga de extraños y horribles asesinatos mantienen en suspenso a Londres, el joven Sherlock Holmes y su nuevo amigo Watson se ven involucrados casi sin advertirlo en un oscuro misterio. ¡Evidentemente, algo se está tramando! Y el detective en ciernes se encuentra dispuesto a resolver el caso más sorprendente de su extraordinaria carrera.</p>
<p><a href="http://www.amazon.es/gp/product/B006RQD954/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B006RQD954&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0090357/">imdb</a>: 6,5 | <a href="http://www.rottentomatoes.com/m/young_sherlock_holmes/">Rotten Tomatoes</a>: 5,4 | <strong>Media: 5,95</strong></p>
<h3 id="64-explorers--exploradores-1985">64. <a href="http://www.amazon.es/gp/product/B003Z7RED6/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RED6&amp;linkCode=as2&amp;tag=gazpachu06-21">Explorers / Exploradores</a> (1985)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7RED6/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RED6&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/explorers_d2wukq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/explorers_d2wukq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/explorers_d2wukq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/explorers_d2wukq-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/explorers_d2wukq.jpg" alt="explorers" loading="lazy">
        </picture>
        <figcaption>explorers</figcaption>
      </figure></a></p>
<p>En su improvisado laboratorio, unos muchachos utilizan un descubrimiento inesperado y su ingenio para construir su propia nave espacial y lanzarse en un fantástico viaje interplanetario.</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7RED6/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RED6&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0089114/">imdb</a>: 6,2 | <a href="http://www.rottentomatoes.com/m/explorers/">Rotten Tomatoes</a>: 5,8 | <strong>Media: 6</strong></p>
<h3 id="63-flight-of-the-navigator--el-vuelo-del-navegante-1986">63. <a href="http://www.amazon.es/gp/product/B008WUKVMW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008WUKVMW&amp;linkCode=as2&amp;tag=gazpachu06-21">Flight of the Navigator / El vuelo del navegante</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B008WUKVMW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008WUKVMW&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/flight-of-the-navigator_pngdsp.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/flight-of-the-navigator_pngdsp.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/flight-of-the-navigator_pngdsp-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/flight-of-the-navigator_pngdsp-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/flight-of-the-navigator_pngdsp.jpg" alt="flight-of-the-navigator" loading="lazy">
        </picture>
        <figcaption>flight-of-the-navigator</figcaption>
      </figure></a></p>
<p>En 1978, una oscura noche, el pequeño David, un niño de 12 años que juega cerca de su casa buscando a su hermano Jeff, se da un golpe y queda inconsciente. Ocho años, o apenas un instante después, David despierta, vuelve a su casa y se da cuenta de que su familia se ha mudado, y que él ha sido dado por desaparecido.. o por muerto. Más tarde, David empieza a ser perseguido por la NASA, que dice que ha sido abducido.</p>
<p><a href="http://www.amazon.es/gp/product/B008WUKVMW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008WUKVMW&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0091059/">imdb</a>: 6,6 | <a href="http://www.rottentomatoes.com/m/flight_of_the_navigator/">Rotten Tomatoes</a>: 5,7 | <strong>Media: 6,15</strong></p>
<h3 id="62-tron-1982">62. <a href="http://www.amazon.es/gp/product/B004IP1JXK/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B004IP1JXK&amp;linkCode=as2&amp;tag=gazpachu06-21">Tron</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B004IP1JXK/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B004IP1JXK&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/http_www.gazpachu.com_wp-content_uploads_2009_02_tron_pjwdmu.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/http_www.gazpachu.com_wp-content_uploads_2009_02_tron_pjwdmu.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/http_www.gazpachu.com_wp-content_uploads_2009_02_tron_pjwdmu-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/http_www.gazpachu.com_wp-content_uploads_2009_02_tron_pjwdmu-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/http_www.gazpachu.com_wp-content_uploads_2009_02_tron_pjwdmu.jpg" alt="tron" loading="lazy">
        </picture>
        <figcaption>tron</figcaption>
      </figure></a></p>
<p>Un hacker es dividido en moléculas y transportado a las entrañas de un ordenador en el que un malvado programa controla los comportamientos a su antojo.</p>
<p><a href="http://www.amazon.es/gp/product/B004IP1JXK/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B004IP1JXK&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0084827/">imdb</a>: 6,5 | <a href="http://www.rottentomatoes.com/m/tron/">Rotten Tomatoes</a>: 6 | <strong>Media: 6,25</strong></p>
<h3 id="61-the-last-starfighter--starfighter-la-aventura-comienzaa-1984">61. <a href="http://www.amazon.es/gp/product/B0055KO9X4/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KO9X4&amp;linkCode=as2&amp;tag=gazpachu06-21">The Last Starfighter / Starfighter, la aventura comienza</a>a (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KO9X4/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KO9X4&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-starfighter_alex_rogan_gam_fdv3ry.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-starfighter_alex_rogan_gam_fdv3ry.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-starfighter_alex_rogan_gam_fdv3ry-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-starfighter_alex_rogan_gam_fdv3ry-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-last-starfighter_alex_rogan_gam_fdv3ry.jpg" alt="the-last-starfighter_alex_rogan_gam" loading="lazy">
        </picture>
        <figcaption>the-last-starfighter_alex_rogan_gam</figcaption>
      </figure></a></p>
<p>Alex es un adolescente que escapa de su monótona rutina jugando con un vídeo juego llamado Starfighter. Su habilidad y tenacidad atraen a un amable extranjero Centauri, que resultará ser un alienígena. Alex recibe una sacudida y es transportado hasta un lugar lejano de la galaxia, donde descubrirá que su juego preferido es una realidad. Ahora tendrá que demostrar si es tan bueno como parece…</p>
<p><a href="http://www.amazon.es/gp/product/B0055KO9X4/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KO9X4&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0087597/">imdb</a>: 6,4 | <a href="http://www.rottentomatoes.com/m/last_starfighter/">Rotten Tomatoes</a>: 6,1 | <strong>Media: 6,25</strong></p>
<h3 id="60-willow-1988">60. <a href="http://www.amazon.es/gp/product/B00BMOZSBE/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00BMOZSBE&amp;linkCode=as2&amp;tag=gazpachu06-21">Willow</a> (1988)</h3>
<p><a href="http://www.amazon.es/gp/product/B00BMOZSBE/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00BMOZSBE&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/willow_j2k85h.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/willow_j2k85h.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/willow_j2k85h-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/willow_j2k85h-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/willow_j2k85h.jpg" alt="willow" loading="lazy">
        </picture>
        <figcaption>willow</figcaption>
      </figure></a></p>
<p>Cuento medieval con brujas, enanos y poderes mágicos. En las mazmorras del castillo de la malvada reina hechicera Bavmorda, una prisionera da a luz una niña que, de acuerdo a una antigua profecía, pondrá fin al reinado de la hechicera. La comadrona salva a la niña de la ira de Bavmorda, pero se ve obligada a arrojar su cuna al río cuando es alcanzada por sus perros de presa. La corriente le hace alcanzar un pueblo de enanos en donde es adoptada por el valiente Willow.</p>
<p><a href="http://www.amazon.es/gp/product/B00BMOZSBE/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00BMOZSBE&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0096446/">imdb</a>: 7,1 | <a href="http://www.rottentomatoes.com/m/willow/">Rotten Tomatoes</a>: 5,5 | <strong>Media: 6,3</strong></p>
<h3 id="59-the-mosquito-coast--la-costa-de-los-mosquitos-1986">59. <a href="http://www.amazon.es/gp/product/B008WUKV0E/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008WUKV0E&amp;linkCode=as2&amp;tag=gazpachu06-21">The Mosquito Coast / La costa de los mosquitos</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B008WUKV0E/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008WUKV0E&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-mosquito-coast_zmnret.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-mosquito-coast_zmnret.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-mosquito-coast_zmnret-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-mosquito-coast_zmnret-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-mosquito-coast_zmnret.jpg" alt="the-mosquito-coast" loading="lazy">
        </picture>
        <figcaption>the-mosquito-coast</figcaption>
      </figure></a></p>
<p>Harrison Ford interpreta a un inventor harto del consumismo en el que se ha convertido la sociedad moderna. Asqueado, el hombre decide alejarse con su familia de la civilización y emprender una nueva vida en plena jungla.</p>
<p><a href="http://www.amazon.es/gp/product/B008WUKV0E/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008WUKV0E&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0091557/">imdb</a>: 6,5 | <a href="http://www.rottentomatoes.com/m/mosquito_coast/">Rotten Tomatoes</a>: 6,4 | <strong>Media: 6,45</strong></p>
<h3 id="58-conan-the-barbarian--conan-el-bárbaro-1982">58. <a href="http://www.amazon.es/gp/product/B0044LVFXC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044LVFXC&amp;linkCode=as2&amp;tag=gazpachu06-21">Conan the barbarian / Conan el bárbaro</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B0044LVFXC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044LVFXC&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/conan-el-barbaro_qepzti.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/conan-el-barbaro_qepzti.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/conan-el-barbaro_qepzti-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/conan-el-barbaro_qepzti-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/conan-el-barbaro_qepzti.jpg" alt="conan-el-barbaro" loading="lazy">
        </picture>
        <figcaption>conan-el-barbaro</figcaption>
      </figure></a></p>
<p>Un niño que habita en una aldea bárbara graba en su memoria los rostros de los guerreros que han exterminado a su familia, entregándole a él a unos mercaderes de esclavos. Años después, el joven se ha convertido en un forzudo y valiente guerrero…</p>
<p><a href="http://www.amazon.es/gp/product/B0044LVFXC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044LVFXC&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0082198/">imdb</a>: 6,7 | <a href="http://www.rottentomatoes.com/m/conan_the_barbarian/">Rotten Tomatoes</a>: 6,3 | <strong>Media: 6,5</strong></p>
<h3 id="57-innerspace--el-chip-prodigioso-1987">57. <a href="http://www.amazon.es/gp/product/B0000695KH/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0000695KH&amp;linkCode=as2&amp;tag=gazpachu06-21">Innerspace / El chip prodigioso</a> (1987)</h3>
<p><a href="http://www.amazon.es/gp/product/B0000695KH/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0000695KH&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/innerspace_pj4dic.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/innerspace_pj4dic.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/innerspace_pj4dic-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/innerspace_pj4dic-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/innerspace_pj4dic.jpg" alt="innerspace" loading="lazy">
        </picture>
        <figcaption>innerspace</figcaption>
      </figure></a></p>
<p>El temperamental piloto Tuck Pendelton (Dennis Quaid) se presta voluntario para un experimento que consiste en miniaturizarle en el interior de una cápsula que debe ser introducida en un conejo. Pero unos delincuentes intentan apropiarse del invento, y Pendelton acaba por casualidad en el interior de un ser humano hipocondríaco llamado Jack Putter (Martin Short). A partir de ahí, ambos se verán obligados a colaborar para conseguir que Tuck pueda salir del cuerpo de Jack.</p>
<p><a href="http://www.amazon.es/gp/product/B0000695KH/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0000695KH&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://us.imdb.com/title/tt0093260/">imdb</a>: 6,4 | <a href="http://www.rottentomatoes.com/m/innerspace/">Rotten Tomatoes</a>: 6,6 | <strong>Media: 6,5</strong></p>
<h3 id="56-the-lost-boys--jóvenes-ocultos-1987">56. <a href="http://www.amazon.es/gp/product/B0053C89B2/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C89B2&amp;linkCode=as2&amp;tag=gazpachu06-21">The Lost Boys / Jóvenes ocultos</a> (1987)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C89B2/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C89B2&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-lost-boys_i9ibag.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-lost-boys_i9ibag.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-lost-boys_i9ibag-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-lost-boys_i9ibag-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-lost-boys_i9ibag.jpg" alt="the-lost-boys" loading="lazy">
        </picture>
        <figcaption>the-lost-boys</figcaption>
      </figure></a></p>
<p>Sam y su hermano mayor Michael son los típicos jóvenes americanos con intereses normales. Pero tras el divorcio de sus padres, y nada más instalarse en la tranquila ciudad de Santa Carla, una pequeña ciudad de California donde corren rumores sobre vampiros, las cosas misteriosamente empiezan a cambiar. La personalidad de Michael se transforma. Y a su madre no le gustaría ver en lo que se está convirtiendo.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C89B2/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C89B2&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0093437/">imdb</a>: 6,9 | <a href="http://www.rottentomatoes.com/m/lost_boys/">Rotten Tomatoes</a>: 6,4 | <strong>Media: 6,65</strong></p>
<h3 id="55-labyrinth--dentro-del-laberinto-1986">55. <a href="http://www.amazon.es/gp/product/B0053C8D4A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8D4A&amp;linkCode=as2&amp;tag=gazpachu06-21">Labyrinth / Dentro del laberinto</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8D4A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8D4A&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/labyrinth_tsbmj3.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/labyrinth_tsbmj3.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/labyrinth_tsbmj3-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/labyrinth_tsbmj3-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/labyrinth_tsbmj3.jpg" alt="labyrinth" loading="lazy">
        </picture>
        <figcaption>labyrinth</figcaption>
      </figure></a></p>
<p>Sarah debe atravesar un laberinto para rescatar a su hermano pequeño, que ha sido secuestrado por los duendes y está en manos del poderoso rey Jareth. Sarah descubre, casi inmediatamente, que ha llegado a un lugar donde las cosas no son siempre lo que parecen. Dirigida por el creador de los Teleñecos. El guionista es Terry Jones, George Lucas es el productor ejecutivo y Frank Oz el animador.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8D4A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8D4A&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0091369/">imdb</a>: 7,3 | <a href="http://www.rottentomatoes.com/m/labyrinth/">Rotten Tomatoes</a>: 6 | <strong>Media: 6,65</strong></p>
<h3 id="54-back-to-the-future-part-ii--regreso-al-futuro-ii-1989">54. <a href="http://www.amazon.es/gp/product/B001ZKV6G6/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001ZKV6G6&amp;linkCode=as2&amp;tag=gazpachu06-21">Back to the Future Part II / Regreso al futuro II</a> (1989)</h3>
<p><a href="http://www.amazon.es/gp/product/B001ZKV6G6/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001ZKV6G6&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future-part-ii_qgtrd3.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future-part-ii_qgtrd3.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future-part-ii_qgtrd3-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future-part-ii_qgtrd3-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future-part-ii_qgtrd3.jpg" alt="back-to-the-future-part-ii" loading="lazy">
        </picture>
        <figcaption>back-to-the-future-part-ii</figcaption>
      </figure></a></p>
<p>Aunque a Marty McFly todavía le falta tiempo para asimilar el hecho de estar viviendo dentro de la familia perfecta gracias a su anterior viaje en el tiempo, no le queda ni espacio para respirar cuando su amigo Doc aparece de improviso con la máquina del tiempo (mucho más modernizada), e insta a que le acompañen él y su novia a viajar al futuro para solucionar un problema con la ley que tendrá uno de sus futuros hijos. En la tremenda vorágine futurista, con todo lo que ello conlleva, del Hill Valley de 2015, la presencia de tales viajeros temporales causará un efecto mayor que el que iban a arreglar. Un almanaque deportivo y la posesión del secreto de la existencia de la máquina del tiempo por parte del siempre villano Biff Bannett, serán los ingredientes que conjugarán una causa-efecto en el pasado, en el presente y en el propio futuro, que hará que Marty y Doc se tengan que emplear a fondo para poner fin a la catástrofe a la que les lleva el destino.</p>
<p><a href="http://www.amazon.es/gp/product/B001ZKV6G6/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001ZKV6G6&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0096874/">imdb</a>: 7,4 | <a href="http://www.rottentomatoes.com/m/back_to_the_future_2/">Rotten Tomatoes</a>: 5,9 | <strong>Media: 6,65</strong></p>
<h3 id="53-the-goonies--los-goonies-1985">53. <a href="http://www.amazon.es/gp/product/B003JN6SNI/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003JN6SNI&amp;linkCode=as2&amp;tag=gazpachu06-21">The Goonies / Los Goonies</a> (1985)</h3>
<p><a href="http://www.amazon.es/gp/product/B003JN6SNI/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003JN6SNI&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-goonies_eqwfqn.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-goonies_eqwfqn.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-goonies_eqwfqn-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-goonies_eqwfqn-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-goonies_eqwfqn.jpg" alt="the-goonies" loading="lazy">
        </picture>
        <figcaption>the-goonies</figcaption>
      </figure></a></p>
<p>Mikey es un muchacho de trece años que, junto con su hermano mayor y sus amigos, que se hacen llamar “Los Goonies”, deciden subir a jugar al desván de su casa, donde su padre guarda antigüedades. Allí encuentran el mapa de un tesoro perdido que data de los tiempos de los piratas… Simpática película de aventura para adolescentes, con historia de Steven Spielberg y guion de Chris Columbus.</p>
<p><a href="http://www.amazon.es/gp/product/B003JN6SNI/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003JN6SNI&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0089218/">imdb</a>: 7,4 | <a href="http://www.rottentomatoes.com/m/goonies/">Rotten Tomatoes</a>: 5,9 | <strong>Media: 6,65</strong></p>
<h3 id="52-comming-to-america--el-principe-de-zamunda-1989">52. <a href="http://www.amazon.es/gp/product/B0055KNAH0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KNAH0&amp;linkCode=as2&amp;tag=gazpachu06-21">Comming to America / El Principe de Zamunda</a> (1989)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KNAH0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KNAH0&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/principe-de-zamunda_sgxu2n.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/principe-de-zamunda_sgxu2n.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/principe-de-zamunda_sgxu2n-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/principe-de-zamunda_sgxu2n-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/principe-de-zamunda_sgxu2n.jpg" alt="principe-de-zamunda" loading="lazy">
        </picture>
        <figcaption>principe-de-zamunda</figcaption>
      </figure></a></p>
<p>Es el vigésimo primer cumpleaños del príncipe Akeem, del reino africano de Zamunda, y debe casarse con una mujer a la que no ha visto nunca, como hizo su padre antes que él. Pero como no está de acuerdo en que le impongan la mujer con la que tiene que pasar el resto de su vida, Akeem decide viajar a Nueva York, donde nadie le conoce, y así poder buscar una chica guapa e inteligente que le ame realmente por su persona y no por su riqueza. Así, sen instala en Nueva York con un amigo y, a pesar de contar con una inmensa fortuna, decide vivir muy modestamente.</p>
<p><a href="http://www.amazon.es/gp/product/B0055KNAH0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KNAH0&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0094898/">imdb</a>: 6,8 | Rotten Tomatoes: – | <strong>Media: 6,8</strong></p>
<h3 id="51-karate-kid-1984">51. <a href="http://www.amazon.es/gp/product/B00127195A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00127195A&amp;linkCode=as2&amp;tag=gazpachu06-21">Karate Kid</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B00127195A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00127195A&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/karate-kid_yqbmu9.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/karate-kid_yqbmu9.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/karate-kid_yqbmu9-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/karate-kid_yqbmu9-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/karate-kid_yqbmu9.jpg" alt="karate-kid" loading="lazy">
        </picture>
        <figcaption>karate-kid</figcaption>
      </figure></a></p>
<p>Daniel Larusso llega a Los Ángeles procedente de la costa Este de Estados Unidos y tiene por delante la difícil tarea de hacer nuevos amigos. Sin embargo, se convierte en el blanco de los ataques de los Cobras, un hostil grupo de estudiantes de kárate, cuando comienza a salir con Ali, la antigua novia del cabecilla del grupo. Daniel pide ayuda a Miyagi, un maestro de artes marciales, para que le enseñe kárate. Bajo la tutela de Miyagi, Daniel desarrolla no solo sus aptitudes físicas, sino también la seguridad en sí mismo que necesita para sobreponerse a todos los obstáculos.</p>
<p><a href="http://www.amazon.es/gp/product/B00127195A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00127195A&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0087538/">imdb</a>: 6,8 | <a href="http://www.rottentomatoes.com/m/karate_kid/">Rotten Tomatoes</a>: 6,8 | <strong>Media: 6,8</strong></p>
<h3 id="50-gremlins-1984">50. <a href="http://www.amazon.es/gp/product/B003Z7R418/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R418&amp;linkCode=as2&amp;tag=gazpachu06-21">Gremlins</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7R418/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R418&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/gremlins_w5lyc1.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/gremlins_w5lyc1.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/gremlins_w5lyc1-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/gremlins_w5lyc1-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/gremlins_w5lyc1.jpg" alt="gremlins" loading="lazy">
        </picture>
        <figcaption>gremlins</figcaption>
      </figure></a></p>
<p>Rand (Hoyt Axton) es un viajante que un día regala a su joven hijo Billy (Zach Galligan) un pequeño ser llamado Mogwai, una tierna y extraña criatura. El inocente regalo, sin embargo, será el origen de toda una ola de gamberradas y barbaridades en un pequeño pueblo de Estados Unidos. Todo empieza cuando las 3 reglas básicas que siempre se han de seguir para conservar el mogwai: no darle de comer después de medianoche, no mojarlo y evitar que le dé la luz del sol, son infringidas una tras otra.</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7R418/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R418&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0087363/">imdb</a>: 7,0 | <a href="http://www.rottentomatoes.com/m/gremlins/">Rotten Tomatoes</a>: 6,7 | <strong>Media: 6,85</strong></p>
<h3 id="49-romancing-the-stone--tras-el-corazón-verde-1984">49. <a href="http://www.amazon.es/gp/product/B0053C8BME/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8BME&amp;linkCode=as2&amp;tag=gazpachu06-21">Romancing the stone / Tras el corazón verde</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8BME/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8BME&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/tras-el-corazon-verde_cy8v9r.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/tras-el-corazon-verde_cy8v9r.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/tras-el-corazon-verde_cy8v9r-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/tras-el-corazon-verde_cy8v9r-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/tras-el-corazon-verde_cy8v9r.jpg" alt="tras-el-corazon-verde" loading="lazy">
        </picture>
        <figcaption>tras-el-corazon-verde</figcaption>
      </figure></a></p>
<p>Una escritora de novelas románticas, Joan Wilder, debe viajar a Colombia con un misterioso paquete para que su hermana sea liberada por unos traficantes de droga que la han secuestrado. Cuando llega al país sudamericano, alguien está a punto de asesinarla, y es salvada por Jack Colton, un aventurero que se parece demasiado al héroe protagonista de sus novelas.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8BME/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8BME&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0088011/">imdb</a>: 6,9 | <a href="http://www.rottentomatoes.com/m/romancing_the_stone/">Rotten Tomatoes</a>: 7 | <strong>Media: 6,95</strong></p>
<h3 id="48-name-der-rose-der--el-nombre-de-la-rosa-1986">48. <a href="http://www.amazon.es/gp/product/B003Z7R49A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R49A&amp;linkCode=as2&amp;tag=gazpachu06-21">Name der Rose, Der / El nombre de la rosa</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7R49A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R49A&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/name-der-rose-der_tr34uy.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/name-der-rose-der_tr34uy.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/name-der-rose-der_tr34uy-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/name-der-rose-der_tr34uy-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/name-der-rose-der_tr34uy.jpg" alt="name-der-rose-der" loading="lazy">
        </picture>
        <figcaption>name-der-rose-der</figcaption>
      </figure></a></p>
<p>Siglo XIV. Todo comienza una hermosa mañana de finales de noviembre del año del señor 1327 cuando Fray Guillermo de Baskerville (Sean Connery), un monje franciscano y antiguo inquisidor, y su inseparable discípulo el novicio Adso de Melk (Christian Slater), que es quien relata la historia, acuden a una abadía benedictina situada en el norte de la península italiana para intentar esclarecer la muerte del joven miniaturista Adelmo da Otranto. Durante su estancia en la abadía van desapareciendo misteriosamente más monjes, a quienes encuentran muertos al poco tiempo. Lentamente, y gracias a la información aportada por algunos monjes, Guillermo va esclareciendo los hechos. El móvil de los crímenes parecen ser unos antiguos tratados sobre la licitud de la risa que se encuentran en la biblioteca del complejo, de la cual se dice que es la mayor del mundo cristiano. ¿Quién es el asesino? ¿Qué hicieron sus víctimas para morir asesinadas? Nadie lo sabe…</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7R49A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R49A&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0091605/">imdb</a>: 7,8 | <a href="http://www.rottentomatoes.com/m/name_of_the_rose/">Rotten Tomatoes</a>: 6,2 | <strong>Media: 7</strong></p>
<h3 id="47-batman-1989">47. <a href="http://www.amazon.es/gp/product/B001CP4VMU/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001CP4VMU&amp;linkCode=as2&amp;tag=gazpachu06-21">Batman</a> (1989)</h3>
<p><a href="http://www.amazon.es/gp/product/B001CP4VMU/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001CP4VMU&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/batman_walloi.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/batman_walloi.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/batman_walloi-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/batman_walloi-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/batman_walloi.jpg" alt="batman" loading="lazy">
        </picture>
        <figcaption>batman</figcaption>
      </figure></a></p>
<p>Taquillera cinta basada en el héroe de comic. La oscura y peligrosa ciudad de Gotham tan solo se halla protegida por su corrupto cuerpo de policía. A pesar de los esfuerzos del fiscal del distrito Harvey Dent y el comisionado de policía Jim Gordon, la ciudad es cada vez más insegura… hasta que se alza el Señor de la Noche, Batman. La reputada periodista Vicky Vale intentará descubrir el secreto que se oculta tras la capa del hombre murciélago.</p>
<p><a href="http://www.amazon.es/gp/product/B001CP4VMU/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001CP4VMU&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0096895/">imdb</a>: 7,6 | <a href="http://www.rottentomatoes.com/m/1001781-batman/">Rotten Tomatoes</a>: 6,5 | <strong>Media: 7,05</strong></p>
<h3 id="46-unendliche-geschichte-die--la-historia-interminable-1984">46. <a href="http://www.amazon.es/gp/product/B003Z7S91W/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7S91W&amp;linkCode=as2&amp;tag=gazpachu06-21">Unendliche Geschichte, Die / La historia interminable</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7S91W/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7S91W&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/unendliche-geschichte-die_ufq9lo.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/unendliche-geschichte-die_ufq9lo.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/unendliche-geschichte-die_ufq9lo-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/unendliche-geschichte-die_ufq9lo-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/unendliche-geschichte-die_ufq9lo.jpg" alt="unendliche-geschichte-die" loading="lazy">
        </picture>
        <figcaption>unendliche-geschichte-die</figcaption>
      </figure></a></p>
<p>Escondido en el desván de su colegio, Bastian devora durante las horas de clase un libro enigmático, ”La historia interminable”, que relata la paulatina destrucción del Reino de Fantasía. Una especie de ”Nada” misteriosa destruye todo el país y a todas las criaturas que lo habitan. A medida que avanza en su lectura, Bastian se da cuenta de que la salvación de Fantasía depende de él. De que consiga entrar dentro del libro…</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7S91W/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7S91W&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0088323/">imdb</a>: 7,4 | <a href="http://www.rottentomatoes.com/m/neverending_story/">Rotten Tomatoes</a>: 6,8 | <strong>Media: 7,1</strong></p>
<h3 id="45-beetle-juice--bitelchus-1988">45. <a href="http://www.amazon.es/gp/product/B0044LT7IM/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044LT7IM&amp;linkCode=as2&amp;tag=gazpachu06-21">Beetle Juice / Bitelchus</a> (1988)</h3>
<p><a href="http://www.amazon.es/gp/product/B0044LT7IM/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044LT7IM&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/beetle-juice_z0auyk.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/beetle-juice_z0auyk.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/beetle-juice_z0auyk-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/beetle-juice_z0auyk-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/beetle-juice_z0auyk.jpg" alt="beetle-juice" loading="lazy">
        </picture>
        <figcaption>beetle-juice</figcaption>
      </figure></a></p>
<p>Un matrimonio de fantasmas (Geena Davis y Alec Baldwin) contrata los servicios de Bitelchus (Michael Keaton), un especialista en asustar mortales, para que ahuyente de la que fue su casa a los nuevos propietarios.</p>
<p><a href="http://www.amazon.es/gp/product/B0044LT7IM/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044LT7IM&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0094721/">imdb</a>: 7,3 | <a href="http://www.rottentomatoes.com/m/beetlejuice/">Rotten Tomatoes</a>: 7 | <strong>Media: 7,15</strong></p>
<h3 id="44-beverly-hills-cop--superdetective-en-hollywood-1984">44. <a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053C8E1C&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Beverly Hills Cop / Superdetective en Hollywood</a> (1984)</h3>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053C8E1C&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/superdetective-en-hollywood_fgbzl9.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/superdetective-en-hollywood_fgbzl9.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/superdetective-en-hollywood_fgbzl9-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/superdetective-en-hollywood_fgbzl9-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/superdetective-en-hollywood_fgbzl9.jpg" alt="superdetective-en-hollywood" loading="lazy">
        </picture>
        <figcaption>superdetective-en-hollywood</figcaption>
      </figure></a></p>
<p>Axel Foley es un impetuoso e inteligente detective de Detroit que sigue la pista del asesino de un amigo suyo hasta los barrios más elegantes de Beverly Hills. Pero antes de que Axel logre su objetivo, va a verse involucrado en una red internacional de contrabandistas y traficantes de droga.</p>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053C8E1C&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0086960/">imdb</a>: 7,3 | <a href="http://www.rottentomatoes.com/m/beverly_hills_cop/">Rotten Tomatoes</a>: 7,1 | <strong>Media: 7,2</strong></p>
<h3 id="43-poltergeist-1982">43. <a href="http://www.amazon.es/gp/product/B0053C9G4Q/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C9G4Q&amp;linkCode=as2&amp;tag=gazpachu06-21">Poltergeist</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C9G4Q/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C9G4Q&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/poltergeist_rqgnc4.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/poltergeist_rqgnc4.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/poltergeist_rqgnc4-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/poltergeist_rqgnc4-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/poltergeist_rqgnc4.jpg" alt="poltergeist" loading="lazy">
        </picture>
        <figcaption>poltergeist</figcaption>
      </figure></a></p>
<p>Una familia americana de clase media se traslada a vivir e una nueva casa en un aparentemente idílico barrio, pero dentro de la casa comienzan a suceder cosas extrañas, fenómenos paranormales para los que no hay explicación posible…</p>
<p><a href="http://www.amazon.es/gp/product/B0053C9G4Q/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C9G4Q&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0084516/">imdb</a>: 7,4 | <a href="http://www.rottentomatoes.com/m/poltergeist/">Rotten Tomatoes</a>: 7 | <strong>Media: 7,2</strong></p>
<h3 id="42-empire-of-the-sun--el-imperio-del-sol-1987">42. <a href="http://www.amazon.es/gp/product/B0051SUXE4/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0051SUXE4&amp;linkCode=as2&amp;tag=gazpachu06-21">Empire of the Sun / El imperio del sol</a> (1987)</h3>
<p><a href="http://www.amazon.es/gp/product/B0051SUXE4/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0051SUXE4&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-of-the-sun_gdymf7.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-of-the-sun_gdymf7.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-of-the-sun_gdymf7-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-of-the-sun_gdymf7-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/empire-of-the-sun_gdymf7.jpg" alt="empire-of-the-sun" loading="lazy">
        </picture>
        <figcaption>empire-of-the-sun</figcaption>
      </figure></a></p>
<p>James Graham es un niño británico de clase alta cuya vida privilegiada toca a su fin con la llegada del ejército japonés a Shanghai, en diciembre de 1941. Separado de sus padres, es confinado en el campo de concentración de Soo Chow, cerca de un aeropuerto militar chino. En medio de la tristeza y desnutrición que reina en el lugar, Jim aprenderá a madurar hasta ver la vida de una forma completamente diferente.</p>
<p><a href="http://www.amazon.es/gp/product/B0051SUXE4/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0051SUXE4&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0092965/">imdb</a>: 7,7 | <a href="http://www.rottentomatoes.com/m/empire_of_the_sun/">Rotten Tomatoes</a>: 6,7 | <strong>Media: 7,2</strong></p>
<h3 id="41-wargames--juegos-de-guerra-1983">41. <a href="http://www.amazon.es/gp/product/B0055KLYQY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLYQY&amp;linkCode=as2&amp;tag=gazpachu06-21">WarGames / Juegos de guerra</a> (1983)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KLYQY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLYQY&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/wargames_l5sdkr.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/wargames_l5sdkr.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/wargames_l5sdkr-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/wargames_l5sdkr-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/wargames_l5sdkr.jpg" alt="wargames" loading="lazy">
        </picture>
        <figcaption>wargames</figcaption>
      </figure></a></p>
<p>David es un joven conocedor de todo lo referente a la informática: se salta los más avanzados sistemas de seguridad, consigue los más sofisticados códigos secretos y entiende la informática como un juego. Pero el juego se complica cuando inconscientemente conecta su ordenador personal al del Departamento de Defensa americano, encargado del sistema de defensa nuclear, desencadenando una situación de peligro de proporciones incontrolables. Ayudado por su novia y por un “genio” de los ordenadores, tendrá que luchar contra el tiempo y evitar el mayor conflicto mundial de todos los tiempos: la Tercera Guerra Mundial.</p>
<p><a href="http://www.amazon.es/gp/product/B0055KLYQY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLYQY&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0086567/">imdb</a>: 7 | <a href="http://www.rottentomatoes.com/m/wargames/">Rotten Tomatoes</a>: 7,4 | <strong>Media: 7,2</strong></p>
<h3 id="40-the-abyss-1989">40. <a href="http://www.amazon.es/gp/product/B0053C886S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C886S&amp;linkCode=as2&amp;tag=gazpachu06-21">The Abyss</a> (1989)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C886S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C886S&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-abyss_bxccgz.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-abyss_bxccgz.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-abyss_bxccgz-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-abyss_bxccgz-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-abyss_bxccgz.jpg" alt="the-abyss" loading="lazy">
        </picture>
        <figcaption>the-abyss</figcaption>
      </figure></a></p>
<p>La tripulación civil de una instalación petrolífera es contratada por la marina norteamericana para conducir una operación de rescate de un submarino nuclear atrapado en el fondo del mar, en misteriosas circunstancias, al borde de una grieta abisal de varios kilómetros de profundidad.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C886S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C886S&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0096754/">imdb</a>: 7,5 | <a href="http://www.rottentomatoes.com/m/abyss/">Rotten Tomatoes</a>: 6,9 | <strong>Media: 7,2</strong></p>
<h3 id="39-indiana-jones-and-the-temple-of-doom--indiana-jones-y-el-templo-maldito-1984">39. <a href="http://www.amazon.es/gp/product/B0053CA028/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA028&amp;linkCode=as2&amp;tag=gazpachu06-21">Indiana Jones and the Temple of Doom / Indiana Jones y el templo maldito</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053CA028/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA028&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/temple-of-doom_whjl6a.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/temple-of-doom_whjl6a.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/temple-of-doom_whjl6a-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/temple-of-doom_whjl6a-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/temple-of-doom_whjl6a.jpg" alt="temple-of-doom" loading="lazy">
        </picture>
        <figcaption>temple-of-doom</figcaption>
      </figure></a></p>
<p>Año 1935. Shanghai. El intrépido arqueólogo Indiana Jones, tras meterse en jaleos en un local nocturno, consigue escapar, junto a una bella cantante, en compañía de su joven acompañante, un chico oriental con el que siempre está discutiendo. Tras un accidentado vuelo, los tres acaban en la India, donde intentarán ayudar a los habitantes de un pequeño poblado, cuyos niños han sido raptados.</p>
<p><a href="http://www.amazon.es/gp/product/B0053CA028/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA028&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0087469/">imdb</a>: 7,4 | <a href="http://www.rottentomatoes.com/m/indiana_jones_and_the_temple_of_doom/">Rotten Tomatoes</a>: 7,2 | <strong>Media: 7,3</strong></p>
<h3 id="38-star-wars-vi--return-of-the-jedi--star-wars-vi--el-retorno-del-jedi-1983">38. <a href="http://www.amazon.es/gp/product/B0053C97MC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C97MC&amp;linkCode=as2&amp;tag=gazpachu06-21">Star Wars VI – Return of the Jedi / Star Wars VI – El Retorno del Jedi</a> (1983)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C97MC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C97MC&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/return-of-the-jedi2_mhozt4.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/return-of-the-jedi2_mhozt4.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/return-of-the-jedi2_mhozt4-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/return-of-the-jedi2_mhozt4-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/return-of-the-jedi2_mhozt4.jpg" alt="return-of-the-jedi2" loading="lazy">
        </picture>
        <figcaption>return-of-the-jedi2</figcaption>
      </figure></a></p>
<p>Luke Skywalker y la princesa Leia deben viajar a Tatooine para liberar a Han Solo. Para conseguirlo, deben infiltrarse en la peligrosa guarida de Jabba the Hutt, el gángster más temido de la galaxia. Una vez reunidos, el equipo recluta a tribus de Ewoks para combatir a las fuerzas imperiales en los bosques de la luna de Endor. Mientras tanto, el Emperador y Darth Vader conspiran para convertir a Luke al lado oscuro, pero el joven Skywalker, por su parte, está decidido a reavivar el espíritu del Jedi en su padre. La guerra civil galáctica culmina en un último enfrentamiento entre las fuerzas rebeldes unificadas y una segunda Estrella de la Muerte, indefensa e incompleta, en una batalla que decidirá el destino de la galaxia.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C97MC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C97MC&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0086190/">imdb</a>: 8,3 | <a href="http://www.rottentomatoes.com/m/return_of_the_jedi/">Rotten Tomatoes</a>: 6,6 | <strong>Media: 7,45</strong></p>
<h3 id="37-lethal-weapon--arma-letal-1987">37. <a href="http://www.amazon.es/gp/product/B0053C8A48/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8A48&amp;linkCode=as2&amp;tag=gazpachu06-21">Lethal Weapon / Arma letal</a> (1987)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8A48/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8A48&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/arma-letal_kux2hv.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/arma-letal_kux2hv.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/arma-letal_kux2hv-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/arma-letal_kux2hv-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/arma-letal_kux2hv.jpg" alt="arma-letal" loading="lazy">
        </picture>
        <figcaption>arma-letal</figcaption>
      </figure></a></p>
<p>Martin Riggs es un policía de Los Ángeles con tendencias suicidas. Roger Murtaugh es un maduro y responsable policía, padre de familia, que ha sido asignado junto a Riggs. Juntos intentarán desmantelar una operación de contrabando de droga al tiempo que, a pesar de sus diferentes caracteres, se harán buenos amigos.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8A48/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8A48&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0093409/">imdb</a>: 7,6 | <a href="http://www.rottentomatoes.com/m/lethal_weapon/">Rotten Tomatoes</a>: 7,3 | <strong>Media: 7,45</strong></p>
<h3 id="36-tootsie-1982">36. <a href="http://www.amazon.es/gp/product/B00BLG0SJA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00BLG0SJA&amp;linkCode=as2&amp;tag=gazpachu06-21">Tootsie</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B00BLG0SJA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00BLG0SJA&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/tootsie_fvzacu.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/tootsie_fvzacu.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/tootsie_fvzacu-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/tootsie_fvzacu-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/tootsie_fvzacu.jpg" alt="tootsie" loading="lazy">
        </picture>
        <figcaption>tootsie</figcaption>
      </figure></a></p>
<p>Michael Dorsey es un actor neoyorkino que aún no ha conseguido el reconocimiento con un buen papel. Además, en determinados círculos artísticos arrastra fama de “difícil” personalidad. Como su mala racha no se acaba, un día toma una importante decisión: hacerse pasar por una mujer y tratar de encontrar una oportunidad. Consigue un papel, pero su nueva identidad le traerá no pocas complicaciones en su vida diaria.</p>
<p><a href="http://www.amazon.es/gp/product/B00BLG0SJA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00BLG0SJA&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0084805/">imdb</a>: 7,4 | <a href="http://www.rottentomatoes.com/m/tootsie/">Rotten Tomatoes</a>: 7,6 | <strong>Media: 7,5</strong></p>
<h3 id="35-dead-poets-society--el-club-de-los-poetas-muertos-1989">35. <a href="http://www.amazon.es/gp/product/B003Z7S034/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7S034&amp;linkCode=as2&amp;tag=gazpachu06-21">Dead Poets Society / El club de los poetas muertos</a> (1989)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7S034/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7S034&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/dead-poets-society_psnpls.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/dead-poets-society_psnpls.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/dead-poets-society_psnpls-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/dead-poets-society_psnpls-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/dead-poets-society_psnpls.jpg" alt="dead-poets-society" loading="lazy">
        </picture>
        <figcaption>dead-poets-society</figcaption>
      </figure></a></p>
<p>Un grupo de alumnos de un estricto colegio privado descubrirán la poesía, el significado de “Carpe Diem” -aprovechar el momento- y la importancia de perseguir los sueños gracias a un excéntrico profesor de métodos poco convencionales que les despierta las mentes.</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7S034/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7S034&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0097165/">imdb</a>: 7,8 | <a href="http://www.rottentomatoes.com/m/dead_poets_society/">Rotten Tomatoes</a>: 7,2 | <strong>Media: 7,5</strong></p>
<h3 id="34-akira-1988">34. <a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053CBNYC&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Akira</a> (1988)</h3>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053CBNYC&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/akira_tprwyp.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/akira_tprwyp.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/akira_tprwyp-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/akira_tprwyp-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/akira_tprwyp.jpg" alt="akira" loading="lazy">
        </picture>
        <figcaption>akira</figcaption>
      </figure></a></p>
<p>Año 2019. Neo-Tokyo, una ciudad construida sobre la antigua capital japonesa destruida tras la Tercera Guerra Mundial. Japón es un país al borde del colapso enfrentado en continuas crisis políticas. En secreto, un equipo de científicos ha reactivado por orden del ejército un experimento para encontrar a sujetos que puedan controlar el arma definitiva: una fuerza denominada “la energía absoluta”. Pero los habitantes de Neo-Tokyo tienen otras cosas de las que preocuparse. Uno de ellos es Kaneda, un joven pandillero líder de una banda de motoristas. Durante una pelea, su mejor amigo, Tetsuo, sufre un extraño accidente y termina ingresado en unas instalaciones militares. Allí los científicos descubrirán que es el poseedor de la energía absoluta. Pero Tetsuo no se resignará a convertirse en un conejillo de indias… y muy pronto se convertirá en la amenaza más grande que el mundo ha conocido.</p>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053CBNYC&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0094625/">imdb</a>: 7,8 | <a href="http://www.rottentomatoes.com/m/akira/">Rotten Tomatoes</a>: 7,3 | <strong>Media: 7,55</strong></p>
<h3 id="33-the-thing--la-cosa-1982">33. <a href="http://www.amazon.es/gp/product/B00750FPN0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00750FPN0&amp;linkCode=as2&amp;tag=gazpachu06-21">The thing / La cosa</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B00750FPN0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00750FPN0&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/la-cosa_mqck1l.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/la-cosa_mqck1l.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/la-cosa_mqck1l-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/la-cosa_mqck1l-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/la-cosa_mqck1l.jpg" alt="la-cosa" loading="lazy">
        </picture>
        <figcaption>la-cosa</figcaption>
      </figure></a></p>
<p>En una estación experimental de la Antártida, un equipo de investigadores descubre a un ente extraño venido del espacio, que ha permanecido enterrado en la nieve durante más de 100.000 años. Al descongelarse el ser... Se provoca el caos y el terror al mudar de forma y convertirse en uno de los investigadores.</p>
<p><a href="http://www.amazon.es/gp/product/B00750FPN0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00750FPN0&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0084787/">imdb</a>: 8,1 | <a href="http://www.rottentomatoes.com/m/1021244-thing/">Rotten Tomatoes</a>: 7 | <strong>Media: 7,55</strong></p>
<h3 id="32-robocop-1987">32. <a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053CB5SG&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">RoboCop</a> (1987)</h3>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053CB5SG&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/robocop_btikrq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/robocop_btikrq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/robocop_btikrq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/robocop_btikrq-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/robocop_btikrq.jpg" alt="robocop" loading="lazy">
        </picture>
        <figcaption>robocop</figcaption>
      </figure></a></p>
<p>En un futuro no muy lejano, Alex J. Murphy, agente de policía de Detroit, es asesinado en acto de servicio. Con el fin de frenar la delincuencia en la ciudad, las autoridades aprueban la creación de una máquina letal, mitad robot, mitad hombre, a la que llaman Robocop. Para su fabricación, utilizan el cuerpo de Murphy. El experimento parece un éxito, pero la memoria del policía no está del todo destruida e inicia una cruel venganza de los tipos que lo asesinaron.</p>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B0053CB5SG&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0093870/">imdb</a>: 7,5 | <a href="http://www.rottentomatoes.com/m/robocop/">Rotten Tomatoes</a>: 7,7 | <strong>Media: 7,6</strong></p>
<h3 id="31-ghost-busters--cazafantasmas-1984">31. <a href="http://www.amazon.es/gp/product/B0055KLSKQ/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLSKQ&amp;linkCode=as2&amp;tag=gazpachu06-21">Ghost Busters / Cazafantasmas</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KLSKQ/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLSKQ&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/ghost-busters_umhbur.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/ghost-busters_umhbur.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/ghost-busters_umhbur-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/ghost-busters_umhbur-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/ghost-busters_umhbur.jpg" alt="ghost-busters" loading="lazy">
        </picture>
        <figcaption>ghost-busters</figcaption>
      </figure></a></p>
<p>Los Drs. Venkman, Stantz y Epengler, son tres doctores en parapsicología que se quedan sin empleo tras quedar excluidos de una beca universitaria de investigación. Entonces deciden formar la empresa “Los Cazafantasmas”, dedicada a limpiar Nueva York de ectoplasmas. El aumento repentino de apariciones espectrales en la Gran Manzana será el presagio de la llegada de un peligroso y poderoso demonio.</p>
<p><a href="http://www.amazon.es/gp/product/B0055KLSKQ/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLSKQ&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0087332/">imdb</a>: 7,7 | <a href="http://www.rottentomatoes.com/m/ghostbusters/">Rotten Tomatoes</a>: 7,6 | <strong>Media: 7,65</strong></p>
<h3 id="30-the-breakfast-club--el-club-de-los-cinco-1985">30. <a href="http://www.amazon.es/gp/product/B009QZSVG0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B009QZSVG0&amp;linkCode=as2&amp;tag=gazpachu06-21">The Breakfast Club / El club de los cinco</a> (1985)</h3>
<p><a href="http://www.amazon.es/gp/product/B009QZSVG0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B009QZSVG0&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-breakfast-club_kvmryy.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-breakfast-club_kvmryy.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-breakfast-club_kvmryy-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-breakfast-club_kvmryy-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-breakfast-club_kvmryy.jpg" alt="the-breakfast-club" loading="lazy">
        </picture>
        <figcaption>the-breakfast-club</figcaption>
      </figure></a></p>
<p>Cinco estudiantes de distinta educación, formación y gustos son castigados a pasar un sábado en el instituto en el que estudian. Pronto las desavenencias entre ellos aparecen, especialmente cuando el director que les vigila se ausenta del aula… Comedia juvenil de culto de los años ochenta.</p>
<p><a href="http://www.amazon.es/gp/product/B009QZSVG0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B009QZSVG0&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0088847/">imdb</a>: 7,8 | <a href="http://www.rottentomatoes.com/m/breakfast_club/">Rotten Tomatoes</a>: 7,5 | <strong>Media: 7,65</strong></p>
<h3 id="29-ferris-buellers-day-off--todo-en-un-día-1986">29. <a href="http://www.amazon.es/gp/product/B000ERVG6G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B000ERVG6G&amp;linkCode=as2&amp;tag=gazpachu06-21">Ferris Bueller’s day off / Todo en un día</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B000ERVG6G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B000ERVG6G&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/ferris-bueller_bl5wlt.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/ferris-bueller_bl5wlt.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/ferris-bueller_bl5wlt-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/ferris-bueller_bl5wlt-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/ferris-bueller_bl5wlt.jpg" alt="ferris-bueller" loading="lazy">
        </picture>
        <figcaption>ferris-bueller</figcaption>
      </figure></a></p>
<p>Un joven de 17 años decide darse unas vacaciones anticipadas aprovechando la ausencia de sus padres. Prepara un día minuciosamente dedicado enteramente a hacer todo aquello que normalmente no puede hacer. Para ello contará, por supuesto, con la compañía de su mejor amigo y su novia.</p>
<p><a href="http://www.amazon.es/gp/product/B000ERVG6G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B000ERVG6G&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0091042/">imdb</a>: 7,9 | <a href="http://www.rottentomatoes.com/m/ferris_buellers_day_off/">Rotten Tomatoes</a>: 7,5 | <strong>Media: 7,7</strong></p>
<h3 id="28-scarface--el-precio-del-poder-1983">28. <a href="http://www.amazon.es/gp/product/B0086R0IWE/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0086R0IWE&amp;linkCode=as2&amp;tag=gazpachu06-21">Scarface / El precio del poder</a> (1983)</h3>
<p><a href="http://www.amazon.es/gp/product/B0086R0IWE/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0086R0IWE&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/scarface_fa8gf7.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/scarface_fa8gf7.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/scarface_fa8gf7-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/scarface_fa8gf7-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/scarface_fa8gf7.jpg" alt="scarface" loading="lazy">
        </picture>
        <figcaption>scarface</figcaption>
      </figure></a></p>
<p>Un emigrante cubano frío y sanguinario, Tony Montana, llega de Cuba para instalarse en Miami, donde se propone hacerse con un nombre dentro del crimen organizado de Florida. Junto a su amigo, Manny Rivera, inicia una fulgurante carrera delictiva con el objetivo de ascender a la cúpula de una organización de narcos.</p>
<p><a href="http://www.amazon.es/gp/product/B0086R0IWE/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0086R0IWE&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0086250/">imdb</a>: 8,1 | <a href="http://www.rottentomatoes.com/m/1018324-scarface/">Rotten Tomatoes</a>: 7,4 | <strong>Media: 7,75</strong></p>
<h3 id="27-rain-man-1988">27. <a href="http://www.amazon.es/gp/product/B0055KOT3O/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KOT3O&amp;linkCode=as2&amp;tag=gazpachu06-21">Rain Man</a> (1988)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KOT3O/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KOT3O&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/rain-man_hab4hn.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/rain-man_hab4hn.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/rain-man_hab4hn-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/rain-man_hab4hn-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/rain-man_hab4hn.jpg" alt="rain-man" loading="lazy">
        </picture>
        <figcaption>rain-man</figcaption>
      </figure></a></p>
<p>Charlie Babbitt (Tom Cruise), un joven egoísta que espera heredar una fortuna de su difunto padre, se entera de que el beneficiario será su desconocido hermano Raymond (Dustin Hoffman), un hombre autista con una habilidad especial para ciertos temas relacionado con la memoria y los números. Al principio desconcertado por sus comportamientos, Charlie aprenderá a conocer a su hermano durante un viaje juntos atravesando los Estados Unidos.</p>
<p><a href="http://www.amazon.es/gp/product/B0055KOT3O/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KOT3O&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0095953/">imdb</a>: 8,0 | <a href="http://www.rottentomatoes.com/m/rain_man/">Rotten Tomatoes</a>: 7,6 | <strong>Media: 7,8</strong></p>
<h3 id="26-gandhi-1982">26. <a href="http://www.amazon.es/gp/product/B0044XKXD8/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044XKXD8&amp;linkCode=as2&amp;tag=gazpachu06-21">Gandhi</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B0044XKXD8/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044XKXD8&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/gandhi_wyaqiq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/gandhi_wyaqiq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/gandhi_wyaqiq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/gandhi_wyaqiq-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/gandhi_wyaqiq.jpg" alt="gandhi" loading="lazy">
        </picture>
        <figcaption>gandhi</figcaption>
      </figure></a></p>
<p>Narra la vida de Mahatma Gandhi, desde sus inicios como abogado en Suráfrica hasta convertirse en el famoso líder en la India. Tras defender los derechos de los ciudadanos de origen no europeo en Sudáfrica, decide que los hindúes se han convertido en ciudadanos de segunda clase en su propia tierra y consigue hacer sublevarse al pueblo hindú del régimen del Imperio Británico mediante la doctrina de la no-violencia.</p>
<p><a href="http://www.amazon.es/gp/product/B0044XKXD8/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0044XKXD8&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0083987/">imdb</a>: 8,2 | <a href="http://www.rottentomatoes.com/m/gandhi/">Rotten Tomatoes</a>: 7,6 | <strong>Media: 7,9</strong></p>
<h3 id="25-et-the-extra-terrestrial--et-el-extraterrestre-1982">25. <a href="http://www.amazon.es/gp/product/B0053C8M7S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8M7S&amp;linkCode=as2&amp;tag=gazpachu06-21">E.T. the Extra-Terrestrial / E.T. El extraterrestre</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8M7S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8M7S&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/et-the-extra-terrestrial_xsqvok.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/et-the-extra-terrestrial_xsqvok.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/et-the-extra-terrestrial_xsqvok-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/et-the-extra-terrestrial_xsqvok-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/et-the-extra-terrestrial_xsqvok.jpg" alt="et-the-extra-terrestrial" loading="lazy">
        </picture>
        <figcaption>et-the-extra-terrestrial</figcaption>
      </figure></a></p>
<p>Un pequeño visitante de otro planeta se queda en la Tierra cuando su nave se marcha olvidándose de él. Tiene miedo. Está completamente solo. Está a 3.000.000 de años luz de su casa. Aquí se hará amigo de un niño, que lo esconde y lo protege en su casa. Juntos intentarán encontrar la forma de que el pequeño extraterrestre regrese a su planeta… antes de que los científicos y la policía de la Tierra lo encuentre.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8M7S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8M7S&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0083866/">imdb</a>: 7,9 | Rotten Tomatoes: – | <strong>Media: 7,9</strong></p>
<h3 id="24-mad-max-2-1981">24. <a href="http://www.amazon.es/gp/product/B0053C8FKW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8FKW&amp;linkCode=as2&amp;tag=gazpachu06-21">Mad Max 2</a> (1981)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8FKW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8FKW&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/mad-max-2_rrampt.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/mad-max-2_rrampt.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/mad-max-2_rrampt-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/mad-max-2_rrampt-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/mad-max-2_rrampt.jpg" alt="mad-max-2" loading="lazy">
        </picture>
        <figcaption>mad-max-2</figcaption>
      </figure></a></p>
<p>Tras el holocausto nuclear, la gasolina se ha convertido en un bien escaso y muy codiciado. Mad Max, héroe solitario, inicia una lucha sin cuartel para ayudar a una colonia de supervivientes constantemente atacada por un grupo de violentos guerreros que intenta arrebatarle un tanque de gasolina. Max decide ayudar a los defensores del tanque utilizando un enorme camión como trampa. La banda de guerreros persigue al camión, pensando que transporta miles de litros de gasolina.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8FKW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8FKW&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0082694/">imdb</a>: 7,6 | <a href="http://www.rottentomatoes.com/m/road_warrior/">Rotten Tomatoes</a>: 8,3 | <strong>Media: 7,95</strong></p>
<h3 id="23-stand-by-me--cuenta-conmigo-1986">23. <a href="http://www.amazon.es/gp/product/B003Z7RCHO/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RCHO&amp;linkCode=as2&amp;tag=gazpachu06-21">Stand by me / Cuenta conmigo</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7RCHO/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RCHO&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/cuenta-conmig_zefswb.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/cuenta-conmig_zefswb.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/cuenta-conmig_zefswb-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/cuenta-conmig_zefswb-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/cuenta-conmig_zefswb.jpg" alt="cuenta-conmig" loading="lazy">
        </picture>
        <figcaption>cuenta-conmig</figcaption>
      </figure></a></p>
<p>En un pequeño pueblo de Oregón, cuatro jóvenes amigos salen de la ciudad y emprenden una aventura en busca de un muchacho desaparecido. Jugando a ser héroes, el sentimental Gordie, el rudo Chris, el extravagante Teddy y el miedoso Vern se encaminan en medio de un ambiente hostil en el que deberán valerse por sí mismos…</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7RCHO/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RCHO&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0092005/">imdb</a>: 8,2 | <a href="http://www.rottentomatoes.com/m/1019794-stand_by_me/">Rotten Tomatoes</a>: 7,7 | <strong>Media: 8</strong></p>
<h3 id="22-airplane--aterriza-como-puedas-1980">22. <a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B006YSTOLS&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Airplane! / Aterriza como puedas</a> (1980)</h3>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B006YSTOLS&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/aterriza-como-puedas_sb4o45.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/aterriza-como-puedas_sb4o45.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/aterriza-como-puedas_sb4o45-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/aterriza-como-puedas_sb4o45-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/aterriza-como-puedas_sb4o45.jpg" alt="aterriza-como-puedas" loading="lazy">
        </picture>
        <figcaption>aterriza-como-puedas</figcaption>
      </figure></a></p>
<p>El vuelo 209 de la Trans American sale de Los Ángeles con destino a Chicago. Entre el pasaje se encuentran una serie de curiosos personajes. Entre ellos, un ex-piloto de combate que, en pleno vuelo, se verá obligado a hacerse con el mando del avión comercial, tras quedar los pilotos indispuestos por una comida en mal estado.</p>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B006YSTOLS&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0080339/">imdb</a>: 7,8 | <a href="http://www.rottentomatoes.com/m/airplane/">Rotten Tomatoes</a>: 8,3 | <strong>Media: 8,05</strong></p>
<h3 id="21-paris-texas-1984">21. <a href="http://www.amazon.es/gp/product/B0015FWJSK/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0015FWJSK&amp;linkCode=as2&amp;tag=gazpachu06-21">Paris, Texas</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B0015FWJSK/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0015FWJSK&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/paris-texas_eyyihc.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/paris-texas_eyyihc.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/paris-texas_eyyihc-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/paris-texas_eyyihc-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/paris-texas_eyyihc.jpg" alt="paris-texas" loading="lazy">
        </picture>
        <figcaption>paris-texas</figcaption>
      </figure></a></p>
<p>En la frontera mexicana, un hombre inicia una exhaustiva búsqueda de su esposa y su hijo.</p>
<p><a href="http://www.amazon.es/gp/product/B0015FWJSK/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0015FWJSK&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0087884/">imdb</a>: 7,9 | <a href="http://www.rottentomatoes.com/m/paris_texas/">Rotten Tomatoes</a>: 8,2 | <strong>Media: 8,05</strong></p>
<h3 id="20-platoon-1986">20. <a href="http://www.amazon.es/gp/product/B0053C8VLA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8VLA&amp;linkCode=as2&amp;tag=gazpachu06-21">Platoon</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8VLA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8VLA&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/platoon_ipehnb.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/platoon_ipehnb.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/platoon_ipehnb-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/platoon_ipehnb-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/platoon_ipehnb.jpg" alt="platoon" loading="lazy">
        </picture>
        <figcaption>platoon</figcaption>
      </figure></a></p>
<p>Un joven soldado norteamericano es enviado a la frontera entre Vietnam y Camboya para incorporarse a un pelotón que se encuentra allí destacado. Al poco de llegar, descubre la crueldad que supone esta guerra, y no sólo por los duros enfrentamientos con el enemigo, sino por las relaciones entre los propios compañeros.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8VLA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8VLA&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0091763/">imdb</a>: 8,2 | <a href="http://www.rottentomatoes.com/m/platoon/">Rotten Tomatoes</a>: 8 | <strong>Media: 8,1</strong></p>
<h3 id="19-nuovo-cinema-paradiso-1988">19. <a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B004USINAM&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Nuovo cinema Paradiso</a> (1988)</h3>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B004USINAM&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/nuovo-cinema-paradiso_megon9.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/nuovo-cinema-paradiso_megon9.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/nuovo-cinema-paradiso_megon9-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/nuovo-cinema-paradiso_megon9-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/nuovo-cinema-paradiso_megon9.jpg" alt="nuovo-cinema-paradiso" loading="lazy">
        </picture>
        <figcaption>nuovo-cinema-paradiso</figcaption>
      </figure></a></p>
<p>Frente a la demolición de un viejo cine, un maduro y afamado realizador rememora su infancia y los momentos allí vividos en compañía del entrañable encargado del local. Desarrollada con ritmo ágil, interpretada de forma magistral y ambientada por una banda sonora inolvidable, la película emociona sin remedio y alcanza su clímax en un soberbio final que supone un homenaje a la historia del cine y una cita con nuestras lágrimas más sinceras.</p>
<p><a href="http://rcm-eu.amazon-adsystem.com/e/cm?t=gazpachu06-21&amp;o=30&amp;p=8&amp;l=as1&amp;asins=B004USINAM&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0095765/">imdb</a>: 8,4 | <a href="http://www.rottentomatoes.com/m/cinema_paradiso_directors_cut/">Rotten Tomatoes</a>: 7,9 | <strong>Media: 8,15</strong></p>
<h3 id="18-the-shining--el-resplandor-1980">18. <a href="http://www.amazon.es/gp/product/B0055KLSJC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLSJC&amp;linkCode=as2&amp;tag=gazpachu06-21">The Shining / El resplandor</a> (1980)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KLSJC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLSJC&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-shining_gvinpj.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-shining_gvinpj.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-shining_gvinpj-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-shining_gvinpj-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-shining_gvinpj.jpg" alt="the-shining" loading="lazy">
        </picture>
        <figcaption>the-shining</figcaption>
      </figure></a></p>
<p>Jack Torrance se traslada, junto a su mujer y a su hijo, al impresionante hotel Overlook, en Colorado, para encargarse del mantenimiento del mismo durante la temporada invernal, en la que permanece cerrado y aislado por la nieve. Su idea es escribir su novela al tiempo que cuida de las instalaciones durante esos largos y soliarios meses de invierno, pero desde su llegada al hotel, Jack comienza a padecer inquietantes transtornos de personalidad, al mismo tiempo que en el lugar comienzan a suceder diversos fenómenos paranormales.</p>
<p><a href="http://www.amazon.es/gp/product/B0055KLSJC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLSJC&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0081505/">imdb</a>: 8,5 | <a href="http://www.rottentomatoes.com/m/shining/">Rotten Tomatoes</a>: 7,8 | <strong>Media: 8,15</strong></p>
<h3 id="17-blade-runner-1982">17. <a href="http://www.amazon.es/gp/product/B003Z7QVRG/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7QVRG&amp;linkCode=as2&amp;tag=gazpachu06-21">Blade Runner</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7QVRG/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7QVRG&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/blade-runner_yhvbqz.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/blade-runner_yhvbqz.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/blade-runner_yhvbqz-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/blade-runner_yhvbqz-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/blade-runner_yhvbqz.jpg" alt="blade-runner" loading="lazy">
        </picture>
        <figcaption>blade-runner</figcaption>
      </figure></a></p>
<p>A principios del siglo XXI, la poderosa Tyrell Corporation desarrolló un nuevo tipo de robot llamado Nexus, un ser virtualmente idéntico al hombre y conocido como Replicante. Los Replicantes Nexus-6 eran superiores en fuerza y agilidad, y al menos iguales en inteligencia, a los ingenieros de genética que los crearon. En el espacio exterior, los Replicantes fueron usados como trabajadores esclavos en la arriesgada exploración y colonización de otros planetas. Después de la sangrienta rebelión de un equipo de combate de Nexus-6 en una colonia sideral, los Replicantes fueron declarados proscritos en la Tierra bajo pena de muerte. Brigadas de policías especiales, con el nombre de Unidades de Blade Runners, tenían órdenes de tirar a matar al ver a cualquier Replicante invasor. A esto no se le llamaba ejecución, se le llamaba retiro.</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7QVRG/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7QVRG&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0083658/">imdb</a>: 8,3 | <a href="http://www.rottentomatoes.com/m/blade_runner/">Rotten Tomatoes</a>: 8,1 | <strong>Media: 8,2</strong></p>
<h3 id="16-brazil-1985">16. <a href="http://www.amazon.es/gp/product/B003Z7RP8A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RP8A&amp;linkCode=as2&amp;tag=gazpachu06-21">Brazil</a> (1985)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7RP8A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RP8A&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/brazil_j8iez4.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/brazil_j8iez4.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/brazil_j8iez4-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/brazil_j8iez4-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/brazil_j8iez4.jpg" alt="brazil" loading="lazy">
        </picture>
        <figcaption>brazil</figcaption>
      </figure></a></p>
<p>En un extraño y deprimente universo futurista donde reinan las máquinas, una mosca cae dentro de un ordenador y cambia el apellido del guerrillero Harry Tuttle (Robert de Niro) por el del tranquilo padre de familia Harry Buttle, que es detenido por el complejo aparato represor del Estado y muere en sus manos. El tranquilo burócrata Sam Lowry (Jonathan Pryce) es el encargado de devolver un talón a la familia de la víctima, pero al hacerlo conoce a Jill Layton (Kim Greist), la mujer de sus sueños, y, mientras la persigue, se encuentra, hace amistad y se convierte en cómplice de Harry Tuttle.</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7RP8A/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7RP8A&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0088846/">imdb</a>: 8,0 | <a href="http://www.rottentomatoes.com/m/1003033-brazil/">Rotten Tomatoes</a>: 8,5 | <strong>Media: 8,25</strong></p>
<h3 id="15-die-hard--la-jungla-de-cristal-1988">15. <a href="http://www.amazon.es/gp/product/B0053C8HBY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8HBY&amp;linkCode=as2&amp;tag=gazpachu06-21">Die Hard / La jungla de cristal</a> (1988)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8HBY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8HBY&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/die-hard_g8yun7.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/die-hard_g8yun7.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/die-hard_g8yun7-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/die-hard_g8yun7-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/die-hard_g8yun7.jpg" alt="die-hard" loading="lazy">
        </picture>
        <figcaption>die-hard</figcaption>
      </figure></a></p>
<p>En lo alto de la ciudad de Los Ángeles un grupo armado terrorista se ha apoderado de un edificio tomando a un grupo de personas como rehenes. Solo un hombre, el policía John McClane (Bruce Willis), ha conseguido escapar del acoso terrorista. Está solo, pero mantendrá una lucha feroz y agotadora contra los secuestradores. Es la única esperanza para los rehenes…</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8HBY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8HBY&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0095016/">imdb</a>: 8,3 | <a href="http://www.rottentomatoes.com/m/die_hard/">Rotten Tomatoes</a>: 8,2 | <strong>Media: 8,25</strong></p>
<h3 id="14-full-metal-jacket--la-chaqueta-metálica-1987">14. <a href="http://www.amazon.es/gp/product/B0053C8A2K/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8A2K&amp;linkCode=as2&amp;tag=gazpachu06-21">Full Metal Jacket / La chaqueta metálica</a> (1987)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C8A2K/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8A2K&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/full-metal-jacket_hqoksv.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/full-metal-jacket_hqoksv.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/full-metal-jacket_hqoksv-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/full-metal-jacket_hqoksv-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/full-metal-jacket_hqoksv.jpg" alt="full-metal-jacket" loading="lazy">
        </picture>
        <figcaption>full-metal-jacket</figcaption>
      </figure></a></p>
<p>Un grupo de reclutas se prepara en Parish Island, centro de entrenamiento de la marina Norteamericana. Allí está el sargento Hartmann, duro e implacable, cuya única misión en la vida es endurecer el cuerpo y el alma de los novatos, para que puedan defenderse del enemigo. Pero no todos los jóvenes soportan igual sus métodos…</p>
<p><a href="http://www.amazon.es/gp/product/B0053C8A2K/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C8A2K&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0093058/">imdb</a>: 8,3 | <a href="http://www.rottentomatoes.com/m/full_metal_jacket/">Rotten Tomatoes</a>: 8,2 | <strong>Media: 8,25</strong></p>
<h3 id="13-the-terminator-1984">13. <a href="http://www.amazon.es/gp/product/B0053C80PC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C80PC&amp;linkCode=as2&amp;tag=gazpachu06-21">The Terminator</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053C80PC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C80PC&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/terminator_wps2kb.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/terminator_wps2kb.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/terminator_wps2kb-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/terminator_wps2kb-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/terminator_wps2kb.jpg" alt="terminator" loading="lazy">
        </picture>
        <figcaption>terminator</figcaption>
      </figure></a></p>
<p>Los Ángeles, año 2029. El futuro está dominado por las máquinas. Los rebeldes que libran la guerra contra ellas están lideradas por John Connor, un hombre que nació en los años ochenta. Así que las máquinas deciden enviar a un robot exterminador -Terminator- en el tiempo hasta nuestros días, con la única misión de eliminar a Sarah Connor, la madre de John, e impedir su nacimiento.</p>
<p><a href="http://www.amazon.es/gp/product/B0053C80PC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053C80PC&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0088247/">imdb</a>: 8,1 | <a href="http://www.rottentomatoes.com/m/terminator/">Rotten Tomatoes</a>: 8,5 | <strong>Media: 8,3</strong></p>
<h3 id="12-indiana-jones-and-the-last-crusade--indiana-jones-y-la-última-cruzada-1989">12. <a href="http://www.amazon.es/gp/product/B0053CA0U0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA0U0&amp;linkCode=as2&amp;tag=gazpachu06-21">Indiana Jones and the Last Crusade / Indiana Jones y la Última Cruzada</a> (1989)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053CA0U0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA0U0&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-crusade_qqvxng.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-crusade_qqvxng.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-crusade_qqvxng-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-last-crusade_qqvxng-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-last-crusade_qqvxng.jpg" alt="the-last-crusade" loading="lazy">
        </picture>
        <figcaption>the-last-crusade</figcaption>
      </figure></a></p>
<p>En esta tercera entrega de la famosa saga del intrépido arqueólogo Indiana Jones (Harrison Ford), el padre del protagonista, el también arqueólogo Henry Jones (Sean Connery), es secuestrado cuando buscaba el Santo Grial. Indi tendrá que ir a rescatarlo y, de paso, intentar hacerse con la preciada reliquia, que también ambicionan los nazis.</p>
<p><a href="http://www.amazon.es/gp/product/B0053CA0U0/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA0U0&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0097576/">imdb</a>: 8,3 | <a href="http://www.rottentomatoes.com/m/indiana_jones_and_the_last_crusade/">Rotten Tomatoes</a>: – | <strong>Media: 8,3</strong></p>
<h3 id="11-back-to-the-future--regreso-al-futuro-i-1985">11. <a href="http://www.amazon.es/gp/product/B0053CA48S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA48S&amp;linkCode=as2&amp;tag=gazpachu06-21">Back to the Future / Regreso al futuro I</a> (1985)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053CA48S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA48S&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future_gzj9bm.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future_gzj9bm.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future_gzj9bm-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future_gzj9bm-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/back-to-the-future_gzj9bm.jpg" alt="back-to-the-future" loading="lazy">
        </picture>
        <figcaption>back-to-the-future</figcaption>
      </figure></a></p>
<p>Marty McFly es un adolescente amigo de Doc, un científico a los que todos menos él toman por chiflado. Cuando Doc crea una máquina para viajar en el tiempo en forma de un automóvil deportivo, Marty viaja accidentalmente al año 1955. Allí se encontrará con sus padres cuando eran jóvenes, pero impide su primer encuentro. A partir de entonces, y con el tiempo en su contra, McFly deberá conseguir que se enamoren para que se casen y él no deje de existir.</p>
<p><a href="http://www.amazon.es/gp/product/B0053CA48S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CA48S&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0088763/">imdb</a>: 8,3 | <a href="http://www.rottentomatoes.com/m/back_to_the_future/">Rotten Tomatoes</a>: 8,3 | <strong>Media: 8,3</strong></p>
<h3 id="10-the-elephant-man--el-hombre-elefante-1980">10. <a href="http://www.amazon.es/gp/product/B001FZG16G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001FZG16G&amp;linkCode=as2&amp;tag=gazpachu06-21">The elephant man / El hombre elefante</a> (1980)</h3>
<p><a href="http://www.amazon.es/gp/product/B001FZG16G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001FZG16G&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/hombre-elefante_eqhuap.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/hombre-elefante_eqhuap.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/hombre-elefante_eqhuap-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/hombre-elefante_eqhuap-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/hombre-elefante_eqhuap.jpg" alt="hombre-elefante" loading="lazy">
        </picture>
        <figcaption>hombre-elefante</figcaption>
      </figure></a></p>
<p>Drama sobre un hombre que, debido a una enfermedad, sufre unas terribles malformaciones físicas que le impiden integrarse en la sociedad.</p>
<p><a href="http://www.amazon.es/gp/product/B001FZG16G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B001FZG16G&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0080678/">imdb</a>: 8,4 | <a href="http://www.rottentomatoes.com/m/1006528-elephant_man/">Rotten Tomatoes</a>: – | <strong>Media: 8,4</strong></p>
<h3 id="9-amadeus-1984">9. <a href="http://www.amazon.es/gp/product/B003Z7R48G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R48G&amp;linkCode=as2&amp;tag=gazpachu06-21">Amadeus</a> (1984)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7R48G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R48G&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/amadeus_ntgwtm.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/amadeus_ntgwtm.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/amadeus_ntgwtm-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/amadeus_ntgwtm-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/amadeus_ntgwtm.jpg" alt="amadeus" loading="lazy">
        </picture>
        <figcaption>amadeus</figcaption>
      </figure></a></p>
<p>Antonio Salieri es el músico más destacado de la corte del Emperador José II de Austria. Entregado completamente a la música, le promete a Dios humildad y castidad si, a cambio, mantiene sus dotes musicales de excepción. Durante algún tiempo cree que su voto ha sido escuchado pero, la llegada a la corte de un joven llamado Wolfang Amadeus Mozart, le relega a un segundo plano. Irritado por la pérdida de protagonismo, va a hacer todo lo posible para arruinar la carrera del joven músico. Mientras, Mozart sorprende a todos con sus excepcionales dotes musicales y sus caprichosas excentricidades.</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7R48G/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7R48G&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0086879/">imdb</a>: 8,4 | <a href="http://www.rottentomatoes.com/m/amadeus/">Rotten Tomatoes</a>: 8,6 | <strong>Media: 8,5</strong></p>
<h3 id="8-hotaru-no-haka--la-tumba-de-las-luciérnagas-1988">8. <a href="http://www.amazon.es/gp/product/B00ABGT6OY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00ABGT6OY&amp;linkCode=as2&amp;tag=gazpachu06-21">Hotaru no haka / La tumba de las luciérnagas</a> (1988)</h3>
<p><a href="http://www.amazon.es/gp/product/B00ABGT6OY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00ABGT6OY&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/hotaru-no-haka.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/hotaru-no-haka.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/hotaru-no-haka-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/hotaru-no-haka-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/hotaru-no-haka.jpg" alt="hotaru-no-haka" loading="lazy">
        </picture>
        <figcaption>hotaru-no-haka</figcaption>
      </figure></a></p>
<p>El joven Seita y su pequeña hermana Setsuko son hijos de un oficial de la marina japonesa. Durante la Segunda Guerra Mundial, ambos viven con su madre, pero un día, en un bombardeo, ellos se retrasan y no consiguen llegar al bunker donde ella los espera. Después del bombardeo los dos hermanos buscan a su madre, y Seita la encuentra muy malherida en la escuela que ha sido convertida en un hospital de urgencia. Poco después la madre muere y, tras una breve estancia en casa de su tía, ambos vagarán sin casa y sin rumbo, en una época donde la comida y la ayuda escasean.</p>
<p><a href="http://www.amazon.es/gp/product/B00ABGT6OY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00ABGT6OY&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0095327/">imdb</a>: 8,2 | <a href="http://www.rottentomatoes.com/m/grave_of_the_fireflies/">Rotten Tomatoes</a>: 8,9 | <strong>Media: 8,55</strong></p>
<h3 id="7-ran-1985">7. <a href="http://www.amazon.es/gp/product/B0053CAXBG/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CAXBG&amp;linkCode=as2&amp;tag=gazpachu06-21">Ran</a> (1985)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053CAXBG/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CAXBG&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/ran_ya1ucd.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/ran_ya1ucd.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/ran_ya1ucd-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/ran_ya1ucd-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/ran_ya1ucd.jpg" alt="ran" loading="lazy">
        </picture>
        <figcaption>ran</figcaption>
      </figure></a></p>
<p>En el Japón feudal, y tras muchos años de guerra, el rey decide repartir sus tierras entre sus tres hijos.</p>
<p><a href="http://www.amazon.es/gp/product/B0053CAXBG/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CAXBG&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0089881/">imdb</a>: 8,3 | <a href="http://www.rottentomatoes.com/m/ran/">Rotten Tomatoes</a>: 8,8 | <strong>Media: 8,55</strong></p>
<h3 id="6-das-boot--el-submarino-1981">6. <a href="http://www.amazon.es/gp/product/B0055KLO14/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLO14&amp;linkCode=as2&amp;tag=gazpachu06-21">Das Boot / El submarino</a> (1981)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KLO14/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLO14&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/das-boot_z7doag.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/das-boot_z7doag.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/das-boot_z7doag-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/das-boot_z7doag-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/das-boot_z7doag.jpg" alt="das-boot" loading="lazy">
        </picture>
        <figcaption>das-boot</figcaption>
      </figure></a></p>
<p>Un submarino alemán de la Segunda Guerra Mundial es el escenario en el que un grupo de jóvenes soldados, dispuesto a defender su patria, tendrá que someterse a una dura convivencia, tras descubrir que han sido enviados a realizar una misión probablemente suicida.</p>
<p><a href="http://www.amazon.es/gp/product/B0055KLO14/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KLO14&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0082096/">imdb</a>: 8,5 | <a href="http://www.rottentomatoes.com/m/das_boot/">Rotten Tomatoes</a>: 8,7 | <strong>Media: 8,6</strong></p>
<h3 id="5-aliens--alien-el-octavo-pasajero-1986">5. <a href="http://www.amazon.es/gp/product/B003Z7ROWC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7ROWC&amp;linkCode=as2&amp;tag=gazpachu06-21">Aliens / Alien, el octavo pasajero</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B003Z7ROWC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7ROWC&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/aliens1_nfecvg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/aliens1_nfecvg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/aliens1_nfecvg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/aliens1_nfecvg-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/aliens1_nfecvg.jpg" alt="aliens1" loading="lazy">
        </picture>
        <figcaption>aliens1</figcaption>
      </figure></a></p>
<p>De regreso a la Tierra, la nave de carga Nostromo interrumpe su viaje y despierta a sus 7 tripulantes. El ordenador central, MADRE, ha detectado una misteriosa transmisión, de una forma de vida desconocida, procedente de un planeta cercano. Obligados a investigar el origen de la comunicación, la nave se dirige al extraño planeta…</p>
<p><a href="http://www.amazon.es/gp/product/B003Z7ROWC/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003Z7ROWC&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0090605/">imdb</a>: 8,5 | <a href="http://www.rottentomatoes.com/m/1000617-aliens/">Rotten Tomatoes</a>: 8,7 | <strong>Media: 8,6</strong></p>
<h3 id="4-star-wars-v--the-empire-strikes-back--star-wars-v--el-imperio-contraataca-1980">4. <a href="http://www.amazon.es/gp/product/B0055KKQ1I/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KKQ1I&amp;linkCode=as2&amp;tag=gazpachu06-21">Star Wars V – The Empire Strikes Back / Star Wars V – El imperio contraataca</a> (1980)</h3>
<p><a href="http://www.amazon.es/gp/product/B0055KKQ1I/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KKQ1I&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-strikes-back_kthpie.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-strikes-back_kthpie.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-strikes-back_kthpie-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/empire-strikes-back_kthpie-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/empire-strikes-back_kthpie.jpg" alt="empire-strikes-back" loading="lazy">
        </picture>
        <figcaption>empire-strikes-back</figcaption>
      </figure></a></p>
<p>Tras un ataque sorpresa de las tropas imperiales a las bases camufladas de la alianza rebelde, Luke Skywalker, en compañía de R2D2, parte hacia el planeta Dagobah en busca de Yoda, el último maestro Jedi, para que le enseñe los secretos de la Fuerza. Mientras, Han Solo, la princesa Leia, Chewbacca, y C3PO esquivan a las fuerzas imperiales y piden refugio al antiguo propietario del Halcón Milenario, Lando Calrissian, en la ciudad minera de Bespin, donde les prepara una trampa urdida por Darth Vader.</p>
<p><a href="http://www.amazon.es/gp/product/B0055KKQ1I/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0055KKQ1I&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://imdb.com/title/tt0080684/">imdb</a>: 8,8 | <a href="http://www.rottentomatoes.com/m/empire_strikes_back/">Rotten Tomatoes</a>: 8,5 | <strong>Media: 8,65</strong></p>
<h3 id="3-raging-bull--toro-salvaje-1980">3. <a href="http://www.amazon.es/gp/product/B003E4YS1Q/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003E4YS1Q&amp;linkCode=as2&amp;tag=gazpachu06-21">Raging Bull / Toro salvaje</a> (1980)</h3>
<p><a href="http://www.amazon.es/gp/product/B003E4YS1Q/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003E4YS1Q&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/raging-bull_qbg036.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/raging-bull_qbg036.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/raging-bull_qbg036-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/raging-bull_qbg036-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/raging-bull_qbg036.jpg" alt="raging-bull" loading="lazy">
        </picture>
        <figcaption>raging-bull</figcaption>
      </figure></a></p>
<p>Jake la Motta es un joven boxeador que se entrena duramente, ayudado por su hermano y manager Joey, para convertirse en el número uno de los pesos medios. Pero sus complejos psicológicos y sexuales le llevan a manifestar su agresividad tanto dentro como fuera del ring. En medio de esta tormenta interior se encuentra su hermano, convertido en víctima de la enfermiza paranoia y los celos de Jake. Pronto consigue ver hecho realidad tan ansiado sueño, pero el triunfo y el éxito convierten su vida en una pesadilla. Por un lado, su matrimonio cada vez marcha peor debido a sus salidas nocturnas con otras mujeres; por otro, la mafia le presiona para que amañe combates.</p>
<p><a href="http://www.amazon.es/gp/product/B003E4YS1Q/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B003E4YS1Q&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0081398/">imdb</a>: 8,4 | <a href="http://www.rottentomatoes.com/m/raging_bull/">Rotten Tomatoes</a>: 9 | <strong>Media: 8,7</strong></p>
<h3 id="2-raiders-of-the-lost-ark--en-busca-del-arca-perdida-1981">2. <a href="http://www.amazon.es/gp/product/B00FYRU60S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00FYRU60S&amp;linkCode=as2&amp;tag=gazpachu06-21">Raiders of the Lost Ark / En busca del arca perdida</a> (1981)</h3>
<p><a href="http://www.amazon.es/gp/product/B00FYRU60S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00FYRU60S&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/raiders-of-the-lost-ark_gkl1lr.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/raiders-of-the-lost-ark_gkl1lr.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/raiders-of-the-lost-ark_gkl1lr-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/raiders-of-the-lost-ark_gkl1lr-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/raiders-of-the-lost-ark_gkl1lr.jpg" alt="raiders-of-the-lost-ark" loading="lazy">
        </picture>
        <figcaption>raiders-of-the-lost-ark</figcaption>
      </figure></a></p>
<p>Año 1936. Indiana Jones es un profesor universitario de arqueología, gustoso de aventurarse en pos de conseguir valiosas reliquias históricas. Tras regresar de una infructuosa misión en Sudamérica, el gobierno estadounidense le encargará un nuevo cometido; la búsqueda del Arca de la Alianza, lugar en donde se cree que los hebreos depositaron los mandamientos que Dios había otorgado a Moisés, y cuya leyenda atribuye un invencible poder a quien lo posea. Por tal motivo, los nazis también van detrás de ella.</p>
<p><a href="http://www.amazon.es/gp/product/B00FYRU60S/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B00FYRU60S&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0082971/">imdb</a>: 8,7 | <a href="http://www.rottentomatoes.com/m/raiders_of_the_lost_ark/">Rotten Tomatoes</a>: 8,8 | <strong>Media: 8,75</strong></p>
<h3 id="1-dekalog--decálogo-1982">1. <a href="http://www.imdb.com/title/tt0092337/combined">Dekalog</a> / <a href="http://www.amazon.es/gp/product/B009UIRLBO/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B009UIRLBO&amp;linkCode=as2&amp;tag=gazpachu06-21">Decálogo</a> (1982)</h3>
<p><a href="http://www.amazon.es/gp/product/B009UIRLBO/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B009UIRLBO&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/decalogo1_mgxlsk.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/decalogo1_mgxlsk.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/decalogo1_mgxlsk-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/decalogo1_mgxlsk-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/decalogo1_mgxlsk.jpg" alt="decalogo1" loading="lazy">
        </picture>
        <figcaption>decalogo1</figcaption>
      </figure></a></p>
<p>Diez mediometrajes realizados para la televisión entre el director Krzysztof Kieslowski y el guionista Krzysztof Piesiewicz, denominados genéricamente “Decálogo”, e inspirados cada uno en uno de los Diez Mandamientos.</p>
<p><a href="http://www.amazon.es/gp/product/B009UIRLBO/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B009UIRLBO&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0092337/combined">imdb</a>: 9,2 | <a href="http://www.rottentomatoes.com/m/decalogue_box_set/">Rotten Tomatoes</a>: 9,4 | <strong>Media: 9,3</strong></p>
<p><strong>Y fuera del ranking se quedan estas otras películas que también nos hacía ilusión mencionar…</strong></p>
<h3 id="bmx-bandits--los-bicivoladores-1983"><a href="http://www.amazon.es/gp/product/B0053CAWBW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CAWBW&amp;linkCode=as2&amp;tag=gazpachu06-21">BMX Bandits / Los bicivoladores</a> (1983)</h3>
<p><a href="http://www.amazon.es/gp/product/B0053CAWBW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CAWBW&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/bmx-bandits_ec3nrq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/bmx-bandits_ec3nrq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/bmx-bandits_ec3nrq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/bmx-bandits_ec3nrq-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/bmx-bandits_ec3nrq.jpg" alt="bmx-bandits" loading="lazy">
        </picture>
        <figcaption>bmx-bandits</figcaption>
      </figure></a></p>
<p>Tres jóvenes tienen el bicicross como afición. Un día, tras un accidente sus bicicletas quedan destrozadas. Para sacar dinero se les ocurre pescar almejas y encuentran un paquete que les traerá problemas…</p>
<p><a href="http://www.amazon.es/gp/product/B0053CAWBW/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0053CAWBW&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0085204/">imdb</a>: 4,7 | <a href="http://www.rottentomatoes.com/m/bmx_bandits/">Rotten Tomatoes</a>: – | <strong>Media: 4,7</strong></p>
<h3 id="the-money-pit--esta-casa-es-una-ruina-1986"><a href="http://www.amazon.es/gp/product/B0041KXMOQ/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0041KXMOQ&amp;linkCode=as2&amp;tag=gazpachu06-21">The money pit / Esta casa es una ruina</a> (1986)</h3>
<p><a href="http://www.amazon.es/gp/product/B0041KXMOQ/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0041KXMOQ&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-money-pit.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-money-pit.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/the-money-pit-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/the-money-pit-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/the-money-pit.jpg" alt="the-money-pit" loading="lazy">
        </picture>
        <figcaption>the-money-pit</figcaption>
      </figure></a></p>
<p>Anna es una joven y atractiva violinista que, con su novio Walter, vive provisionalmente en el apartamento de su ex-marido, un famoso director de orquesta. De repente, éste aparece en la casa y la pareja tiene que buscar otra residencia. Walter recurre a su amigo Jack, agente de la propiedad, que le proporciona una auténtica “ganga” en las afueras de la ciudad.</p>
<p><a href="http://www.amazon.es/gp/product/B0041KXMOQ/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B0041KXMOQ&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0091541/">imdb</a>: 5,6 | <a href="http://www.rottentomatoes.com/m/money_pit/">Rotten Tomatoes</a>: 4,8 | <strong>Media: 5,2</strong></p>
<h3 id="flashdance-1987"><a href="http://www.amazon.es/gp/product/B008PQ5VZA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008PQ5VZA&amp;linkCode=as2&amp;tag=gazpachu06-21">Flashdance</a> (1987)</h3>
<p><a href="http://www.amazon.es/gp/product/B008PQ5VZA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008PQ5VZA&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/flashdance_mzq8tx.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/flashdance_mzq8tx.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/flashdance_mzq8tx-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/flashdance_mzq8tx-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/flashdance_mzq8tx.jpg" alt="flashdance" loading="lazy">
        </picture>
        <figcaption>flashdance</figcaption>
      </figure></a></p>
<p>Alex Owens es una joven huérfana que sueña con llegar a ser bailarina. Para poder vivir trabaja en una fábrica de día como soldadora y de noche en un club nocturno bailando. Una taquillera cinta de los años 80 con popular banda sonora.</p>
<p><a href="http://www.amazon.es/gp/product/B008PQ5VZA/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B008PQ5VZA&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0085549/">imdb</a>: 5,5 | <a href="http://www.rottentomatoes.com/m/flashdance/">Rotten Tomatoes</a>: 4,6 | <strong>Media: 5,05</strong></p>
<h3 id="mi-amigo-mac-1988"><a href="http://www.amazon.es/gp/product/B004P3FGIY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B004P3FGIY&amp;linkCode=as2&amp;tag=gazpachu06-21">Mi amigo Mac</a> (1988)</h3>
<p><a href="http://www.amazon.es/gp/product/B004P3FGIY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B004P3FGIY&amp;linkCode=as2&amp;tag=gazpachu06-21">
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/mac_and_me_ltf1kq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/mac_and_me_ltf1kq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-65-best-movies-from-the-80s/images/mac_and_me_ltf1kq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-65-best-movies-from-the-80s/images/mac_and_me_ltf1kq-mobile.jpg" />
          <img class="image" src="/blog/the-65-best-movies-from-the-80s/images/mac_and_me_ltf1kq.jpg" alt="mac_and_me" loading="lazy">
        </picture>
        <figcaption>mac_and_me</figcaption>
      </figure></a></p>
<p>Un alienígena se escapa de un laboratorio de la NASA y se hace amigo de un niño paralítico. El muchacho esconde al extraterrestre para que no lo encuentre la agencia espacial americana y lo vuelva a encerrar.</p>
<p><a href="http://www.amazon.es/gp/product/B004P3FGIY/ref=as_li_tf_tl?ie=UTF8&amp;camp=3626&amp;creative=24790&amp;creativeASIN=B004P3FGIY&amp;linkCode=as2&amp;tag=gazpachu06-21">Comprar ahora en Amazon</a> | <a href="http://www.imdb.com/title/tt0095560/">imdb</a>: 2,9 | <a href="http://www.rottentomatoes.com/m/mac_and_me/">Rotten Tomatoes</a>: 1.9 | <strong>Media: 2,4</strong></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-65-best-movies-from-the-80s/images/blade-runner_yhvbqz.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Una idea para un proyecto un poco geek]]></title>
            <link>https://www.joanmira.com/es/blog/one-idea-for-a-project-a-little-geek</link>
            <guid>https://www.joanmira.com/es/blog/one-idea-for-a-project-a-little-geek</guid>
            <pubDate>Sat, 24 Jan 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[La casa informatizada. Un dashboard con información del tiempo y tareas en el espejo de la entrada]]></description>
            <content:encoded><![CDATA[<p>Estos días estoy pensando en un proyecto que me haría bastante ilusión conseguir que funcionara bien. La idea sería poner una pantalla LCD de 20-30 pulgadas empotrada, “embebida” :), incrustada en la pared de la entrada de una vivienda. Para hacer que quede mejor, le pondríamos un marco y así quedaría como un cuadro v2.0.</p>
<p>El objetivo de este proyecto es permitir a los usuarios de la vivienda, poder acceder a internet de una forma muy rápida, fácil y programable. Para ello, la pantalla tendría que estar conectada a un ordenador (Servidor), el cual se puede utilizar también como media center para guardar películas, música, fotos y ser accedido remotamente vía VNC (o similar). El servidor también estaría conectado a un proyector o pantalla en el salón, de tal forma que con en un mismo ordenador (servidor) tendríamos dos pantallas conectadas (una en el salón y otra en la entrada).</p>
<p>Bien, en la pantalla de la entrada podríamos encontrar un resumen de las cosas que normalmente nos interesa saber cuando vamos a salir de la vivienda o a entrar en ella, por ejemplo: un resumen del tiempo con un pronóstico a muy corto plazo, un resumen de las últimas noticias, últimos mensajes de e-mail recibidos, una agenda con los próximos compromisos, una lista de cosas para apuntar para no olvidar, etc.</p>
<p>Se me acaba de ocurrir que puede ser interesante montar un servicio de videollamadas por Internet, mediante un portal web donde los usuarios se pueden registrar y pueden grabar mensajes con su webcam para otros usuarios, asi que este sistema lo podríamos integrar en la pantalla de la entrada de la vivienda para ver los video mensajes que nos han dejado.</p>
<p>Otra interesante característica sería la posibilidad de instalar una cámara con sensor de movimiento que tuviera la capacidad de despertar al ordenador (si está en modo “sleep”) cuando el sensor de movimiento detectara que estamos parados enfrente de la pantalla durante más de 3 segundos. Esto nos serviría para ahorrar energía cuando el usuario no está en la vivienda y que cuando llegue a esta, el ordenador se encendiera automáticamente.</p>
<p>Bueno, hasta aquí llega la idea por ahora… no sé que pensáis, si es una chorrada o puede ser interesante. Espero vuestros comentarios :)</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/one-idea-for-a-project-a-little-geek/images/11214203_1_ryjakm.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Pros y contras del teletrabajo]]></title>
            <link>https://www.joanmira.com/es/blog/pros-and-cons-of-remote-work</link>
            <guid>https://www.joanmira.com/es/blog/pros-and-cons-of-remote-work</guid>
            <pubDate>Fri, 09 Jan 2009 00:00:00 GMT</pubDate>
            <description><![CDATA[Ni todo es perfecto ni se pretende. Es simplemente otra forma de trabajar]]></description>
            <content:encoded><![CDATA[<p><strong>Pros:</strong></p>
<ul>
<li>Puedes vestirte cómodamente y como quieras. A mí me gusta el pijama con una bata</li>
<li>Puedes ahorrarte el dinero en transporte</li>
<li>Si te gusta cocinar, puedes disfrutar de tu comida sin tener que recalentarla</li>
<li>Puedes ver el telediario tranquilamente</li>
<li>No pasas frío ni te mojas en los días de lluvia</li>
<li>Puedes comer y fumar cuando quieras</li>
<li>Puedes escuchar la música o ver la tele mientras trabajas</li>
<li>Si vives en una ciudad grande, te ahorras el tráfico
(En el supuesto de que seas tu propio jefe)</li>
<li>Flexibilidad horaria. No tienes a alguien controlando tus horarios. Si prefieres trabajar por la noche (como es mi caso), trabajas por la noche y punto</li>
<li>Puedes usar los sistemas operativos y programas que tú quieras</li>
<li>Tus trabajos no tienen que pasar el filtro de tu jefe, para luego ver si al cliente le gusta</li>
</ul>
<p><strong>Contras:</strong></p>
<ul>
<li>Puede llegar el momento en que no distingas la vida de hogar de la del trabajo</li>
<li>Puedes llegar a convertirte en un gran <a href="http://es.wikipedia.org/wiki/Procrastinaci%C3%B3n">procrastinador</a></li>
<li>Estar todo el día encerrado en tu propia casa</li>
<li>No tienes vida social en horarios de trabajo dado que no estás en una oficina con otros compañeros. (Esto a algunos puede gustarle, por mi parte no tengo muchos problemas con este punto) (<em>solución 1</em>)</li>
<li>Puedes acostumbrarte al sedentarismo y a pasar demasiado tiempo sentado. Lo cual puede generar obesidad o trastornos alimenticios (<em>solución 2</em>)
(En el supuesto de que trabajes solo, como autónomo)</li>
<li>No tienes un sueldo fijo por mes, tienes que acostumbrarte a ahorrar por si acaso algún mes no tienes mucho trabajo</li>
<li>Al principio, si no tienes algunos clientes, puede resultar complicado ganar dinero (<em>solución 3</em>)</li>
</ul>
<p><strong>Soluciones a los contras:&gt;</strong></p>
<ol>
<li>Llama a algún amigo/colega para salir a comer juntos</li>
<li>Apúntate a un gimnasio o realiza deporte de forma habitual</li>
<li>Asóciate con alguien para tener más oportunidades de trabajo</li>
</ol>
<p>Y bueno, esas son las que se me ocurren a mí, si a alguien se le ocurre alguna otra, siéntase libre de mandar un comentario.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/pros-and-cons-of-remote-work/images/teleworking_c3qd1d.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Vicky Cristina Barcelona]]></title>
            <link>https://www.joanmira.com/es/blog/vicky-cristina-barcelona</link>
            <guid>https://www.joanmira.com/es/blog/vicky-cristina-barcelona</guid>
            <pubDate>Sun, 28 Sep 2008 00:00:00 GMT</pubDate>
            <description><![CDATA[Breve análisis de la nueva película de Woody Allen]]></description>
            <content:encoded><![CDATA[<p>Acabo de volver del cine, de ver la última película de Woody Allen y he quedado algo desencantado… me esperaba algo mejor.</p>
<p>He echado de menos el genuino sentido del humor que suelen tener sus películas y una actuación más brillante por parte de Scarlet y Patricia. Bardem ha estado bien, seductor,... aunque le he visto mejor en otros papeles más dramáticos. La mejor para mí, ha sido Penélope, que aunque disfruta de menos tiempo en pantalla que sus compañeros de reparto, lo hace con tal fuerza y carácter que consigue ganar mi atención en todo momento. Sin duda alguna es un diamente esta chica, pura belleza latina, picardía femenina, glamour y elegancia.</p>
<p>La historia se presenta como un plato de gusto para la mayoría de los espectadores, donde más de uno seguro que se identifica con el personaje de Cristina y Vicky. Con Bardem y Penélope resulta más difícil (por la complejidad de sus vidas), pero en cualquier caso, el director nos propone un cocktail de amoríos con un publirreportaje de la ciudad de Barcelona que, no sirve para nada.</p>
<p>Una película entretenida, pero poco cuidada. Una banda sonora aburrida, doblajes y narraciones en off pesadas y parches para alargar el metraje por doquier. En fin, una pena que para una vez que Allen hace una película en España, no esté a la altura de las expectativas.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/vicky-cristina-barcelona/images/vicky-cristina-barcelona-poster_mmonmn.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[El monje que vendió su Ferrari]]></title>
            <link>https://www.joanmira.com/es/blog/the-monk-who-sold-his-ferrari</link>
            <guid>https://www.joanmira.com/es/blog/the-monk-who-sold-his-ferrari</guid>
            <pubDate>Tue, 23 Sep 2008 00:00:00 GMT</pubDate>
            <description><![CDATA[Un libro que resulta muy ameno de leer e inspirador]]></description>
            <content:encoded><![CDATA[<p>Estoy terminando de leer este libro y me ha parecido buena idea recomendarlo para que lo leáis. Es de fácil lectura y me ha inspiración para tomar algunas decisiones grandes y para empezar algunos proyectos.</p>
<p>Esta es la historia de Julián Mantle, un prominente abogado que lo tenía todo en la vida (o al menos eso creía él). Pero, un día, tras un infarto que lo puso al borde de la muerte, Julián tomó la decisión de vender todas sus posesiones materiales e irse a la India en busca de iluminación.</p>
<p>Fue entonces cuando conoció a los Sabios de Sivana en una remota comunidad perdida en los Himalayas. Julián estudió junto a estos durante varios años y así consiguió lo que estaba buscando: las siete virtudes eternas de la vida esclarecida.</p>
<p>Esta amena historia constituye una fuente de sabiduría práctica y espiritual que puede ser aprovechada por cualquiera, y en especial, por gerentes y profesionales.</p>
<p><a href="http://manuamozarrain.googlepages.com/Elmonjequevendiosuferrari.pdf">Aquí podéis descargar</a> un PDF con un resumen más amplio del libro.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-monk-who-sold-his-ferrari/images/14582634_hnllxa.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Padam! Padam! Padam!]]></title>
            <link>https://www.joanmira.com/es/blog/padam-padam-padam</link>
            <guid>https://www.joanmira.com/es/blog/padam-padam-padam</guid>
            <pubDate>Tue, 23 Sep 2008 00:00:00 GMT</pubDate>
            <description><![CDATA[Una película inspiradora y poética, con mucho arte]]></description>
            <content:encoded><![CDATA[<p>Qué gran película es “<a href="http://www.imdb.com/title/tt0450188/">La Môme</a>“, me ha gustado mucho, me ha inspirado, me ha emocionado, me ha fascinado… que vida la de <a href="http://es.wikipedia.org/wiki/Edith_Piaf">Edith Piaf</a> (tan solo teneis que leer la primera línea de <a href="http://es.wikipedia.org/wiki/Edith_Piaf">su artículo en la wikipedia</a>), “Edith Piaf nace debajo de una farola frente al número 72 de la <em>rue de Belleville</em> en <a href="http://es.wikipedia.org/wiki/Par%C3%ADs" title="París">París</a>. ¡Toma ya!</p>
<p>Al son de su canción “Padam Padam Padam” os escribo esta entrada, sintiendo que estoy en París!, en aquellos baretos cutres y húmedos de los años 40, bebiendo vino y emborrachándome mientras cantamos todos a la vida! C’est la vie! mon ami!, no os la perdáis, es un peliculón con la actriz que ganó el Óscar. Una interpretación que da miedo de lo bien que lo que hace.</p>
<iframe allowfullscreen="" frameborder="0" height="340" src="https://www.youtube.com/embed/0Ih5z4WTVDw?feature=oembed" width="100%"></iframe>

<p><em>Padam! Padam! Padam! …. (se terminó la canción)</em></p>
<p>PADAM, PADAM – EDITH PIAF</p>
<p>Cet air qui m’obsède jour et nuit – Este aire que me obsesiona día y noche
cet air n’est pas né d’aujourd’hui – este aire no nació hoy
il vient d’aussi loin que je viens – viene de tan lejos como yo vengo
traîné par cent mille musiciens – arrastrado por cientos de miles de músicos
un jour cet air me rendra folle – un día este aire me volverá loca
cent fois j’ai voulu dire pourquoi – cien veces he querido decir por qué
mais il m’a coupé la parole – pero me ha cortado la palabra
il parle toujours avant moi – siempre habla antes de mí
et sa voix couvre ma voix. – y su voz cubre mi voz.</p>
<p>Padam…padam…padam… – Padam…padam…padam…
Il arrive en courant derrière moi. – Él llega corriendo tras de mí.</p>
<p>Padam…padam…padam… – Padam…padam…padam…
Il me fait le coup du souviens-toi. – Él me empuja a acordarme de ti.</p>
<p>Padam…padam…padam… – Padam…padam…padam…
C’est un air qui me montre du doigt – Es un aire que me señala con el dedo
et je traîne après moi comme un drole d’erreur – y yo me arrastro tras de mí como un error chistoso
cet air qui sait tout par cœur. – este aire que sabe todo por intuición.</p>
<p>Il dit: “Rappelle-toi tes amours – El dice: “Acuérdate de tus amores
rappelle-toi puisque c’est ton tour – acuérdate porque es tu turno
n’y a pas d’raison pour que tu ne pleures pas – no hay razón para que tú no llores
avec tes souvenirs sur les bras…” – con tus recuerdos sobre los brazos…”
et moi je revois ceux qui restent – y yo vuelvo a ver a los que se quedan
mes vingt ans font battre tambour – mis veinte años hacen tocar el tambor
je vois s’entrebattre des gestes – veo golpearse los gestos
toute la comédie des amours – toda la comedia de amores
sur cet air qui va toujours. – sobre este aire que siempre va.</p>
<p>Padam…padam…padam… – Padam…padam…padam…
Des “je t’aime” de quatorze-juillet. – Los “yo te amo” de 14 de julio.</p>
<p>Padam…padam…padam… – Padam…padam…padam…
Des “toujours” qu’on achète au rabais. – Los “siempre” que se compran en liquidación.</p>
<p>Padam…padam…padam… – Padam…padam…padam…
Des “veux-tu” en voilà par paquets – Los “quieres tú?” aquí están por paquetes
et tout ca pour tomber juste au coin d’la rue – y todo esto para caer justo en la esquina de la calle
sur l’air qui m’a reconnue – sobre el aire que me ha reconocido.</p>
<p>Écoutez le chahut qu’il me fair. – Escuchen el escándalo que me hace.</p>
<p>Comme si tout mon passé défilait. – Como si todo mi pasado desfilara.</p>
<p>Faut garder du chagrin pour après – Hay que guardar la pena para después
j’en ai tout un solfège sur cet air qui bat…- yo tengo todo un solfeo sobre este aire que golpea
qui bat comme un cœur de bois… – que golpea como un corazón de madera…</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/padam-padam-padam/images/affiche-la-mome-2005-2_mjokcd.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Kim-ki-duk - Breath]]></title>
            <link>https://www.joanmira.com/es/blog/kim-ki-duk-breath</link>
            <guid>https://www.joanmira.com/es/blog/kim-ki-duk-breath</guid>
            <pubDate>Sun, 14 Sep 2008 00:00:00 GMT</pubDate>
            <description><![CDATA[Breve análisis de la nueva película de Kim-ki-duk]]></description>
            <content:encoded><![CDATA[<p>Esta entrada va dedicada con especial ilusión a todos aquellos que no conozcan aún el cine asiático y en especial el coreano, el cual tiene a varios directores que están haciendo películas bastante buenas. Entre ellos está “<a href="http://es.wikipedia.org/wiki/Kim_Ki-duk">Kim-ki-duk</a>“, uno de mis favoritos, por su capacidad para contar historias sin necesidad de que los actores digan prácticamente nada durante toda la película (lo cual es bastante últil para verlas en versión original) y de esta forma es fácil que nos fijemos mucho más en el lenguaje corporal, en la composición de las escenas y en general le dá más libertad al espectador para pensar mientras ve la película.</p>
<p>Ayer por la noche vi una de sus últimas películas “<a href="http://www.youtube.com/watch?v=-rW7AlCH1L4">Breath</a>” del 2007 y no puedo más que recomendárosla. Es una historia triste pero con un profundo mensaje de esperanza y empatía.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/kim-ki-duk-breath/images/breathposter1toedeblogvk1_ipc8di.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Pequeño lavado de cara]]></title>
            <link>https://www.joanmira.com/es/blog/small-paint-job</link>
            <guid>https://www.joanmira.com/es/blog/small-paint-job</guid>
            <pubDate>Sat, 13 Sep 2008 00:00:00 GMT</pubDate>
            <description><![CDATA[Presentamos un nuevo diseño para la web de Webmarket]]></description>
            <content:encoded><![CDATA[<p>Llevamos ya varias semanas con cambios en los servidores de Webmarket, algo muy entretenido… pasando las noches junto a entrañables protocolos achetetepe y efetepés, hablando sobre la política de deeneeses, probandonos los nuevos parches de moda,... en fin, todo un festival de tecnologismos (atención, no se sí existe la palabra) y demás “amenities” para geeks y profesionales de internet.</p>
<p>Aprovechando este estado de reorganización, también nos hemos lanzado a arreglar el muestrario de trabajos de webmarket (por fin!) y ahora sí… podemos espetar al mundo… ya funcionan todos los links! y ya podéis criticar con fundamento nuestras humildes creaciones. La <a href="http://upload.wikimedia.org/wikipedia/commons/2/22/New_York_City_at_night_HDR.jpg">foto de fondo</a> no es nuestra.</p>
<p>Como <strong>objetivo para este año 2008/2009</strong> estaría bien crear un proyecto original digno de un mismísimo <strong>premio <a href="http://www.thefwa.com">FWA</a></strong>. Ya tengo una idea que me gusta mucho y que por ahora no la he visto en ningún medio de carácter interactivo. Si alguien se anima a participar en este proyecto, podéis escribirme a joan (at) webmarket.es. Cualquier ayuda será bienvenida y espero que la recompensa sea de tamaño MAYÚSCULO! :)</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/small-paint-job/images/webmarket_thggqn.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nuevo logotipo de Webmarket!]]></title>
            <link>https://www.joanmira.com/es/blog/new-webmarket-logo</link>
            <guid>https://www.joanmira.com/es/blog/new-webmarket-logo</guid>
            <pubDate>Wed, 03 Sep 2008 00:00:00 GMT</pubDate>
            <description><![CDATA[Cambio del logo de la manzana verde por otro basado en las iniciales de Webmarket]]></description>
            <content:encoded><![CDATA[<p>Bueno, ya era hora de cambiar el logo de la manzana verde, que aunque me gustaba mucho, no dejaba de ser una semi copia del logo de Apple. Así que ahora ya somos un poquito más diferentes y con más personalidad :)</p>
<p>El logo representa una M y una W, que son las iniciales de Web Market… como veis, todo un alarde de creatividad (golpecitos en la espalda). Si alguien se anima a opinar, mientras sea constructivo, adelante por favor.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/new-webmarket-logo/images/logo_presupuesto_grande_nzfbww.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Las nuevas tarjetas de visita]]></title>
            <link>https://www.joanmira.com/es/blog/the-new-calling-cards</link>
            <guid>https://www.joanmira.com/es/blog/the-new-calling-cards</guid>
            <pubDate>Mon, 14 Apr 2008 00:00:00 GMT</pubDate>
            <description><![CDATA[Nuevas tarjetas de visita de Webmarket basadas en el juego de la sopa de letras]]></description>
            <content:encoded><![CDATA[<p>Las nuevas tarjetas de visita de Webmarket están basadas en una sopa de letras. El objetivo es reflejar nuestra pasión por lo interactivo en un medio tan analógico como es la imprenta. En la parte de atrás se encuentran las soluciones con los datos de contacto y algunas otras palabras como por ejemplo: design, interactive, graphic…</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-new-calling-cards/images/calling_card_webmarket_front_oaffbx.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[La informática que cambió nuestras vidas]]></title>
            <link>https://www.joanmira.com/es/blog/the-tech-inventions-that-changed-our-lives</link>
            <guid>https://www.joanmira.com/es/blog/the-tech-inventions-that-changed-our-lives</guid>
            <pubDate>Sat, 12 May 2007 00:00:00 GMT</pubDate>
            <description><![CDATA[Análisis de cómo se ha incorporado la tecnología informática en el día a día de los usuarios]]></description>
            <content:encoded><![CDATA[<h3 id="introducción">INTRODUCCIÓN</h3>
<p>La informática que cambió nuestras vidas es un trabajo personal del <a href="http://uoc.edu">grado multimedia en la UOC</a> que pretende mostrar la forma en que se ha incorporado la tecnología informática en el día a día de los usuarios, principalmente dentro de esta última década.</p>
<p>La tecnología está en auge. La sociedad de consumo nos ha llevado a una dinámica en la que consumimos cada vez más por capricho que por necesidad y uno de los sectores más beneficiados es el de las nuevas tecnologías. En este trabajo hemos querido explicar de forma general algunos de los últimos aparatos electrónicos o novedades tecnológicas que se han hecho muy populares en la sociedad actual.</p>
<p>Este proyecto se centra en la explicación y desarrollo de los que hemos seleccionado como los 14 inventos decisivos para el usuario en esta última década. Inicialmente el proyecto se explica en el bloque 0 Introducción resumiendo los objetivos del mismo y además para poner al lector en situación. La elección de los 14 inventos no fue simple y la elaboración de una plantilla común para todos los inventos con la finalidad de que siguiesen una estructura similar tampoco fue fácil puesto que hay invenciones muy diversas y no es sencillo catalogar cada uno de los avances informáticos siguiendo las mismas pautas.</p>
<p>En el primer bloque del proyecto se tratan las principales innovaciones en el campo del hardware informático. Las nuevas formas de comunicación (Wifi, Bluetooth) y de almacenamiento (flash), por ejemplo, han sido algunas de las novedades más impactantes y de mayor crecimiento del sector.</p>
<p>Pero no solo el hardware ha sufrido una expansión. Algunos de los temas que tratamos en el segundo bloque, de software informático, han cambiado la economía de muchos sectores (como el Peer to Peer y el MP3, que han revolucionado el sector de la música), pero también hay otros que han alterado hábitos sociales, como los blogs y las comunidades sociales, que han permitido a cualquier persona anónima no solo expresar libremente su opinión, sino también difundirla por todo el mundo.</p>
<p>En el tercer y último bloque de contenido hemos incluido unas cuantas aplicaciones más de la informática que no se pueden clasificar únicamente como hardware o software, ya que son una unión de ambas y también están influyendo de forma notoria tanto en la economía como en la sociedad.</p>
<p>Como culminación del proyecto presentamos las conclusiones, que son claras y evidentes después de haber leído el proyecto, y además se ha desarrollado una página web explicativa, así como una presentación PowerPoint en las que se muestra de manera más didáctica e interactiva la esencia del proyecto.</p>
<p>Para explicar de forma general cada uno de estos nuevos avances, hemos diseñado una plantilla (ver página siguiente) que incluye tanto el pasado, presente y futuro de cada uno de los “inventos”, como los aspectos más relevantes de su funcionamiento e intenta dar una idea aproximada de la influencia que ha tenido en la sociedad. Los puntos evaluados en el proyecto son los siguientes:</p>
<ul>
<li>Resumen inicial de características</li>
<li>Definición</li>
<li>Funcionamiento y base científica</li>
<li>Aplicaciones y sectores afectados</li>
<li>Versiones y tipos</li>
<li>Requerimientos, consumos, problemas</li>
<li>Situación actual</li>
<li>Previsión para el futuro</li>
</ul>
<h3 id="1-hardware-informático">1. HARDWARE INFORMÁTICO</h3>
<h3 id="memorias-flash-almacenamiento-rápido-y-transportable">Memorias Flash. Almacenamiento rápido y transportable.</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg.jpg" alt="memoria.jpg" loading="lazy">
        </picture>
        <figcaption>memoria.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Memoria Flash. Pendrive. Tarjeta de memoria</li>
<li><strong>Año invención, invento y lugar</strong>: Fue Intel en 1988 cuando inventó este tipo de memoria como evolución de las EEPROM existentes por aquel entonces</li>
<li><strong>Año en que impactó en la sociedad</strong>: En 1994, SanDisk comenzó a comercializar tarjetas de memoria (CompactFlash) basadas en estos circuitos y desde entonces no han parado de evolucionar</li>
<li><strong>Sectores a los que pertenece</strong>: desde el personal hasta la aeronáutica espacial. El espectro de usuarios es muy amplio y afecta a todos los sectores</li>
<li><strong>Principales marcas</strong>: Sandisk, TDK, Verbatim, Kingston, PNY, Fordox, Samsung, Memorex</li>
<li><strong>Rango precio aproximado</strong>: desde 15€ para 512Mb, 50€ para 2GB hasta 4000€ para 64GB</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Las memorias flash son de tipo no volátil, esto es, la información que almacena no se pierde en cuanto se desconecta de la corriente, una característica muy valorada para la multitud de usos en los que se emplea este tipo de memoria.</p>
<p>Los principales usos de este tipo de memorias son pequeños dispositivos basados en el uso de baterías como teléfonos móviles, PDA, pequeños electrodomésticos, cámaras de fotos digitales, reproductores portátiles de audio, etc.</p>
<p><strong>HISTORIA</strong>: La historia de la memoria flash siempre ha estado muy vinculada con el avance del resto de las tecnologías a las que presta sus servicios como routers, módems, BIOS de los PCs, wireless, etc. Fue Intel en 1988 cuando inventó este tipo de memoria como evolución de las EEPROM existentes por aquel entonces.</p>
<p>Entre los años 1994 y 1998, se desarrollaron los principales tipos de memoria que conocemos hoy, como la SmartMedia o la CompactFlash. La tecnología pronto planteó aplicaciones en otros campos. En 1998, la compañía Rio comercializó el primer ‘Walkman’ sin piezas móviles aprovechando el modo de funcionamiento de SmartMedia. Era el sueño de todo deportista que hubiera sufrido los saltos de un Diskman en el bolsillo.</p>
<p><strong>APLICACIONES</strong>: El llavero USB que, además del almacenamiento, suelen incluir otros servicios como radio FM, grabación de voz y, sobre todo como reproductores portátiles de MP3 y otros formatos de audio.
 Las tarjetas de memoria flash que son el sustituto del carrete en la fotografía digital, ya que en las mismas se almacenan las fotos.</p>
<p><strong>TIPOS</strong>: Existen tarjetas de memoria de diferentes tamaños y marcas. Algunos formatos extendidos son: compact flash, secure rom, Memory Stick, Picture Card, etc. Los llaveros USB tienen infinitas formas, tamaños y funciones.</p>
<p><strong>REQUISITOS</strong>: Algunos reproductores MP3 o de video con memoria flash son autónomos y no es necesario disponer de ningún otro dispositivo. Las tarjetas de memoria y los llaveros USB (pendrives), necesitan de un ordenador, cámara digital o reproductor de música para poder funcionar.</p>
<p><strong>SITUACIÓN</strong>: En la actualidad, las memorias flash son un elemento fundamental para el ocio y el trabajo. El cambio de la fotografía analógica a la digital no habría sido posible sin este tipo de memorias. Los estudiantes, profesionales y otros colectivos, utilizan las memorias flash para transportar datos de una forma fácil y rápida.</p>
<p><strong>FUTURO</strong>: El futuro del mundo de la memoria flash es bastante alentador, ya que se tiende a la ubicuidad de las computadoras y electrodomésticos inteligentes e integrados y, por ello, la demanda de memorias pequeñas, baratas y flexibles seguirá en alza hasta que aparezcan nuevos sistemas que lo superen tanto en características como en coste y, al menos en apariencia, no es factible ni siquiera a medio plazo ya que la miniaturización y densidad de las memorias flash está todavía lejos de alcanzar niveles preocupantes desde el punto de vista físico.</p>
<h3 id="fibra-óptica-mecanismos-de-transmisión-de-datos">Fibra óptica. Mecanismos de transmisión de datos</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/fiber_rbsrhb.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/fiber_rbsrhb.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/fiber_rbsrhb-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/fiber_rbsrhb-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/fiber_rbsrhb.jpg" alt="fiber.jpg" loading="lazy">
        </picture>
        <figcaption>fiber.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Fibra óptica</li>
<li><strong>Año invención, invento y lugar</strong>: 1977 se instala en Inglaterra primer sistema de prueba</li>
<li><strong>Sectores a los que pertenece</strong>: Internet, telecomunicaciones, televisión</li>
<li><strong>Principales marcas</strong>: No existen marcas, aunque los principales inversores son compañías telefónicas como Motorola y compañías de televisión por cable como la venezolana Supercable</li>
</ul>
<p><strong>DEFINICIÓN</strong>:  La fibra óptica es el avance necesario para mejorar la transmisión de datos a una alta velocidad requerida para el uso mundial de Internet, las líneas telefónicas no tienen una capacidad de transmisión tan alta ya en su creación no fueron ideadas para transportar datos.</p>
<p><strong>HISTORIA</strong>: En 1959 se descubrió como derivación de los estudios de física (óptica) una nueva utilización de la luz, denominada rayo láser, que fueron aplicadas a las telecomunicaciones con la finalidad de que los mensajes se transmitiesen a velocidades inusitadas y con una amplia cobertura. Pero la utilización del láser era muy limitada debido a la inexistencia de conductores adecuados para hacer viajar las ondas electromagnéticas. Fue entonces cuando los científicos dirigieron sus esfuerzos en la producción de un canal, hoy conocido como fibra óptica. En 1966 surgió la propuesta de utilizar guía óptica para la comunicación y en 1977 se instalo en Inglaterra el primer sistema de prueba.</p>
<p><strong>BASE CIENTÍFICA</strong>: Cables de espesor comprendido entre 10-300 micrones que llevan los mensajes en forma de haces de luz de un extremo a otro sin interrupción mediante una fibra realizada con cristales minúsculos. La transmisión es por reflexión y no se producen apenas pérdidas ya que, el núcleo de la fibra está recubierto por una capa de vidrio que provoca un índice de refracción muy bajo. El sistema de emisión y recepción requiere los siguientes componentes: Señal de entrada, amplificador, fuente de luz, corrector óptico, línea de fibra óptica, receptor, amplificador y señal de salida.</p>
<p><strong>APLICACIONES</strong>: Aumentar la velocidad en las telecomunicaciones. Se aplica tanto en pequeños ambientes autónomos como en grandes redes geográficas (desde sistemas de procesamiento de datos en aviones hasta sistemas de largas líneas urbanas mantenidos por compañías telefónicas). Las aplicaciones más comunes son para Internet, redes, telefonía, televisión por cable.</p>
<p><strong>TIPOS</strong>: Los circuitos de fibra óptica están compuestos por filamentos de vidrio (cristales naturales) o plástico (cristales artificiales).</p>
<p><strong>REQUISITOS</strong>: Solo pueden suscribirse las personas en cuyas ciudades esté instalada la red de fibra óptica. El coste de conexión e instalación es alto. Las fibras son frágiles, hay disponibilidad limitada de conectores y la dificultad de reparación de un cable roto es alta.</p>
<p><strong>SITUACIÓN</strong>: Totalmente en auge, la instalación y aplicaciones de esta nueva tecnología es muy eficaz y además se sigue investigando al respecto para mejorar sus prestaciones.</p>
<p><strong>FUTURO</strong>: En un futuro la mayoría de personas tendrán acceso a la fibra óptica y su coste de instalación será menor. Esto producirá un aumento en las conexiones a Internet y un nuevo concepto en telefonía y televisión.</p>
<h3 id="wi-fi">Wi-fi</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wifi_icx0kk.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wifi_icx0kk.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wifi_icx0kk-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wifi_icx0kk-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/wifi_icx0kk.jpg" alt="wifi.jpg" loading="lazy">
        </picture>
        <figcaption>wifi.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: WI-FI o Wifi. Significa Wireless-Fidelity</li>
<li><strong>Año invención, invento y lugar</strong>: El estándar IEEE 802.11 fue publicado en 1997. Pertenece al Instituto de Ingenieros Eléctricos y Electrónicos (IEEE), asociación técnico-profesional mundial sin ánimo de lucro fundada en 1884 por diversas personalidades (incluso ilustres, como (Thomas Alva Edison, Alexander Graham Bell y Franklin Leonard Pope). WIFI como tal es el con junto de estándares basados en las especificaciones IEEE 802.11 y, al mismo tiempo, una marca de la Wi-Fi Alliance</li>
<li><strong>Año en que impactó en la sociedad</strong>: En 1999 apareció la versión 802.11b, que junto con la 802.11g han sido las más utilizadas</li>
<li><strong>Sectores a los que pertenece</strong>: como el IEEE es una asociación sin ánimo de lucro, cualquier sector puede beneficiarse de este estándar</li>
</ul>
<p><strong>DEFINICIÓN</strong>: El protocolo IEEE 802.11 es un conjunto de estándares pensado para conectar diversos ordenadores entre sí de forma inalámbrica (mediante infrarrojos u ondas de radio, depende del estándar), aunque su uso más frecuente en la actualidad es el de la conexión a Internet.</p>
<p><strong>HISTORIA</strong>: La primera versión del protocolo IEEE 802.11 fue creada en 1997, con una velocidad de transmisión de 2Mbps (Megabits por segundo). Posteriormente, en 1999, se crearon dos estándares más avanzados: el 802.11a (54Mbps) que operaba en la banda de 5GHz (GigaHerzios) y el 802.11b (11Mbps), que operaba en la banda de 2,4 Ghz (más usada, ya que es la misma que utilizan móviles y otros aparatos electrónicos). En junio de 2003 se creó otro estándar más, el 802.11g, que opera en la banda de 2,4GHz con una velocidad teórica máxima de 54Mbps y un radio de alcance de hasta 50km. Además al ser compatible con el estándar 802.11b se convirtió en el más popular.</p>
<p><strong>APLICACIONES</strong>: Su uso más común hoy en día es el de comunicar un ordenador u otro dispositivo (PDA, móvil, etc.) con un punto de acceso a Internet. Esto permite que, estando dentro del radio de cobertura del nodo de acceso, puedas acceder a Internet sin necesidad de cables (utilizando simultáneamente otros protocolos de seguridad como el WEP o el WPA para proteger la comunicación y los datos).</p>
<p><strong>TIPOS</strong>: Más que tipos, hay que hablar diferentes versiones de un mismo estándar de protocolo de comunicaciones (ver la parte de Historia para más detalle).</p>
<p><strong>REQUISITOS</strong>: En el uso más cotidiano, que es el acceso a Internet, lo único que necesitamos es tener un punto de acceso cercano al que poder conectar nuestro dispositivo. Si el dispositivo que queremos conectar es un ordenador, necesitaremos una tarjeta de red inalámbrica, si es otro tipo de dispositivo habitualmente ya tiene capacidad de comunicación WiFi integrada.</p>
<p><strong>SITUACIÓN</strong>: Actualmente es uno de los estándares de comunicación más utilizados, ya que permite crear grandes redes de conexión a Internet, incluso en ciudades enteras a bajo coste y sin necesidad de cables. De esta forma podemos estar conectados en todo momento y desde cualquier lugar a la red.</p>
<p><strong>FUTURO</strong>: Ya está en marcha una nueva versión del protocolo (la versión 802.11n) que se espera alcance velocidades de hasta 600Mbps y con un radio de alcance mucho mayor. En el futuro se prevé que las ciudades tendrán garantizado acceso a Internet mediante Wifi desde cualquier punto de la ciudad (como ejemplo, la ciudad de Nuenen, cuna de Van Gogh, en Holanda, ya lo tiene implementado).</p>
<h3 id="escáner">Escáner</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/scanner_khsbtw.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/scanner_khsbtw.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/scanner_khsbtw-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/scanner_khsbtw-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/scanner_khsbtw.jpg" alt="scanner.jpg" loading="lazy">
        </picture>
        <figcaption>scanner.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Escáner (o Scanner)</li>
<li><strong>Año invención, invento y lugar</strong>: Rudolf Hell es considerado el inventor del fax y del escáner. Fundó una empresa en Berlín que en los años 60 creó el precursor del actual escáner</li>
<li><strong>Año en que impactó en la sociedad</strong>: Nunca ha supuesto un enorme boom, aunque su mayor auge fue en los años 90</li>
<li><strong>Sectores a los que pertenece</strong>: Particular, comercial y profesional</li>
<li><strong>Principales marcas</strong>: Epson, Canon y HP</li>
<li><strong>Rango precio aproximado</strong>: Desde 60€ los más baratos a 240€ los más caros</li>
</ul>
<p><strong>DEFINICIÓN</strong>: El escáner es un hardware cuyo cometido principal es convertir información analógica en digital, para poder ser interpretada por un ordenador y almacenarla o manipularla a posteriori.</p>
<p><strong>HISTORIA</strong>: La compañía de Hell creó en 1929 una máquina capaz de transmitir texto. La máquina descomponía las letras en puntos y las retransmitía electrónicamente. Este aparato fue el precursor del fax y, posteriormente, sirvió como base tecnología para fabricar el primer escáner en 1963.</p>
<p><strong>APLICACIONES</strong>: Además de los usos habituales de un escáner (digitalizar imágenes, textos y demás), existe una variante del escáner que se utiliza con mucha frecuencia, sobre todo en comercios: el lector de código de barras.</p>
<p><strong>TIPOS</strong>: Básicamente hay tres tipos de escáneres: de rodillo, de mano y de sobremesa. El de rodillo es similar a un fax, ya que recoge automáticamente el documento a escanear y lo digitaliza. Su principal inconveniente es que solo puede digitalizar documentos de texto. El tipo de mano es el menos fiable, ya que depende del pulso del usuario, pero es el más barato. Por último, el de sobremesa, que es el más caro, pero también el más profesional y extendido.</p>
<p><strong>REQUISITOS</strong>: La tecnología que compone el escáner tiene el principal inconveniente en que es muy mecánica y eso puede derivar en fallos debidos al desgaste, golpes, etc. Respecto a consumo y requisitos, no necesita nada más que electricidad para funcionar y un driver (estándar TWAIN) para comunicarse con el ordenador.</p>
<p><strong>SITUACIÓN</strong>: Actualmente no es uno de los productos más demandados. El hecho de que la mayoría de información que se produce, ya sea digital ha hecho que el escáner caiga en desuso.</p>
<p><strong>FUTURO</strong>: Entre los dispositivos basados en la tecnología del escáner con mayor futuro encontramos los lectores de huellas dactilares i los escáneres de retina, entre otros.</p>
<h3 id="webcam">Webcam</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/webcams_ssdicv.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/webcams_ssdicv.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/webcams_ssdicv-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/webcams_ssdicv-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/webcams_ssdicv.jpg" alt="webcams.jpg" loading="lazy">
        </picture>
        <figcaption>webcams.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Webcam o cámara web</li>
<li><strong>Año invención, invento y lugar</strong>: Fue inventada por Quentin Stafford-Fraser en 1991 en el Departamento de Computación de la Universidad de Cambridge</li>
<li><strong>Año en que impactó en la sociedad</strong>: Actualmente es cuando más se está comercializando</li>
<li><strong>Sectores a los que pertenece</strong>: Particular, ocio</li>
<li><strong>Principales marcas</strong>: Logitech, Creative, Microsoft, Genius, etc</li>
<li><strong>Rango precio aproximado</strong>: Entre 12€ y 120€ dependiendo del modelo</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Básicamente, la webcam es una cámara digital conectada a un PC y su cometido principal es el de capturar imágenes para distribuirlas por Internet.</p>
<p><strong>HISTORIA</strong>: Se atribuye su invento a Quentin Stafford-Fraser, del Departamento de Computación de la Universidad de Cambridge. Quentin era adicto al café y, harto de bajar escaleras para ir a por café y que no quedara, decidió conectar una videocámara a un ordenador mediante una tarjeta de vídeo y así poder ver la cafetera desde su sitio.</p>
<p><strong>APLICACIONES</strong>: El uso más popular es el de comunicarse visualmente con otras personas (por ejemplo, con programas de mensajería instantánea, como MSN Messenger), aunque también permite grabar pequeños vídeos y fotos para subirlos a la Red o jugar a videojuegos (ver Tipos).</p>
<p><strong>TIPOS</strong>: Además de las webcams particulares, actualmente se pueden encontrar por Internet miles de webcams en lugares públicos y ciudades del mundo que te permiten “visitar” otros lugares sin estar allí (<a href="http://www.worldlive.cz/en/webcams#location">http://www.worldlive.cz/en/webcams#location</a>). Otros tipos de webcams serían, por ejemplo, la “Eye Toy”, un accesorio para la consola PlayStation2 que captura tu imagen y movimientos y te convierte en el protagonista de los juegos.</p>
<p><strong>REQUISITOS</strong>: El único requisito es disponer de un ordenador medianamente potente, un puerto USB (suele ser la conexión más habitual) y los drivers de la webcam.</p>
<p><strong>SITUACIÓN</strong>: Actualmente las webcams se están potenciando, sobre todo para un uso lúdico y de comunicación, pero gozan de una gran aceptación.</p>
<p><strong>FUTURO</strong>: Cada vez más aparatos tecnológicos incluyen cámara y conexión a Internet y además se va mejorando la velocidad de transmisión de datos, lo cual potenciará el uso de videoconferencias como forma de comunicación, ya sea desde el móvil, el ordenador o cualquier otro dispositivo portátil.</p>
<h3 id="bluetooth-comunicación-de-dispositivos-informáticos">Bluetooth. Comunicación de dispositivos informáticos</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/memorias_upspqg.jpg" alt="memorias.jpg" loading="lazy">
        </picture>
        <figcaption>memorias.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Bluetooth</li>
<li><strong>Año invención, invento y lugar</strong>: Ericsson, 1994 (primera aparición)</li>
<li><strong>Año en que impactó en la sociedad</strong>: Desde 2001 hasta 2005 las ventas de dispositivos con bluetooth se duplicaban cada año</li>
<li><strong>Sectores a los que pertenece</strong>: Entornos domésticos, publicidad, ocio y entretenimiento, aplicable a medicina, automóviles, etc</li>
<li><strong>Principales marcas</strong>: Ericsson, Nokia, Toshiba, Intel, IBM, etc</li>
<li><strong>Rango precio aprox.</strong>: Dependiendo de qué aplicación del bluetooth. Por ejemplo un mouse con tecnología bluetooth cuesta sobre unos 90 €, en cambio un adaptador USB-Bluetooth lo encontramos por 30€</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Bluetooth es el nombre de la norma que define un estándar global de comunicación inalámbrica, y permite la comunicación y transmisión de datos y voz mediante un enlace por radiofrecuencia. Si un equipo se encuentra dentro del radio de cobertura de otro, éstos pueden establecer conexión entre ellos.</p>
<p><strong>HISTORIA</strong>: El nacimiento de la tecnología Bluetooth se inicia en 1994, a partir de un estudio que desarrollaba la marca Ericsson e investigaba la viabilidad de una comunicación vía radio de bajo coste y consumo. Como consecuencia de este estudio, se consiguió crear un enlace de radio a corto alcance, llamado MC link. Conforme el proyecto avanzaba se fueron considerando una amplia gama de aplicaciones, puesto que el chip de radio en que se basaba resultaba relativamente económico.</p>
<p>Se observó que, para que esta tecnología tuviera éxito, se debía dotar de ésta a un gran número de equipos. Por este motivo se originó el grupo SIG formado por 5 promotores (Ericsson, Nokia, IBM, Toshiba e Intel) que formaron un consorcio y establecieron un estándar para su software que permitiera asegurar la interoperatibilidad de los equipos de diversos fabricantes.</p>
<p><strong>APLICACIONES</strong>: La tecnología bluetooth aporta muchas posibilidades, principalmente porque facilita las comunicaciones entre equipos móviles y fijos, elimina cualquier tipo de cables y conectores entre éstos, además de que incluso es posible crear pequeñas redes inalámbricas entre equipos personales. Además, la tecnología bluetooth es aplicable a muchos sectores, principalmente hardware, software y telecomunicaciones.</p>
<p><strong>TIPOS</strong>: Existen diferentes versiones de dispositivos bluetooth clasificados por la potencia de transmisión de éstos, aunque son todos compatibles independientemente de este factor. Las clases de dispositivos bluetooth serían los dispositivos de Clase 1, con un alcance de unos 100m, de Clase 2, con un alcance de 20/30m y finalmente los de Clase 3, con tan solo un metro de radio. Para que dos dispositivos puedan comunicarse deben ocupar simultáneamente el radio de alcance del otro, es decir, si queremos que un dispositivo de clase 1 se comunique con otro de clase 3, deberemos colocarlo a una distancia de aprox. 1 metro, independientemente de que el alcance del dispositivo de clase 1 llegue a los 100m.</p>
<p><strong>REQUISITOS</strong>: El único requisito necesario es un chip de relativamente bajo coste adaptado a cada aplicación de bluetooth. Sin embargo, el punto débil de la tecnología bluetooth es la seguridad dado la facilidad que existe para transferir datos a equipos muchas veces sin capacidad de procesamiento. Para evitar este problema se ha definido una rutina de pregunta-respuesta, se provee a los equipos de una clave de sesión y se genera una corriente cifrada de datos (encriptación).</p>
<p><strong>SITUACIÓN</strong>: En auge, según datos estadísticos desde 2001 hasta 2005 la venta de dispositivos bluetooth se duplica cada año.</p>
<p><strong>FUTURO</strong>: Próximamente, será introducida la tecnología bluetooth en consolas como Sony Playstation 3 y Nintendo Wii que dispondrán de mandos inalámbricos. También el ámbito de los negocios se verá afectado al poder utilizar el bluetooth como medio para enviar publicidad a los móviles al pasar cerca de un emisor. Otra de las novedades será la aplicación del bluetooth para la comunicación por cable entre equipos GPS y equipamiento médico.</p>
<h3 id="2-software-informático">2. SOFTWARE INFORMÁTICO</h3>
<h3 id="mp3-y-divx-principales-códecs-de-audio-y-video">MP3 y DIVX. Principales códecs de audio y video</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/divx_jegse2.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/divx_jegse2.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/divx_jegse2-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/divx_jegse2-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/divx_jegse2.jpg" alt="divx.jpg" loading="lazy">
        </picture>
        <figcaption>divx.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: DivX, Divx;), MP3, MPEG Audio Layer 3Año invención, invento y lugar: MP3 : desarrollado y patentes entre 1986-1995, MPEG (Media Pictures Expert Group). Divx: 2000, Jeroma Rota (Francia), Max Morice (Alemania) (hackers)</li>
<li><strong>Año en que impactó en la sociedad</strong>: Paralelamente a la ampliación en el número de conexiones por banda ancha (2000-2005)</li>
<li><strong>Sectores a los que pertenece</strong>: Entornos domésticos y profesionales, Ind. Informática, industria musical y cinematográfica</li>
<li><strong>Rango precio aprox.</strong>: Los reproductores mp3 cuestan unos 40-300 euros, y los de divx de 40-200 euros</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Mp3 y Divx son los nombre de los principales codecs de audio y sonido más utilizados actualmente. Los codecs (abreviatura de codificador-decodificador), codifican el tamaño de una señal para reducir el tamaño de los archivos de audio y multimedia, principalmente para su difusión por internet u otros medios de transmisión y posteriormente lo recuperan para que sea utilizable.</p>
<p><strong>HISTORIA</strong>: La teconolgía divx fue desarrollada a la sombra de otras tecnologías (MPEG-4 Part 2 y DecSS) por dos Hackers (Jeroma Rota y Max Morice) en el año 2000. Después de ésta innovación destacaron dos proyectos que pretendían legalizar el divs, éstos eran Project Mayo y 3ivx.com. Project Mayo afirmaba en todo momento conocer el código fuente hasta que culminó con la creación del primer códec legal Divx 4. Actualmente el desarrollo es completamente legal y pertenece a la compañía Divx, Inc, originariamente basada en el Project Mayo.</p>
<p><strong>BASE CIENTÍFICA</strong>: La tecnología mp3 fue desarrollada por el MPEG (Moving Pictures Expert Group) y la reducción del tamaño se basa en un análisis psicoacústico del sonido, es decir, el sonido es analizado y se descartan los sonidos que el cerebro no puede percibir (frecuencias muy altas o muy bajas, sonidos superpuestos, etc.) consiguiendo un tamaño final muy reducido con una pérdida de calidad insignificante.</p>
<p><strong>TIPOS</strong>: Tanto DivX como Mp3 reducen notoriamente el tamaño del archivo sin apenas alterar la calidad, y es éste precisamente el factor que ha ocasionado tanto éxito y acogida para estos códecs. Para hacernos una idea, en Divx se almacena en unos 700 MB lo que en un DVD en 8 GB, con una pérdida de calidad irrisoria. Lo mismo ocurre con el mp3, que almacena aproximadamente 1 minuto de sonido en 1 MB,es decir comprime en un 90 % el tamaño del mismo archivo en formato WAV. Esta reducción del tamaño facilita su difusión por internet y por este motivo es tan popular.</p>
<p><strong>REQUISITOS</strong>: Los Mp3 y divx se encuentran básicamente(aunque no legalmente) circulando por Internet, normalmente se difunden con los programas P2P o también desde algunas páginas web u otros programas. Desde éstos es posible descargarlos a tu propio ordenador para reproducirlo con un software reproductor específico (que también se encuentran fácilmente en internet), o bien se pueden grabar sobre un cd obteniendo aproximadamente un cd mp3 con aproximadamente unas 12 horas de música o bien una película con calidad cercana al dvd.</p>
<p><strong>SITUACIÓN</strong>: Actualmente estas tecnologías estan de moda y va ligeramente más avanzada el mp3 ya que los archivos divx son más extensos y requieren conexiones de banda ancha de las que no todo el mundo dispone.</p>
<p><strong>FUTURO</strong>: En este sector es impredecible conocer hacia dónde se decantará esta lucha entre piratería e industrias cinematrográficas y musicales, cada vez se pactan nuevas leyes en contra de la piratería pero sin mucho efecto aparentemente. Podemos suponer que se crearan otras formas de almacenamiento de imagen y sonido y que probablemente paralelamente se crearan también sus respectivos codecs, cada vez con una calidad superior.</p>
<h3 id="messenger-y-voip-comunicación-en-tiempo-real-utilizando-ordenadores">Messenger y VOIP. Comunicación en tiempo real utilizando ordenadores</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/messenger_drnkad.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/messenger_drnkad.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/messenger_drnkad-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/messenger_drnkad-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/messenger_drnkad.jpg" alt="messenger.jpg" loading="lazy">
        </picture>
        <figcaption>messenger.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Programas de mensajería instantánea, Voip, Voz sobre IP, Telefonía IP, Telefonía por Internet, Telefonía Broadband y Voz sobre Broadband. Año invención, invento y lugar: El precedente fue la “Red experimental de protocolo de voz”, ARPANET – 1973 y el primer programa de mensajería instantánea en Internet fue ICQ,1996 (español). Año en que impactó en la sociedad: A partir del 2000</li>
<li><strong>Sectores a los que pertenece</strong>: Comunicación, Internet, educación y negocios</li>
<li><strong>Principales marcas</strong>: AIM, ICQ, Yahoo Messenger, Windows Messenger, QQ, Skype, Google Talk</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Voz sobre Protocolo de Internet, también llamado Voz sobre IP, VoIP, es el enrutamiento de conversaciones de voz sobre Internet o a través de alguna otra red basada en IP. La utilidad más usual del protocolo VOIP es la de los programas de mensajería instantánea.</p>
<p><strong>HISTORIA</strong>: Una primera forma de mensajería instantánea fue la implementación en el sistema PLATO usada al principio de los 70. Después el sistema tal en UNIX/LINUX comenzó a ser usado por ingenieros y académicos en los 80 y 90. En 1996 apareció ICQ, primer programa de mensajería instantánea. Desde su aparición han surgido muchos programas que han ido incorporando variaciones y han sido desarrollados en paralelo en otras partes, cada aplicación teniendo su propio protocolo. Alternativamente han ido surgiendo programas que soportan varios protocolos como Gaim o Trillian y recientemente algunos servicios de mensajería han comenzado a ofrecer telefonía (VoIP) y videoconferencia.</p>
<p><strong>BASE CIENTÍFICA</strong>: VoIP convierte las conversaciones de voz en audio digital, que se puede guardar en un equipo. En el origen la voz se digitaliza, se comprime y se encapsula sobre el protocolo TCP/IP. En el destino se hace la operación contraria. Esto se traduce en una mayor flexibilidad para participar en una conversación.</p>
<p><strong>APLICACIONES</strong>: Importantes aplicaciones en varios sectores , principalmente para el ocio, aunque también es importante su aplicación a los negocios y a la educación. Estos programas tienen la finalidad de mejorar la comunicación ofreciendo una comunicación instantánea al cliente, a diferencia del convencional “correo electrónico”. Además, estos programas cada vez incorporan más opciones como llamadas telefónicas, compartir archivos, pizarra virtual, juegos incorporados, videoconferencia, enviar SMS a móviles etc.</p>
<p><strong>TIPOS</strong>: Existen varios programas dependiendo de las funciones que tenga, algunos se decantan más hacia la videoconferencia y llamadas y en cambio otros hacia compartir funciones y archivos.</p>
<p><strong>REQUISITOS</strong>: Los requisitos dependen del programa, generalmente es necesario un ordenador con conexión a Internet con una velocidad preferiblemente alta, una cuenta en el servidor deseado, y para la mayoría una versión de Windows avanzada, audio y micrófono, y para algunas funciones la webcam.</p>
<p><strong>SITUACIÓN</strong>: Aunque el “boom” de estos programas se sitúa unos años atrás, se sigue investigando con mucho ímpetu sus aplicaciones en otros campos y sigue aumento el número de usuarios que lo utilizan.</p>
<p><strong>FUTURO</strong>: Parece ser que estos programas se decantan cada vez más a integrar los programas de mensajería instantánea con los P2P, se estudia la posibilidad de introducir el uso del PayPal con estos programas.</p>
<h3 id="peer-to-peer-redes-de-intercambio-de-archivos-como-napster-edonkey-kademlia-gnutella-o-bittorrent">Peer To Peer. Redes de intercambio de archivos como Napster, Edonkey, Kademlia, Gnutella o BitTorrent</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/emule_ntafv0.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/emule_ntafv0.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/emule_ntafv0-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/emule_ntafv0-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/emule_ntafv0.jpg" alt="emule.jpg" loading="lazy">
        </picture>
        <figcaption>emule.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: P2P, Emule, Kazaa, Overnet, Torrents, Napster</li>
<li><strong>Año invención, invento y lugar</strong>: La primera aplicación P2P (PeerToPeer) fue Napster, en 1999. En el año 2001 se cerró por orden judicial (ya tenía 27 millones de usuarios) y en el 2002 empezaron a surgir las primeras redes descentralizadas como Kazaa, Grokster y Morpheus</li>
<li><strong>Año en que impactó en la sociedad</strong>: Desde el año en que apareció Napster, el intercambio de ficheros por medio de redes P2P ha ido creciendo sin parar en todo el mundo y a día de hoy existen cientos de millones de usuarios</li>
<li><strong>Sectores a los que pertenece</strong>: se suele utilizar en entornos domésticos aunque poco a poco algunas universidades y empresas empiezan a utilizar el protocolo de Bitorrent para compartir archivos de gran tamaño</li>
<li><strong>Distribución libre/privada</strong>: la mayoría son de distribución libre. Emule: proyecto de código abierto (SourceForge). BitTorrent es distribuido bajo la licencia MIT</li>
<li><strong>Principales proyectos</strong>: Emule (popular en Europa y América), BitTorrent (popular en Asia)</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Los programas y redes P2P se utilizan para compartir archivos informáticos de todo tipo de forma gratuita y a través de Internet.</p>
<p><strong>HISTORIA</strong>: Las redes P2P (PeerToPeer), se basan en la conexión de ordenadores mediante programas informáticos como Emule. Al principio, algunas redes P2P no eran descentralizadas y por tanto era necesario que un servidor gestionara los clientes y sus archivos. En la actualidad la tecnología de los programas P2P sigue evolucionando con el objetivo de hacer lo más anónima posible la conexión de los usuarios y sus transferencias.</p>
<p><strong>APLICACIONES</strong>: Actualmente, las redes P2P se utilizan mayormente para compartir ficheros de música, películas codificadas en divx y todo tipo de software para PC, MAC, consolas de videojuegos, ebooks, etc.</p>
<p><strong>TIPOS</strong>: La comunidad de usuarios P2P es muy amplia y existen multitud de programas y MODS (modificaciones de los programas originales) para compartir ficheros. En España, existen comunidades como Emulespana donde se pueden encontrar la información necesaria para empezar a experimentar con las redes Peer To Peer.</p>
<p><strong>REQUISITOS</strong>: Para poder conectarse a una red P2P es necesario disponer de una conexión a Internet de alta velocidad, un ordenador PC o MAC con Windows, MAC OS o Linux, y un programa informático como Emule, BitTorrent o Pando.</p>
<p><strong>SITUACIÓN</strong>: Actualmente emule y BitTorrent son los programas más usados de intercambio de archivos. La RIAA, SGAE, MPA y otras organizaciones que defienden los derechos de autor, mantienen un pulso con las redes P2P con el objetivo de prohibir su uso.</p>
<p><strong>FUTURO</strong>: A lo largo de la historia, las demandas han llevado a los usuarios a cambiar a programas P2P con tecnologías más difíciles de detener y el número de usuarios no ha disminuido. El fenómeno de Internet y su constante evolución obligará a las productoras de cine y música a cambiar su modelo de negocio.</p>
<h3 id="blogging-comunidades-sociales-evolución-a-internet-20">Blogging, Comunidades Sociales. Evolución a Internet 2.0</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/youtube_fwmlui.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/youtube_fwmlui.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/youtube_fwmlui-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/youtube_fwmlui-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/youtube_fwmlui.jpg" alt="youtube.jpg" loading="lazy">
        </picture>
        <figcaption>youtube.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Friendster, YouTube, Blogspot, Neurona, etc</li>
<li><strong>Año invención, invento y lugar</strong>: En el 2002 empezaron a aparecer sitios web promocionando las redes de amigos en línea</li>
<li><strong>Año en que impactó en la sociedad</strong>: A partir de año 2003 se empezaron a hacer populares sitios como Friendster, MySpace, Tribe.net, Linkedln</li>
<li><strong>Sectores a los que pertenece</strong>: las redes sociales son usadas por usuarios de Internet de todo tipo y actualmente en sitios como Second Life, empresas de todo el mundo pueden incluso crear una tienda virtual y promocionar sus servicios y vender sus productos</li>
<li><strong>Principales proyectos</strong>: SecondLife, MySpace, YouTube, Blogspot, CouchSurfing, Neurona, etc</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Las redes sociales están compuestas por usuarios, los cuales se encargan de invitar a más gente y entre ellos se pueden comunicar, ver los perfiles de los otros usuarios, ver fotos, videos, música, perfiles profesionales, etc. Los usuarios se organizan en grupos y hay potentes buscadores para recorrer la red social en busca de otros usuarios.</p>
<p><strong>HISTORIA</strong>: Las redes sociales son el resultado de la evolución de Internet y el aumento de la población que usa ordenador.</p>
<p><strong>APLICACIONES</strong>: Proporcionar contenidos multimedia, ofrecer alojamiento a otros viajeros, compartir perfiles profesionales, buscar amigos y pareja, encontrar a antiguos compañeros de colegio y trabajo,…</p>
<p><strong>TIPOS</strong>: Principalmente actividades relacionadas con el ocio y la difusión de contenidos multimedia. También existen redes enfocadas al ámbito empresarial y profesional.</p>
<p><strong>REQUISITOS</strong>: Normalmente, para participar en una red social, es necesario registrarse como usuario y aportar algunos datos personales o rellenar un perfil personalizado en la página web.</p>
<p><strong>SITUACIÓN</strong>: Actualmente las redes sociales están en auge y a diario siguen apareciendo nuevas iniciativas con intención de captar el interés de los internautas.</p>
<p><strong>FUTURO</strong>: El futuro de Internet a la denominada “Internet 2.0” y algunos ya hablan de “Internet 3.0”, pasa por una mayor implicación de los usuarios en Internet. Las redes sociales seguirán estando presentes y evolucionarán al mismo tiempo que Internet.</p>
<h3 id="e-commerce-y-publicidad-online-compra-venta-en-internet-aplicaciones-bancarias">E-Commerce y Publicidad Online. Compra-Venta en Internet. Aplicaciones bancarias</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/paypal_xnh6tn.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/paypal_xnh6tn.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/paypal_xnh6tn-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/paypal_xnh6tn-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/paypal_xnh6tn.jpg" alt="paypal.jpg" loading="lazy">
        </picture>
        <figcaption>paypal.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Google Adsense y Adwords, eBay, Paypal, Amazon, etc</li>
<li><strong>Año invención, invento y lugar</strong>: En 1995 los paises integrantes del G7/G8 crearon la iniciativa Un Mercado Global para PYMEs (en inglés), con el propósito de acelerar el uso del comercio electrónico entre las empresas de todo el mundo</li>
<li><strong>Año en que impactó en la sociedad</strong>: Superada la crisis de “las punto com”, a partir del año 2003.</li>
<li><strong>Sectores a los que pertenece</strong>: toda la sociedad se beneficia en mayor o menor medida del e-commerce y sus diferentes aplicaciones, desde la tarjeta de crédito a la compra en Internet</li>
<li><strong>Principales proyectos</strong>: Google Adsense y Adwords, eBay, Paypal, Amazon</li>
</ul>
<p><strong>DEFINICIÓN</strong>: E-Commerce es la simple replicación de un negocio en Internet permitiendo recoger los pedidos u ofertar los productos y/o servicios desde o hacia clientes o proveedores.</p>
<p><strong>HISTORIA</strong>: Desde 1995 empezaron a surgir multitud de empresas en Internet, pero la desconfianza de los clientes, y la ausencia de un plan de negocio bien definido y con objetivos concretos, llevó a muchas de ellas a desaparecer (crisis de las punto com).</p>
<p><strong>APLICACIONES</strong>: Realizar compras a través de Internet. Realizar operaciones en tu banco de forma online. Ganar dinero y promocionar tu negocio con adsense y adwords de google.</p>
<p><strong>REQUISITOS</strong>: La mayoría de servicios para compras en Internet requieren el uso de una tarjeta de crédito y para ventas es necesaria una pasarela de pago que conecte la página web con un banco o servicio como paypal.</p>
<p><strong>SITUACIÓN</strong>: Actualmente, gran parte de la sociedad desconoce o no le interesan los servicios de compra/venta en Internet. Una de las razones más populares es la falta de seguridad en Internet o el miedo a ser estafado.</p>
<p><strong>FUTURO</strong>: El e-commerce del futuro contará con más facilidades para mover el dinero a escala mundial, mayor aceptación social y herramientas de marketing online sofisticadas.</p>
<h3 id="3-otras-aplicaciones-de-la-informática">3. OTRAS APLICACIONES DE LA INFORMÁTICA</h3>
<h3 id="gps-global-positioning-system">GPS (Global Positioning System)</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/gps_yasy9i.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/gps_yasy9i.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/gps_yasy9i-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/gps_yasy9i-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/gps_yasy9i.jpg" alt="gps.jpg" loading="lazy">
        </picture>
        <figcaption>gps.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: GPS (Global Positioning System) o Sistema de Posicionamiento Global</li>
<li><strong>Año invención, invento y lugar</strong>: Fue diseñado por el Departamento de Defensa de los Estados Unidos y está operativo desde 1995</li>
<li><strong>Año en que impactó en la sociedad</strong>: Actualmente es cuando más se está comercializando</li>
<li><strong>Sectores a los que pertenece</strong>: Militar y Particular</li>
<li><strong>Principales marcas</strong>: Airis, TomTom, Navman, Acer, etc</li>
<li><strong>Rango precio aproximado</strong>: entre 180€ y 600€ dependiendo del modelo. Los profesionales y especializados pueden llegar incluso hasta 30000€</li>
</ul>
<p><strong>DEFINICIÓN</strong>: La idea del GPS está basada en un conjunto de 21 satélites. Un GPS lo que hace es recibir varias señales conjuntas al mismo tiempo de algunos de los satélites y calcular la posición en la que se encuentra.</p>
<p><strong>HISTORIA</strong>: Inicialmente idearon un sistema denominado TRANSIT, constituido por 6 satélites, que pretendía dar soporte a la flota marina de los EE.UU. Posteriormente lo perfeccionaron con 28 satélites que daban cobertura mundial y constante primero de los 28 satélites se lanzó en 1978 y en 1983 ya estaba disponible toda la red.</p>
<p><strong>APLICACIONES</strong>: Además de los fines bélicos, el GPS tiene muchas aplicaciones: navegación marítima, detección de terremotos, volcanes, seguimiento de icebergs, etc. Cada vez más se usa a nivel particular y de ocio.</p>
<p><strong>TIPOS</strong>: El sistema GPS es un sistema único. Si bien es cierto que GPS es la red de satélites americanos y actualmente existe otra red rusa (GLONASS) y en unos años existirá otra europea (GALILEO), no hay una gran diferencia entre unas y otras y los receptores tienen casi todos características comunes.</p>
<p><strong>REQUISITOS</strong>: Para poder hacer uso de la tecnología GPS es necesario poseer un receptor (también conocido con el nombre de GPS) y recibir la señal de los satélites (cuantos más, mejor). Habitualmente los receptores llevan incorporados mapas de zonas geográficas o ciudades para facilitar la ubicación al usuario.</p>
<p><strong>SITUACIÓN</strong>: Actualmente el GPS se encuentra en un gran momento. Es muy habitual ver cada vez más coches y particulares con un receptor que no solo les ubica geográficamente sino que además les indica la ruta a seguir.</p>
<p><strong>FUTURO</strong>: En los próximos años entrará en funcionamiento la red europea de satélites GALILEO, que también ofrecerá servicio de posicionamiento. Además, cada vez se incorporan más receptores GPS tanto en teléfonos móviles como en ordenadores portátiles y PDAs.</p>
<h3 id="home-media-center-la-informática-como-centro-del-hogar">Home Media Center. La informática como centro del hogar</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/mediacenter_wt8jhq.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/mediacenter_wt8jhq.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/mediacenter_wt8jhq-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/mediacenter_wt8jhq-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/mediacenter_wt8jhq.jpg" alt="mediacenter.jpg" loading="lazy">
        </picture>
        <figcaption>mediacenter.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Home Media Center</li>
<li><strong>Año invención, inventor y lugar</strong>: SES GLOBAL, Astra, 2003 – Hannover</li>
<li><strong>Año en que impactó en la sociedad</strong>: Todavía no ha impactado realmente en la sociedad</li>
<li><strong>Sectores a los que pertenece</strong>: Informática, electrodomésticos, ocio, fabricantes de hardware, software, proveedores de contenidos, distribuidores, proveedores de productos y servicios</li>
<li><strong>Rango precio aprox.</strong>: 500€ – 3000€</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Un media center es un concepto nuevo de computador, adaptado a cubrir las necesidades de toda la familia. Está ideado para convertirse en el centro del hogar, es decir, para poder operar con un único dispositivo que permita realizar varias funciones al mismo tiempo y permita acceder de forma interactiva a la televisión.</p>
<p><strong>HISTORIA</strong>: Aunque se trata de una invención muy reciente, el primer Home Media Center europeo se presentó en CeBIT (Hannover) por manos de la empresa SES GLOBAL. No podemos describir claramente la historia del Home Media Center pues se trata mejor dicho de una fusión entre las funciones de los ordenadores y las de otros dispositivos audiovisuales, principalmente las funciones del DVR (Digital Video Recorder) que permite grabar en un disco duro la programación televisiva, las consolas de videojuegos con conexión a Internet y gestor de audio y fotografía digital (Xbox, Playstation) No obstante podemos afirmar que el software que utilizan principalmente estos computadores son Windows, Linux y Apple.</p>
<p><strong>APLICACIONES</strong>: Un media center puede utilizarse como computadora personal o bien conectarse a la television mediante el cable de vídeo. El media center permite reproducir música, ver películas y fotografías almacenadas en un disco duro local o en todo caso en una red local, también son capaces de reproducir DVDs, grabar imágenes de la televisión o realizar otras tareas como buscar noticias en internet. Tienen una gran capacidad de almacenamiento (los actuales aproximadamente unos 250 GB ). Su uso es bastante simple y gráfico, aunque permiten realizar funciones bastante complejas. Su principal ventaja es que el usuario ahorra dinero invirtiendo en un único dispositivo lo que tradicionalmente se obtenía de varios (TV, vídeo, ordenador, equípo de música, etc.). Admeás tienen la ventaja de que son bastante compactos y no ocupan mucho espacio.</p>
<p><strong>TIPOS</strong>: Todavía no estan bien definidos, pero las diferencias se crearán dependiendo de la función del media center y de las posibilidades y servicios que cada dispositivo pueda ofrecer.</p>
<p><strong>REQUISITOS</strong>: Es necesario comprar un Media Center, el precio varia en función de las innovaciones y potencia de éste. También es necesario tener conexión a internet, y para operar con un media center es posible hacerlo con un teclado o bien con un mando de control remoto.</p>
<p><strong>SITUACIÓN</strong>: Aunque todavía no es habitual, su uso está en pleno auge, cada vez son más las marcas que apuestan por estos equipos destinados a colocar la informática como centro del hogar. Aunque en España todavía no son demasiado conocidos, en otros países como EE.UU. y U.K. cada ves son más populares.
 FUTURO: Posiblemente, en un futuro cercano, todas las viviendas estaran equipadas con un media center que también cumplirá las funciones de ordenador personal cuando sea necesario.</p>
<h3 id="consolas-de-videojuegos">Consolas de videojuegos</h3>
<p>
      <figure>
        <picture>
          <source media="(min-width: 769px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wee_vyqnbz.webp" />
          <source media="(min-width: 769px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wee_vyqnbz.jpg" />
          <source media="(min-width: 320px)" type="image/webp" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wee_vyqnbz-mobile.webp" />
          <source media="(min-width: 320px)" type="image/jpeg" srcset="/blog/the-tech-inventions-that-changed-our-lives/images/wee_vyqnbz-mobile.jpg" />
          <img class="image" src="/blog/the-tech-inventions-that-changed-our-lives/images/wee_vyqnbz.jpg" alt="wee.jpg" loading="lazy">
        </picture>
        <figcaption>wee.jpg</figcaption>
      </figure></p>
<ul>
<li><strong>Nombre</strong>: Consola o videoconsola</li>
<li><strong>Año invención, invento y lugar</strong>: No existe un único inventor de los videojuegos, aunque una de las primeras empresas dedicada fue ATARI, fundada en 1972 en Nueva York</li>
<li><strong>Año en que impactó en la sociedad</strong>: Cada año tiene un nivel de ventas más elevado y un mayor impacto en el sector de ocio</li>
<li><strong>Principales marcas</strong>: Sony, Nintendo, Microsoft</li>
<li><strong>Rango precio aproximado</strong>: Desde 130€ la Nintendo DS a 399€ la nueva Playstation 3</li>
</ul>
<p><strong>DEFINICIÓN</strong>: Una consola podría definirse como un aparato electrónico cuyo propósito principal es el de permitir jugar a videojuegos. Ésta sería su definición básica, aunque cada vez más las consolas se están convirtiendo en centros de ocio multimedia.</p>
<p><strong>HISTORIA</strong>: Aunque en los años 50 ya empezaron a surgir empresas como SEGA y algunos videojuegos como el OXO (A.S.Douglas, 1952 Universidad de Cambridge), una versión del famoso juego del tres en raya para jugar contra la computadora, la Odyssey (Magnavox, 1972) se considera la primera consola como tal. A pesar de eso, fue la llegada de juegos como PONG (ATARI, 1975), SPACE INVADERS (Taito, 1978) o PAC-MAN la que marcó un antes y un después en la industria de los videojuegos. A partir de ahí surgieron consolas como la Atari 2600 (1977), la Nintendo (1985) y la Super Nintendo (1991), las diferentes versiones de Playstation (SONY), etc.</p>
<p><strong>APLICACIONES</strong>: Inicialmente las consolas estaban preparadas únicamente para ejecutar juegos, pero las exigencias del mercado y la evolución de las comunicaciones (juegos en red, descargas de Internet, formatos multimedia, etc.) han hecho que los últimos modelos de consolas ya dispongan de conexión a Internet, reproducción de DVD, fotografías y muchas otras aplicaciones.</p>
<p><strong>TIPOS</strong>: Más que tipos se podría hablar de clasificaciones, por ejemplo: por marcas (SONY, SEGA, NINTENDO, MICROSOFT..), por sistema de almacenamiento (cartuchos, CDs, DVDs..), etc. Pero quizás la mejor forma de dividirlo es en portátiles y no-portátiles. Las portátiles se caracterizan por ser fáciles de transportar y porque se puede jugar con ellas en cualquier lugar y momento. Las no-portátiles, en cambio, son mucho más potentes y con mejores gráficos.</p>
<p><strong>REQUISITOS</strong>: Si la consola es portátil, lo único que se necesita para utilizarla es que tenga la batería cargada y, lógicamente, algún juego. Si no lo es, entonces será necesario (además del juego) algún enchufe y un televisor o monitor para poder jugar.</p>
<p><strong>SITUACIÓN</strong>: Estamos viviendo la era más dorada de los videojuegos. Actualmente es una de las industrias que más dinero mueve en el mundo, incluso por encima del cine.</p>
<p><strong>FUTURO</strong>: Parece que el futuro de las consolas es inmejorable. El reciente lanzamiento de la Nintendo Wii y la Playstation 3 ha vuelto a poner los videojuegos en el punto de mira de los medios de comunicación, y no es para menos: mandos inalámbricos con detectores de movimiento, navegación por Internet, Bluetooth y cada vez más comunicación entre usuario y videojuego e incluso entre consola y otros “gadgets”, como otras consolas portátiles, reproductores de Mp3, etc. Se augura un futuro inmejorable para las consolas como centro de ocio y diversión.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/the-tech-inventions-that-changed-our-lives/images/fiber_rbsrhb.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hey!, quiero ser diseñador web]]></title>
            <link>https://www.joanmira.com/es/blog/hey-i-want-to-be-web-designer</link>
            <guid>https://www.joanmira.com/es/blog/hey-i-want-to-be-web-designer</guid>
            <pubDate>Mon, 07 May 2007 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo llegar a ser un profesional del diseño web]]></description>
            <content:encoded><![CDATA[<p>A continuación encontrarás una serie de consejos para llegar a ser un profesional del diseño web. Esta guía está enfocada a aquellos que están empezando o tienen interés por el diseño web. Muchas de las sugerencias que encontréis aquí son fruto de mi experiencia y aprendizaje a lo largo de los años. Espero que os sean de utilidad.</p>
<p><strong>Consejos generales</strong> para convertirse en diseñador web / desarrollador web / diseñador gráfico:</p>
<p><strong>1º.</strong> El más importante: debes crear tu porfolio de trabajos online. Debe ser muy original y de gran calidad. A ser posible,divertido (que transmita felicidad y positivismo). No te lances a programar/diseñar sin tener una buena idea y sin haber pensado en como solucionar todos los problemas de interactividad y usabilidad.</p>
<p><strong>2º.</strong> Ser muy perseverante, y tener mucha paciencia. Para ser bueno es necesaria la experiencia de varios años. Los primeros años son duros… tendrás que realizar proyectos de forma gratuita o cobrando muy por debajo del salario estándar.</p>
<p><strong>3º.</strong> Intentar asociarse con gente del mismo sector. Buscar amigos creativos que tengan talento dibujando, o que modelando en 3D, o creando música digital con el ordenador… Cualquier entorno creativo es positivo y te ayudará a mantener la ilusión.</p>
<p><strong>4º.</strong> Leer muchos libros, revistas, blogs, foros, relacionados con el diseño web. ¡Internet es la mejor fuente de información que encontrarás! También puedes comprar libros en Amazon.com</p>
<p><strong>5º.</strong> Involucrarse en cualquier oportunidad de crear un proyecto (aunque sea gratis). Aunque no ganes dinero, sí que ganas experiencia y de esta manera vas aprendiendo los numerosos “trucos” que tiene el diseño web.</p>
<p><strong>6º.</strong> Estar listo para viajar / cambiar de ciudad o bien si te lo montas bien puedes trabajar online como Freelancer.</p>
<p><strong>7º.</strong> Márcate unos objetivos a corto y largo plazo: ganar un premio, realizar 1 web por mes, ganar un concurso, realizar tu portfolio, aprender HTML en un mes, luego PHP, etc.</p>
<p><strong>8º.</strong> Con el paso del tiempo, acabarás conociendo cual es el perfil que más se ajusta a tus capacidades, a tu talento o a tus gustos, ya que en la industria existen varios perfiles relacionados con el diseño web. A menudo encontrarás perfiles como: diseñador/programador frontend, programador backend, diseñador gráfico, grafista 3D,… o en inglés, interactive developer, senior web designer, junior programmer, graphic designer, etc…</p>
<p><strong>Algunas referencias…</strong></p>
<p><strong>Enseñanza</strong></p>
<ul>
<li><p>Escuelas de Formación profesional/Módulos de grado superior relacionados con diseño gráfico/Arte/Informática. Para buscarlas, dirígete a la página web de tu comunidad autónoma.</p>
</li>
<li><p>Universidades que impartan carreras o Másters como por ejemplo: Bellas Artes, Graduado Multimedia, Comunicación audiovisual, Ingeniería informática, E-Commere.</p>
</li>
<li><p>Universidades o escuelas privadas de enseñanza donde impartan clases para el aprendizaje de herramientas de Adobe y lenguajes de programación en Internet.</p>
</li>
<li><p>Cursos gratuitos ofrecidos por el Instituto Nacional de Empleo u organizaciones similares.</p>
</li>
<li><p>Enseñanza autodidacta (<strong>recomendado</strong>). Investigación y estudio a base de libros y otros documentos extraídos de Internet.</p>
</li>
</ul>
<p><strong>Premios al diseño web</strong></p>
<p>Son una gran fuente de inspiración y aprendizaje. Aunque sea una práctica poco lícita, desde un punto de vista educativo, puede ser interesante la decompilación (ingeniería inversa) de algunos proyectos extraídos de las siguientes páginas para su estudio y aprendizaje.</p>
<p><a href="http://www.thefwa.com/">www.thefwa.com</a>, <a href="http://www.e-creative.net/">www.e-creative.net</a>, <a href="http://www.fcukstar.com/">www.fcukstar.com</a>, <a href="http://www.dopeawards.com/">www.dopeawards.com</a>, <a href="http://www.websitedesignawards.com/">www.websitedesignawards.com</a>, <a href="http://www.internettinyawards.com/">www.internettinyawards.com</a>, <a href="http://www.creativecream.com/">www.creativecream.com</a></p>
<p><strong>Enlaces de comunidades de desarrollo web</strong></p>
<p>Sin duda alguna, es muy aconsejable la participación en alguna comunidad social en Internet. A continuación te mostramos una lista de sitios relacionados con el diseño web en Flash (Actionscript), Ajax y PHP.</p>
<p><a href="http://www.senocular.com/">www.senocular.com</a>, <a href="http://www.kirupa.com/">www.kirupa.com</a>, <a href="http://www.actionscript.org/">www.actionscript.org</a>, <a href="http://www.cristalab.com/">www.cristalab.com</a>, <a href="http://www.joangarnet.com/blog">www.joangarnet.com/blog</a>, <a href="http://www.flashla.com/">www.flashla.com</a>, <a href="http://www.senocular.com/">www.senocular.com</a>, <a href="http://www.sephiroth.it/">www.sephiroth.it</a>, <a href="http://www.after-hours.org/blog">www.after-hours.org/blog</a>, <a href="http://www.carlosrovira.com/blog">www.carlosrovira.com/blog</a></p>
<p><strong>Software:</strong></p>
<p>A continuación tienes una lista de las herramientas más comunes para el desarrollo y el diseño web. Obviamente no hace falta que las conozcas todas para poder trabajar. De hecho, la industria busca cada vez más a profesionales especializados en alguna herramienta en concreto.</p>
<ul>
<li><p>Diseño gráfico, audiovisual y 3D: Adobe Creative Suite (CS3) y sus versiones siguientes… Flash, Photoshop, Fireworks, Illustrator, aftereffects, premiere, Corel Draw, Ulead Photoimpact, Swish, Swift 4d, final cut pro, sound forge, Maya, 3D Studio, maquetación de DVD,</p>
</li>
<li><p>Programación básica: (x)HTML, DHTML, JavaScript, CSS, ActionScript, CGI, PHP, SQL, Perl, ASP, XML, VBScript, WAP.</p>
</li>
<li><p>Programación avanzada: ActionScript 3, RubyOnRails, Ajax, WPF, Perl, JAVA (J2EE), C++, VRML, Pyton, Remoting, Coldfusion, Flash Media Server.</p>
</li>
</ul>
<p>- Plataformas de desarrollo: Flex, Apollo, .Net, Eclipse, MDM Zinc, Dreamweaver, Frontpage, Expression, Visual Studio.</p>
<ul>
<li><p>Herramientas on-line: gestión de servidores web Unix/Windows, paneles de control (plesk, cpanel), Aplicaciones de Google ( adsense, adwords, analytics, herramientas para webmasters), Registro de dominios (Nameservers, Registars,…), Plataformas de pago( Paypal, Pasarelas bancarias, …), Inspector DOM y plugins de Firefox, CMS (WordPress, Drupal, Mambo, PHP-Nuke, Joomla), Foros (phpbb, vBulletin), etc…</p>
</li>
<li><p>Otros programas necesarios: clientes de FTP, Pando, Microsoft Outlook, Excel, programas de mensajeria instantánea, editor de texto, Sothink SWF Decompiler, Firefox, Opera, Internet Explorer, Apache, interprete de PHP, Servidor MySQL,…</p>
</li>
</ul>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/hey-i-want-to-be-web-designer/images/web-design.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Multigadget para Windows Vista]]></title>
            <link>https://www.joanmira.com/es/blog/multigadget-for-windows-vista</link>
            <guid>https://www.joanmira.com/es/blog/multigadget-for-windows-vista</guid>
            <pubDate>Thu, 29 Mar 2007 00:00:00 GMT</pubDate>
            <description><![CDATA[aplicación gratuita para la barra lateral de Windows Vista para buscar dominios web]]></description>
            <content:encoded><![CDATA[<p>Presento el “Multigadget”, una aplicación gratuita para la barra lateral de Windows Vista que tiene por objetivo reunir pequeñas aplicaciones de gran utilidad como por ejemplo un buscador de dominios con información sobre el registrante (whois) y una calculadora.</p>
<p>Mi objetivo es actualizar este gadget semanalmente con nuevas funcionalidades, de tal forma que podamos tener el mayor número de aplicaciones en el menor espacio posible. Si tienes alguna sugerencia o petición para las próximas actualizaciones de multigadget, puedes enviármelas por email.</p>
<p>Para su correcto funcionamiento es necesario tener instalado el plugin de Flash 8 (ya sería raro que aún no lo tuvieras instalado…)</p>
<p>Puedes descargarlo desde <a href="http://gallery.live.com/LiveItemDetail.aspx?li=9f0a2d36-a67e-497d-b11e-16a8f396b0f5">Windows Live Gallery</a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/multigadget-for-windows-vista/images/gadgets_grmp3x.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Enviar backups automáticos a otro servidor con Cpanel y PHP]]></title>
            <link>https://www.joanmira.com/es/blog/send-automatic-backups-to-another-server-with-cpanel-and-php</link>
            <guid>https://www.joanmira.com/es/blog/send-automatic-backups-to-another-server-with-cpanel-and-php</guid>
            <pubDate>Mon, 29 Jan 2007 00:00:00 GMT</pubDate>
            <description><![CDATA[Cómo hacer backups de una cuenta de alojamiento web de forma automática]]></description>
            <content:encoded><![CDATA[<p>Si a alguien le interesa la posibilidad de hacer backups de su cuenta de alojamiento web forma automática (con Cron jobs) y enviar el backup a otra cuenta de alojamiento web, entonces que siga leyendo…</p>
<p>Copiar el siguiente código a un archivo llamado (por ejemplo) <code>fullBackup.php</code>, cambiar los valores de las variables y enviarlo a una carpeta en vuestra cuenta. Podéis ponerlo en <code>public_html</code>, aunque lo ideal sería hacerlo en una carpeta oculta. Depués, es necesario crear una tarea programada (cron job), especificando la dirección del archivo creado (ejemplo: <code>/home/usuario/public_html/fullbackup</code>.php) y el intervalo de ejecución del script.</p>
<pre><code class="language-php">// PHP script to allow periodic cPanel backups automatically.
// Based on script posted by max.hedroom in cpanel.net forums
// Additions by Zap at http://www.getrss.net/
// This script contains passwords. KEEP ACCESS TO THIS FILE SECURE!
// ********* THE FOLLOWING ITEMS NEED TO BE CONFIGURED *********
// Info required for cPanel access
$cpuser = “”; // Username used to login to CPanel
$cppass = “”; // Password used to login to CPanel
$domain = “”; // Domain name where CPanel is run
$skin = “x”; // Set to cPanel skin you use (script won’t work if it doesn’t match)

// Info required for FTP host
$ftpuser = “”; // Username for FTP account
$ftppass = “”; // Password for FTP account
$ftphost = “”; // Full hostname or IP address for FTP host
$ftppath = “//”; // Full path on FTP server to save files to
$ftpmode = “ftp”; // FTP mode (“ftp” for active, “passiveftp” for passive)

// Notification information
$notifyemail = “you@yoursite.com”; // Email address to send results

// Secure or non-secure mode
$secure = 0; // Set to 1 for SSL (requires SSL support), otherwise will use standard HTTP

// Set to 1 to have web page result appear in your cron log
$debug = 0;

// *********** NO CONFIGURATION ITEMS BELOW THIS LINE *********

if ($secure) {
  $url = “ssl://”.$domain;
  $port = 2083;
} else {
  $url = $domain;
  $port = 2082;
}

$socket = fsockopen($url,$port);
if (!$socket) { echo “Failed to open socket connection… Bailing out!n”; exit; }

// Encode authentication string
$authstr = $cpuser.”:”.$cppass;
$pass = base64_encode($authstr);

$params = “dest=$ftpmode&amp;email=$notifyemail&amp;server=$ftphost&amp;user=$ftpuser&amp;pass=$ftppass&amp;rdir=$ftppath&amp;submit=Generate Backup”;

// Make POST to cPanel
fputs($socket,”POST /frontend/”.$skin.”/backup/dofullbackup.html?”.$params.” HTTP/1.0rn”);
fputs($socket,”Host: $domainrn”);
fputs($socket,”Authorization: Basic $passrn”);
fputs($socket,”Connection: Closern”);
fputs($socket,”rn”);

// Grab response even if we don’t do anything with it.
while (!feof($socket)) {
  $response = fgets($socket,4096);
  if ($debug) echo $response;
}

fclose($socket);

?&gt;
</code></pre>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/send-automatic-backups-to-another-server-with-cpanel-and-php/images/cpanel_logo_qpb3ap.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Crear documentos PDF con PHP usando FPDF]]></title>
            <link>https://www.joanmira.com/es/blog/create-pdf-documents-with-php-using-fpdp</link>
            <guid>https://www.joanmira.com/es/blog/create-pdf-documents-with-php-using-fpdp</guid>
            <pubDate>Tue, 23 Jan 2007 00:00:00 GMT</pubDate>
            <description><![CDATA[Un gran módulo para generar PDFs]]></description>
            <content:encoded><![CDATA[<p>He encontrado una herramienta de gran utilidad para los programadores web y que a más de uno le puede interesar. Se llama FPDF y ¡es gratis! Esta es una lista de sus principales características:</p>
<ul>
<li>Elección de la unidad de medida, formato de página y márgenes</li>
<li>Gestión de cabeceras y pies de página</li>
<li>Salto de página automático</li>
<li>Salto de línea y justificación del texto automáticos</li>
<li>Admisión de imágenes (JPEG y PNG)</li>
<li>Colores</li>
<li>Enlaces</li>
<li>Admisión de fuentes TrueType, Type1 y codificación</li>
<li>Compresión de página</li>
</ul>
<p>Los <a href="http://www.fpdf.org/es/tutorial/index.php">tutoriales</a> le permitirán empezar rápidamente a usar FPDF. La documentación completa (on line) se encuentra <a href="http://www.fpdf.org/es/doc/index.php">aquí</a> y el área de descarga, <a href="http://www.fpdf.org/es/download.php">aquí</a>.</p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/create-pdf-documents-with-php-using-fpdp/images/fpdf_m9jdxw.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[INMOFlash y TIENDAFlash]]></title>
            <link>https://www.joanmira.com/es/blog/inmoflash-and-tiendaflash</link>
            <guid>https://www.joanmira.com/es/blog/inmoflash-and-tiendaflash</guid>
            <pubDate>Sat, 28 Oct 2006 00:00:00 GMT</pubDate>
            <description><![CDATA[Hemos creado dos aplicaciones nuevas enfocadas a PYMES interesadas en vender online]]></description>
            <content:encoded><![CDATA[<p>Tras varios meses de desarrollo, ponemos a disposición de nuestros clientes la versión 1.0 de INMOFlash y TIENDAFlash. INMOFlash es una aplicación web que contempla todas las necesidades de la empresa inmobiliaria para darse a conocer y promocionar sus servicios en Internet. La aplicación consiste de los siguientes módulos:</p>
<h3 id="inmoflash--página-web">INMOFlash – Página web</h3>
<ul>
<li><p>Interfaz gráfica que incorpora un buscador de inmuebles
– Imagen corporativa personalizada
– Formulario de contacto para clientes
– Secciones corporativas (Quienes somos, donde estamos, etc)</p>
</li>
<li><p>INMOFlash – Panel de administración</p>
</li>
<li><p>Gestión integral de inmuebles (insertar, modificar, eliminar)
– Gestión completa de localizaciones y tipos de inmuebles
– Infinitas fotografías por inmueble
– Gestión de usuarios
– Opciones de configuración
– Soporte técnico</p>
</li>
</ul>
<p>Ver un <a href="/work/proyecto2025">ejemplo de página web con INMO Flash</a></p>
<p>TIENDAFlash es una aplicación web que contempla todas las necesidades para montar una tienda online. La aplicación consiste de los siguientes módulos:</p>
<h3 id="tiendaflash--página-web">TIENDAFlash – Página web</h3>
<ul>
<li><p>Interfaz gráfico que incorpora buscador de productos.
– Imagen corporativa personalizada.
– Area privada de clientes.
– Descripción de productos con infinitas imágenes, descripción, modelo, marca, etc
– Pasarela de pago (Paypal o entidad bancaria).
– Cesta de la compra</p>
</li>
<li><p>TIENDAFlash – Panel de administración</p>
</li>
<li><p>Gestión integral de productos (insertar, modificar, eliminar).
– Gestión completa de clientes y ventas realizadas.
– Opciones de configuración.
– Soporte técnico.</p>
</li>
</ul>
<p>Ver un <a href="/work/nosurrender">ejemplo de página web con TIENDA Flash</a></p>
]]></content:encoded>
            <enclosure url="https://www.joanmira.com/blog/inmoflash-and-tiendaflash/images/inmoflash_pc7u7h.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>