Powered By Blogger

jueves, 27 de junio de 2013

Windows 8.1 y la sincronización entre dispositivos

Windows 8.1

Microsoft presentó Windows 8.1 hoy, en el marco de su evento para desarrolladores, Build 2013. Esta es una actualización a su actual sistema operativo en la que se tomó la opinión de las personas para lograr optimizar las funciones del mismo. Y una de las noticias más relevantes e interesantes sobre Windows 8.1 es que está disponible para cualquier dispositivo que lo soporte. Así es, tablets, smartphones, Xbox y PCs disfrutarán de esta versión del sistema operativo de Microsoft. Pero, ¿cuáles son las implicaciones?

La compañía hizo un movimiento que, sin duda, ya muchas empresas habían esperado hacer. Y no, no es lo mismo que Apple con iOS y Mac OS; aunque ambos sistemas operativos se parecen y comparten algunas funciones. Lo que pasa con Windos 8.1 va más allá de lo que cualquiera había intentado antes.

El primer acierto cae en las aplicaciones para PCs. El simple hecho de dejar de llamarlas "programas" y comenzar a llamarlas por lo que son dio inicio a la revolución de los sistemas operativos. Claro, sabemos que Microsoft no fue el primero en hacerlo, pero ahora tiene la ventaja. Esto no significa que los desarrolladores podrán hacer una aplicación para Windows Phone y automáticamente va a funcionar en una tableta o en una PC. Pero sí quiere decir que la modificación/adaptación del código para estos dispositivos será mucho más fácil. Además, existe la posibilidad de que los datos se compartan. Por ejemplo, tu score y avance de Angry Birds será el mismo tanto en tu PC como en tu tableta. Interesante, ¿no?

Ahora, Microsoft tiene muchos servicios que se convertirían en un solo al estar corriendo sobre Windows 8.1. Tu cuenta de Skype, por ejemplo. Imagina iniciar sesión en un solo dispositivo y que las llamadas te lleguen a cualquiera que estés usando en el momento. Lo mismo con tu cuenta de Xbox Live y las aplicaciones que bajaste. Incluso, Office ya vendrá precargado en todo dispositivo.

Hablemos de la experiencia del usuario. Windows 8 es difícil. De hecho Windows, en general, es difícil. Pero, ahora, con Windows 8.1 los usuarios ya no tendrán que romperse la cabeza tratando de averiguar cómo es que funciona cada plataforma. Si no que, al navegar en una sola, automáticamente sabrá hacerlo en cualquier dispositivo y las mejoras a las aplicaciones serán visibles de manera simultánea.

El lado obscuro de este asunto puede ser que Microsoft quiere que compres varios dispositivos con Windows 8.1 a la vez. Claro, ¿qué tiene de interesante tener sólo una PC o un tablet si puedes disfrutar de el mismo SO en todos? Otra cosa que me preocupa es la funcionalidad. No es lo mismo correr el mismo sistema operativo en una tableta con un procesador de dos núcleos a en una PC; o un juego en un Xbox. ¿Hasta qué punto Microsoft está considerando la parte de la adaptación en la sincronización?

No nos queda otra cosa más que esperar que Microsoft se salga con la suya y nos presente un sistema operativo que todos amemos y queramos usar en todos nuestros gadgets. Por lo pronto, puedes descargar el preview de Windows 8.1 y ver si te convence.





martes, 18 de junio de 2013

15 películas coreanas que deberías haber visto

Las 15 mejores películas coreanas contenporáneas

Los remakes de películas como Oldboy y Sympathy for Mr. Vengeance —en preparación— y las primeras incursiones en el cine internacional de directores como Park Chan-wook, Kim Jee-woon y Bong Joon-ho, reflejan el buen momento por el que pasa la cinematográfica coreana, de la que resaltamos 15 de sus mejores obras a las que deberías prestar atención.

Mientras Corea del Norte atemoriza a Occidente con sus estrategias nucleares, da la impresión de que Corea del Sur le lleva la delantera en lo que respecta a una invasión a otro tipo de escala. Kim Jee-woon, con The last stand, y Park Chan-wook, con Stoker, han sido los primeros cineastas surcoreanos en rodar películas en inglés, mientras que Bong Joon-ho con Snowpiercer, será el tercero en debutar, no sólo en el cine en inglés, sino dentro de la propia industria estadounidense. Simultáneamente, Spike Lee ultima los detalles del remake de Oldboy y ya se está hablando de adaptar también Sympathy for Mr. Vengeance. Por eso proponemos una aproximación a su filmografía con las 15 mejores películas coreanas, imprescindibles para entender el buen momento por el que pasa una cinematografía que se desarrolla en parámetros tan opuestos y dispares como la poesía y la violencia y que tienen la virtud de proporcionar un estado emocional muy complicado de definir en el espectador.

Quizás alguno no esté todavía familiarizado con una cinematografía que no había trascendido al mismo nivel de la china o la japonesa, pero que en los años ochenta, con la instauración de la V República, adquiría una mayor libertad creativa al suavizar la censura y permitir la aproximación a todo tipo de temas. Es posible que fuera Im Kwon-taek el cineasta que propiciara con Mandala (1981) la apertura al mercado internacional del cine surcoreano, pero no sería hasta la llegada del nuevo siglo cuando se produciría una verdadera eclosión de películas que tanto acaparaban la atención de festivales internacionales, como eran celebradas por la crítica, o incluso recibían la bendición del público. Tres variantes que no siempre se dan a la vez en la misma ecuación.

Quizás algunos echen en falta alusiones a profesionales de origen surcoreano, como Peter Chung, fabuloso animador en películas como Fire and Ice y creador de una serie de animación tan magnífica como Æon Flux, pero cuya familia emigrara a los estados Unidos siendo él joven, lo que facilitó su incorporación al mercado laboral estadounidense sin pasar por el coreano. Tampoco aludo a Shim Hyung-rae, que después de realizar una película como D-War, de producción coreana con reparto internacional, rodaba The las Godfather en los Estados Unidos, o Shin Sang-ok, que tras permanecer casi dos décadas secuestrado por el régimen norcoreano no pudo revitalizar su carrera en Corea del Sur, emigrando a los Estados Unidos, donde culminaría su trayectoria con 3 ninfas knuckel up, en colaboración con Hulk Hogan. Ninguno de estos última encaja en los parámetros temáticos o artísticos de este grupo a los que en el documental dirigido por Yves Montmayeur, Les Enragés du Cinéma Coréen, aludían como los jóvenes airados coreanos (Angry Young Men of Korean Cinema), en alusión al movimiento cinematográfico británico homónimo que surgiera con las nuevas olas europeas.

Seom (La isla)

Es posible que fuera Kim Ki-duk el cineasta que abría una ventana al turbador e inquietante cine surcoreano en el año 2000 con una película tan turbadora como La isla, título con el que se la conoce en España. Una película que si bien centraba su trama en torno a una historia de amor, venía cargada de una violencia poética difícil e digerir para algunas sensibilidades. Quizás no se atrevieran a darle el León de Oro en Venecia, pero sí una mención especial "por su intensa consistencia y la expresión gráfica y metafórica del amor sometido al deseo y el sacrificio", aunque en Fantasporto recibía el premio especial del jurado, así como a su protagonista, Jung Suh, le reconocían con el premio a la mejor interpretación femenina, como también lo sería en los festivales de Bruselas y Manila. el argumento parte de un ex-policía que, después de matar a su amante, está determinado a suicidarse, si no fuera porque se lo impide una extraña mujer que se dedica a alquilar plataformas flotantes para pescar. Mientras de día ofrece comida a los pescadores, de noche les vende su cuerpo, surgiendo entre ambos una peligrosa relación. Algunas secuencias llegarán a poner a prueba la capacidad del espectador para aguantar el dolor, pero la ausencia de cualquier tipo de morbo y el sublime lirismo de la puesta en escena, colocan a La isla en unos parámetros más fantásticos que románticos que desgarran desde el interior (nunca mejor dicho).

Boksuneun naui geot (Sympathy for Mr. Vengeance)

Después de haber batido récords de recaudación en Corea del Sur con su tercera película como director, Park Can-wook iniciaba la que denominaría su 'trilogía de la venganza' con Sympathy for Mr. Vengeance. Incluyendo en su reparto la presencia de Song Kang-ho, uno de los actores emblema de estos jóvenes airados, su argumento gira en torno a un sordomudo que se ve forzado a dejar de estudiar para ponerse a trabajar y poder costear el tratamiento al que debe someterse su hermana, aquejada de una insuficiencia renal. La fatalidad se ceba con ellos cuando a pesar de que reúnen el dinero necesario para la operación, el donante no es compatible. Engañado después de recurrir al mercado negro, la desesperación le lleva a urdir un peregrino plan que tendrá fatales proporciones y que facilitará esa confusión emocional que se apodera de un espectador incapaz de ponderes del lado de ninguno de los personajes porque todos tienen su parte de razón, independientemente de la naturaleza de sus actos. Merecedora del premio del jurado en el festival de Philadelphia, sería la flamante carta de presentación de Park Chan-wook a nivel internacional.

Salinui chueok (Memories of murder)

Song Kang-ho también sería el protagonista de la que sería la segunda película como director de Bong Joon-ho, premiado con la Concha de Plata al mejor director en San Sebastián, que cosechaba también premios en otros festivales de Cognac, Tokio y Turín. Se trata de un drama policial que se desarrollaba en torno a la búsqueda de un brutal asesino y violador que se distancia de ese tono poético de otras películas coreanas para ofrecer un retrato del mal tan duro como implacable en lo que será una seña de identidad de este cineasta, en cuyo discurso siempre habrá sitio para la denuncia social y la crítica contra el gobierno y el sistema de justicia surcoreano.

Bom yeoreum gaeul gyeoul geurigo bom (Primavera, verano, otoño, invierno… y primavera)

Tres años después de sobrecogernos con La isla, Kim Ki-duk reaparecía con una obra extremadamente poética y conmovedora en torno a un monje y su aprendiz que conviven en un aislado monasterio en medio de un lago. Una extraordinaria metáfora sonde el aprendizaje y el necesario equilibrio entre el hombre y la naturaleza para alcanzar la felicidad que se alzaría con el premio del público en San Sebastián, acaparando también una interesante colección de premios que incluyen los festivales de Sofia y Locarno. Y es que Kim Ki-duk ha sido uno de los pocos cineastas coreanos cuyas películas han alcanzado de inmediato el mercado internacional, con o sin premio en festivales, a través de títulos tan interesantes como Samaritan girl, Oso de Plata al mejor director en Berlín; Bin-jip (Hierro 3), premio de la prensa en San Sebastián, Espiga de Oro en la Seminci de Valladolid y León de Oro en Venecia; Hwal (The bow), premiada en Fantasporto y Tallinn, o Shi gan (Time), premiada en Sitges, Fantasporto y Chicago.

Oldboy

Park Chan-wook conquistaba el Gran Premio del Jurado en Cannes, así como el de la mejor película en Sitges por la adaptación cinematográfica de una novela gráfica que constituía, además, la segunda pieza de su 'trilogía de la venganza'. Protagonizada por Choi Min-sik, otro de los actores fetiche de esta dinámica generación de cineastas coreanos, que interpretaba a un padre de familia que, secuestrado durante 15 largos años y confinado en una celda sin ventanas ni otro contacto con el exterior que no fuera la televisión. Con toda probabilidad, la película más conocida de esta lista, con el permiso de Kim Ki-duk, de la que en Extracine ya nos avisaban que se trataba de un título imprescindible no sólo de sus director, sino del cine coreano. Toda una experiencia cinematográfica de profundo calado emocional, como también lo serían -quizás en menor escala- la conclusión de su trilogía, Chinjeolhan geumjassi (Lady Vengeance), o *Bakjwi (Thirst).

Welcome to Dongmakgol

Primer y único largometraje dirigido por Park Hwang-Hyun hasta la fecha, debido a problemas financieros con su segundo proyecto. Prolífico realizador de campañas de publicidad que conseguía con su adaptación de la obra de Jin Jang imponerse como la segunda películas más taquillera de todos los tiempos en Corea del Sur. Estrenada en 2005, se trata de un drama bélico sobre tres soldados norcoreanos, dos surcoreanos y uno estadounidense que acaban, por diferentes motivos, en un pequeño pueblo en mitad de la guerra de Corea. Un lugar aislado del mundo donde ni siquiera tenían constancia de la existencia de la guerra y donde no hay lugar para violencia.

Gwoemul (The host)

No se confundan con la película homónima basada en la novela de Stephenie Meyer, porque no tiene nada que ver. Bong Joon-ho abandonaba el tono realista de Crónica de un asesino en serie para zambullirse de lleno en un fabuloso drama fantástico en la que los habitantes de Seúl eran sorprendidos por una extraña criatura formada como consecuencia de la contaminación. Premiada en Sitges y Fantasporto, y teniendo de nuevo a Song Kang-ho como protagonista, la premisa de la película partía de un incidente que había sucedido en la realidad, cuando en febrero de 2002 cuando en unas instalaciones militares estadounidenses decidieron deshacerse de residuos de formaldehído vertiéndolos por sumideros que terminaban en el río Han. La película será fantástica, pero el cineasta no se apartaba un ápice de su discruso social y la crítica gubernamental.

Sarang-ttawin piryo-eopseo (Love me not)

Videocreador antes de iniciarse en 2006 en el cine, Lee Cheol-ha debutaba en el cine con un intenso drama sobre un hombre sin escrúpulos que se dedica ha vivir del dinero de mujeres adineradas. Vivir a lo grande facilita la elucubración de grandes planes, para los que se necesita dinero, que a veces puede acarrear deudas que acaban poniendo en riesgo tu vida. Por lo que se impone un nuevo plan, haciéndose pasar por el hermanastro perdido de un heredera ciega a la que pretende asesinar para obtener su gran herencia. Pero el corazón no conoce de planes y una vez se enamora de Min, las cosas se le complican cuando acreedores e incluso la misma enfermedad que dejó le ciega a ella, atentan ahora contra él.

Bam gua nat (Night and Day)

Habitual en casi todos les festivales internacionales de cien europeos, la sensibilidad de Hong Sang-soo está más cerca de los parámetros del cine francés de la nouvelle vague que de los angry young men o el cine estadounidense. La preocupación por la creación artística es una de las constantes de su filmografía, que casi siempre incluye cineastas como personajes, aunque en este caso sea un pintor pillado infraganti cometiendo delitos tan mundanos como embriaguez y consumo de marihuana. Con tal de evitar la prisión huye a Francia, dejando en Corea a su mujer, y refugiándose en una pensión donde conocerá a otra mujer con la que iniciará una relación que mantendrá de día en París, mientras que dedica las noches a su mujer en Seúl. Su título más reciente, In anotare country, vuelve a vincularle con la cinematografía francesa al tener como protagonista a Isabelle Huppert.

Soom (Breath)

El propio Kim Ki-duk interpretaba a uno de los protagonistas de este fascinante drama carcelero de proporciones tan románticas como metafísicas en el que una mujer que descubre que su marido le engaña, decide iniciar una relación con un preso que ha intentado reiteradamente suicidarse. Una de esas películas que despierta tantos seguidores como detractores, como parece suceder en el resto de su filmografía puesto que polémica fue su León de Oro por Pietà, así como está sufriendo problemas de censura en su propio país con la última película que ha dirigido , Moebius, que ya se perfila como candidata a premio en la Bienale.

Akmareul boatda (I saw the devil)

Después de dirigir dos películas que le abrirían las puertas al mercado internacional, como Janghwa, Hongryeon (A tale of tío sisters, 2003) y Joheunnom nabbeunnom isanghannom (the godo, the bad, the wird, 2008), Kim Jee-woon acaparaba premios internacionales en 2010 con esta trepidante película en la que se volvía a integrar amor con violencia y venganza. Protagonizada por Choi Min-sik y Lee Byung-hun -importado ya para el cine internacional en G.I. Joe y su secuela y al que podremos ver dentro de poco en RED 2-, la película se centra en un policía cuya novia es asesinada por un psicópata sin escrúpulos, que le lleva a iniciar una peligrosa persecución en la que aprenderá a pensar y actuar como un auténtico asesino. No se dejen llevar por las apariencias, no es otra película con psicópata, sino otra excepcional obra cargada con la misma belleza visual y esa narración que nos arrastra por laberintos emocionales truculentos tan característicos del cine surcoreano.

Shi (Poetry)

Lee Chang-dong se alzaba con el premio al mejor guión y el premio ecuménico del jurado en Cannes con esta emotiva película sobre la búsqueda de la belleza y a poesía en la mundana y cotidiana realidad. Protagonizada con suma sensibilidad por Yoon Jeong-hee, la poesía a la que alude el título no se encuentra en otro lugar que en el interior de su protagonista, manifestándose a través de su manera de mirar y afrontar la vida, sobre todo después de que le hayan diagnosticado Alzheimer. El contraste lo ofrece su nieto, víctima de bullying en el colegio, en lo que es un paralelismo con la dificultad de la sociedad para afrontar con naturalidad las consecuencias de la enfermedad en su abuela.

Hwanghae (The yellow sea)

Ha Jung-woo se alzaba con el premio a la mejor interpretación masculina de la Academia de cine asiática por su interpretación en este intenso thriller dirigido por Na Hong-jin por el que obtendría el premio al mejor director en Sitges. Acosado por las deudas, un individuo acepta un contrato para asesinar a una persona en un intento por cubrir las necesidades de su familia. Lo que comienza siendo un encargo puntual acabará por arrastrarle dentro de un peligroso engranaje criminal.

Doomsday book

Que vivimos en una sociedad globalizada lo demostraban perfectamente Kim Jee-woon y Yim Pil-sung a través de las tres historias que formaban Doomsday book. A través de situaciones tan sorprendentes como una pandemia que comienza con la comida, un robot con aspiraciones místicas o la pérdida de un bola negra de billar que acabará provocando la destrucción del mundo, tratan de evidenciar unas neurosis que afectan a toda la sociedad contemporánea, no sólo a la coreana. Tres episodios que dan cuenta de que además de la poesía la violencia, también hay lugar para el sentido del humor en la cinematografía surcoreana.

Bumchoiwaui junjaeng (Nameless gangster)

Choi Min-sik protagoniza, junto a Ha Jung-woo, esta estupenda película dirigida por Yun Jong-bin. La película muestra el periplo de un funcionario de aduanas corrupto al que despiden de su trabajo. En un intento por culminar un último golpe que le permita afrontar su nueva situación de manera más holgada, entra en contacto con un importante mafioso que resulta ser familiar lejano suyo. Nuevamente se intuyen la denuncia social y la crítica contra el gobierno a través del ascenso de este criminal a lo largo de los años ochenta, pero que en los años noventa se encuentra de bruces con una nueva generación que es tan tolerante con el crimen y la corrupción. Es posible que algunos quieran encontrar vínculos con el cine de gángsteres estadounidenses, en la línea de Goodfellas o incluso The godfather, y estarán en lo cierto, pero la intensidad de la violencia emocional permite que disfrutemos con la película de una manera radicalmente diferente.





Vulnerabilidad en Chrome permitiría a un tercero espiarnos con nuestra webcam

Google Chrome

Una vulnerabilidad de flash solventada en 2011 podría seguir estando latente en Google Chrome, o al menos eso ha reportado un experto en seguridad. Según parece, un tercero podría aprovechar este fallo para activar en remoto nuestra webcam y, por tanto, espiar nuestros movimientos.

Sentirnos cómodos con el navegador que utilizamos es algo de gran importancia, sobre todo si tenemos en cuenta la cantidad de horas que podamos pasarnos delante del navegador (ya sea en nuestro tiempo de ocio, estudiando o trabajando con alguna aplicación web). Por tanto, además de la personalización, el bajo consumo de recursos o la rapidez en la carga de páginas, la seguridad de nuestro navegador es un factor de gran importancia que solemos exigir y cualquier vulnerabilidad que aparece es algo a tener muy en cuenta. Según ha publicado un experto en seguridad, llamado Egor Homakov, Google Chrome arrastra una vieja vulnerabilidad de flash que permitiría a un tercero activar nuestra webcam en remoto.

Lo curioso de este caso es que esta vulnerabilidad en Chrome está vinculada a flash, viene del año 2011 y ya fue solventada por Adobe (o al menos eso dice la teoría) en octubre de dicho año. De hecho, tras saltar esta noticia desde Adobe se han apresurado a aclarar que ellos ya solventaron el problema y que, por tanto, este fallo de seguridad solamente se daría en Google Chrome (por lo que son los de Mountain View los que tienen que solventarlo).

¿Y de qué tipo de vulnerabilidad estamos hablando? ¿Cómo nos podría afectar? Esta vulnerabilidad podría materializarse en el despliegue de un "objeto transparente" diseñado en flash que, por accidente, podría ser pulsado por el usuario en una web que estuviese visitando. Al pulsar sobre este objeto, y sin darse cuenta, se podría activar la webcam y el audio y, por tanto, de manera remota alguien podría ver qué estamos haciendo, qué hablamos o qué sucede a nuestro alrededor (suponiendo que tengamos una webcam, lo cual no es nada extraño hoy en día).

Este fallo, por ahora, solamente se ha confirmado en Google Chrome sobre OS X pero podría ser susceptible de darse en cualquier dispositivo que use Google Chrome y Flash y ha saltado a la luz gracias a Egor Homakov que ha desarrollado un exploit para aprovechar esta vulnerabilidad y así demostrar de su existencia.

En el caso de Google Chrome, Adoble Flash Player es un componente que está integrado en el propio navegador y, por defecto, viene activado. El usuario tiene la posibilidad de desactivarlo de manera manual pero las actualizaciones están vinculadas a las propias de Chrome, por tanto, hay que esperar para ver cuánto tarda Google en responder a este problema y lanzar una actualización de Chrome que ataje este problema de flash.





Descubren una posible cura contra el Alzheimer

Wikipedia

Un trabajo pionero en la revista PNAS describe un nuevo tratamiento que es capaz de restablecer las conexiones nerviosas perdidas en pacientes con la enfermedad de Alzheimer.

El mal de Alzheimer es una enfermedad que toca muy de cerca a muchas de nuestras familias, al verse afectadas gran cantidad de personas mayores por este síndrome, que provoca la pérdida inmediata de memoria y otras capacidades cognitivas. Por ello, desde la investigación se busca desde hace tiempo una cura contra el Alzheimer, con el objetivo de mejorar el estado de salud de los pacientes y la calidad de vida de sus familiares.

La enfermedad de Alzheimer es la demencia senil más común, de tipo incurable y terminal, que se caracteriza por la pérdida de células nerviosas y la acumulación de placas amiloides que se encuentran en el cerebro de los pacientes afectados.

Estos 'ovillos proteicos' ya fueron descritos a principios del siglo XX por el propio dr. Alois Alzheimer, quien analizó los cambios en el tejido nervioso en el cerebro de una mujer que había fallecido por una rara enfermedad mental.

La formación de placas y ovillos proteicos, así como la pérdida de conexiones nerviosas en el cerebro, son las tres características más importantes de los individuos que sufren esta enfermedad. Sin embargo, dada su complejidad hasta ahora no se ha podido llegar a una cura contra el Alzheimer que sea realmente efectiva.

A día de hoy, solo existen cuatro fármacos aprobados por la agencia norteamericana de medicamentos, la FDA, que buscan mantener en lo posible el funcionamiento mental del cerebro de los afectados. Las cuatro drogas aprobadas solo ayudan a evitar la pérdida de capacidades mentales como el pensamiento, la memoria o el habla, además de ayudar en ciertos problemas de comportamiento.

Sin embargo, no existe un fármaco que funcione como varita mágica, en otras palabras, que sea capaz de detener la progresión de la enfermedad. Los pacientes afectados podrán frenar de alguna manera los síntomas de este síndrome durante un período que puede durar de meses a años, pero en ningún caso estarán curados.

Ahora, una investigación realizada en el Sanford-Burnham Medical Research Institute y publicada en la prestigiosa revista PNAS podría dar un poco de luz al horizonte de los enfermos y sus familias. De este modo, la combinación de dos medicamentos ya permitidos, en un tratamiento que han denominado NitroMemantine, podría frenar en seco la pérdida de conexiones nerviosas, e incluso, recuperar algunas que hubieran desaparecido previamente.

Anteriormente todos los tratamientos e investigaciones se habían centrado en la formación anormal de placas y ovillos proteicos, pensando que resultaría imposible actuar sobre las sinapsis o conexiones nerviosas. El tiempo ha demostrado que, en principio, estábamos equivocados. La cura contra el Alzheimer hoy está un poquito más cerca gracias a este trabajo.

Aunque aún queda mucho tiempo para que este posible tratamiento pudiera llegar a los pacientes, dado que solo se ha probado en modelos animales y cultivos celulares, lo cierto es que los buenos resultados son, sin duda, esperanzadores. Esta cura contra el Alzheimer, que en principio actúa sobre los receptores NMDA del cerebro que están sobreexcitados, protege las conexiones sinápticas existentes y promueve la formación de otras perdidas anteriormente.

Será cuestión de tiempo saber si finalmente esta posible cura contra el Alzheimer cumple sus expectativas, pero lo cierto es que este trabajo científico mantiene muchas de las esperanzas de los pacientes y sus familias.





domingo, 9 de junio de 2013

El Primer Hombre en el Espacio ("First Man Into Space") (1959) (V.O.S.E.)





sinopsis

 Durante un vuelo experimental en el espacio, un astronauta desobedece las órdenes de su base. Sufre un desmayo, pierde el control de la nave, y es a duras penas rescatado. En un segundo vuelo, vuelve a incumplir las instrucciones recibidas… y esta vez las consecuencias serán más graves. De hecho, serán “monstruosamente ” graves… 








Ficha Técnica

Director: Robert Day / Productor: John Croydon y Charles F. Vetter / Guion: John Croydon y Charles F. Vetter, basado en una historia de Wyott Ordung / Fotografía: Geoffrey Faithfull / Montaje: Peter Mayhew  / Música: Buxton Orr / Intérpretes: Marshall Thompson (Comandante Charles Ernest Prescott), Marla Landi (Tia Francesca), Bill Edwards (Teniente Dan Milton Prescott), Robert Ayres (Capitán Ben Richards), Bill Nagy (Jefe de policía Wilson), Carl Jaffe (Dr. Paul von Essen), etc.  Nacionalidad y año: GB. 1959. Duración y datos técnicos: 77 min. B/N.  1.66 : 1. (Inglés + Subs)








Comentario


De todos es bien sabido que el cine, antes que otra cosa, es una industria dedicada a hacer dólares a mansalva. Así que cuando algo funciona, comienzan las imitaciones que, por lo general, no suelen llegar a la altura del original (aunque ésta no es una ley absoluta). En este caso siguiendo una descarada estela temática que nos traslada directamente a la simpar "El Experimento del Doctor Quatermass" (1955), el film que nos ocupa nos narra las tristes peripecias de un piloto de pruebas en un vuelo experimental que se verá atacado por "algo" (lo llamo así porque no lo explican muy bien), transformándose poco a poco en un monstruo sediento de sangre.
Mientras que en la película de Val Guest el punto de atención era científico, serio, épico... a pesar del carácter agrio del amigo Quatermass, en este caso nos presenta una "monster movie" atípica en su desarrollo. Podríamos dividirla en tres partes: una primera en la que se desarrollan los personajes y sus relaciones entre ellos (el piloto de pruebas y su jefe son dos hermanos que se llevan francamente mal). Vamos, un tostón.
El segundo bloque es la historia propiamente dicha donde por un lado el monstruo va mutando poco a poco, a la par que hace destrozos por doquier (aunque se le ve poco, la verdad); por otro el protagonista, hermano del piloto, que se dedica a investigar (con bastante más efectividad que la policía) y a hacer conjeturas a espuertas, con la inestimable ayuda de un científico especialista en medicina espacial, en astronomía y en todo lo que le echen, que se tira media película dando la brasa con unos dichosos rayos cósmicos, consigue esclarecer todo el misterio a la vez que le quita la novia a su hermano desaparecido.

Para rematar, la película da un vuelco y en vez de un apoteósico final repleto de sangre (con destrucción del engendro incluída), nos muestra un ser monstruoso que necesita ayuda y regresa a pedirla. Se ahonda en la soledad y la tragedia personal de ese piloto convertido en horror andante. Y es eso lo que la hace atípica de cualquier "monster movie", ese enfoque más psicológico. Obviando claro está la ridícula torpeza del monstruo (fijaos como mientras baja unas escaleras, resbala y casi se mata) que mientras se desplaza abre y cierra las manos como los niños cuando dicen adiós. 

Serie B muy modesta (rodada con cuatro duros) para aficionado al género. Por cierto, el traje del monstruo está curioso. 







Links descarga


(Mega)

https://mega.co.nz/#!Id11wZxa!aUp7Wh4kDGAJp1JIZMfMIxgeK_Yo9nFhIXJ7sVbiKJI
https://mega.co.nz/#!hQ02VR5Z!VZjfPyi8ANuptWPA7dgJzEqQRjorT2DJhGrYEa2Xbf4
https://mega.co.nz/#!pN1FmRxC!GsTfjBnjN1AKKfBbgsEHi1J_ncFIhtdYTF2GuKE9sOA
https://mega.co.nz/#!IA0BWTBL!EG__zXMSKOtjIDj-s965KRRcbbQ4jDu7Epkd0OyPGrk


(Depositfiles)


http://dfiles.eu/files/4o9t498wt
http://dfiles.eu/files/c7dw96ydg
http://dfiles.eu/files/n4x573f3o
http://dfiles.eu/files/yagk3pg2s




Pass: elprimero




El manual de respuestas del ateo

Manual de respuestas del ateo: FSM

Los debates entre ateos y creyentes pueden resultar muy interesantes, pero también suelen aparecer una serie de argumentos falaces o poco elaborados que las convierten en una pérdida de tiempo. Aquí puedes encontrar una respuesta rápida y simple a algunos de ellos.

Una de las cosas que más me gusta hacer es debatir. Y uno de mis temas favoritos es el de la religión. Sin embargo, como ateo, muchas veces me encuentro con argumentos falaces o directamente tan estúpidos que explicar el porqué de esta estupidez lleva más tiempo del que merecen. Eso sí, esto no quiere decir que los debates con un creyente sean una pérdida de tiempo, ni mucho menos (el debate entre Richard Dawkins y el arzobispo de Canterbury, Rowan Williams, es un ejemplo de esto). Y, por supuesto, este manual de respuestas del ateo tampoco pretende ser, en absoluto, el texto que acabe con miles de años de religión.

Sencillamente, se trata de un sitio en el que encontrar una respuesta sencilla y razonada para evitar que al debatir sobre alguno de estos temas nuestro interlocutor recurra a argumentos vagos, equívocos o inexactos (o las tres cosas al mismo tiempo).

No puedes demostrar que Dios no existe

Ni tú que no es un dragón invisible que vive en mi garaje. Lo que, a su vez, es una variante de la famosa tetera de Bertrand Russell. El filósofo y matemático británico utilizaba este objeto para devolver la pelota a quienes tratan de usar este argumento como prueba de la existencia (o al menos, como prueba de su posible existencia) de un dios.

Básicamente, lo que dice Russell es que si él tratase de convencer a alguien de que hay una tetera (de porcelana china, en concreto) en órbita entre la Tierra y Marte, no podría limitarse a probar la veracidad de esta afirmación aduciendo que no es posible demostrar que no hay una.

Es decir, cuando alguien propone la existencia de un ser omnipotente y convenientemente invisible, es esa persona quien debe probar su existencia y no quien no crea en su invención. Y, de hecho, es así como funciona el método científico: una hipótesis debe ser demostrada para pasar a ser considerada un teorema. Por lo tanto, son los creyentes quienes tienen la tarea de demostrar que su dios existe con pruebas inequívocas.

La teoría de la evolución es sólo una teoría

Efectivamente, es una teoría. Pero en la segunda acepción del término, según el diccionario de la Real Academia Española.

Serie de las leyes que sirven para relacionar determinado orden de fenómenos.

No vamos a entrar a describir cómo funciona la evolución, pues sólo tratamos de proporcionar un pequeño manual de respuestas del ateo. Simplemente conviene recordar que no tiene sentido menospreciar esta teoría por el hecho de ser una teoría, pues está más que demostrada, a pesar de no poder ser reproducida.

Pero, sobre todo, hay que entender que en este 'desprecio' no cabe por una cuestión puramente nominal, pues la definición es muy diferente a la que se le suele dar al término teoría (que, por otro lado, se puede comprender, pues también está aceptada).

El diseño inteligente

Uno de los argumentos más utilizados por los creacionistas es el del diseño inteligente. A grandes rasgos, lo que viene a decir esta corriente es que el universo es tan complejo y perfecto que debe haber sido creado por un ente inteligente. Y uno de los mejores ejemplos de diseño inteligente somos los seres humanos.

O tal vez no. Hay todo tipo de ejemplos de un diseño no precisamente funcional, como el hecho de que el conducto respiratorio y el de alimentación, dos funciones vitales, sean el mismo, lo que hace que no se puedan realizar al mismo tiempo.

Dicho esto, se podría debatir si el diseño inteligente se debe entender como óptimo desde nuestro punto de vista o si es algo que no alcanzamos a comprender. Pero no se puede hablar de un diseño práctico tal y como lo entendemos.

Es mi opinión y tienes que respetarla

No. Es tu opinión y respeto la posibilidad de que tengas una; la que quieras. Pero tu opinión, en concreto, me parece estúpida y no pienso respetarla. Y espero que tú hagas lo mismo con mi opinión si no tiene base alguna.

Una opinión ha de ganarse el respeto con argumentos, no simplemente por el hecho de existir. Esto no quiere hacer que el debate no deba hacerse desde el respeto, pero nunca se debería aceptar este argumento, que normalmente es utilizado cuando el interlocutor es acorralado.





Alienígenas matemáticos – Los sombreros de los vamisos

Escribo este pequeño adendo al artículo de Alienígenas matemáticos – Entrenamiento civil con un doble objetivo. Por una parte para avisaros de que he actualizado el texto del artículo, ya que no sólo había algún error en la explicación del problema más difícil de todos, el último –entre otras cosas, a medio escribir en mi cabeza se cambiaron “amarillo” y “naranja”–, sino que además la explicación en sí era bastante pobre y confusa. Espero que ahora esté más claro: cuando le echéis un ojo me lo decís.

Por otro lado, entre los problemas alternativos que me habéis propuesto parecidos a los propuestos en el artículo, hay uno que encaja lo suficientemente bien en esta serie como para merecer una mención aparte. Me lo ha apuntado Gregorio Morales de modo que, aunque los adornos sean míos, el núcleo del problema y la solución son suyos. Gracias a Gregorio, quienes disfrutáis de esta absurda serie tenéis un pequeño apéndice al artículo anterior con un problema adicional endiabladamente difícil. Además, Gregorio se ha ofrecido amablemente a resolver dudas y pegas en comentarios, de modo que disfrutemos: la única cosa más divertida que pensar es pensar juntos.

Finalmente, por razones que no vienen al caso este mes está siendo espantoso y no voy a poder publicar un artículo semanal. Esta semana este pequeño adendo es el sustituto del artículo habitual. ¡Lo siento! A veces la vida se entromete.


Los sombreros de los vamisos

En la historia sobre el Banco Estelar de Deneb conocimos a los vamisos de Petrovichi, unas extrañas criaturas de origen probablemente artificial capaces de razonar, memorizar y calcular a una velocidad imposible para cualquier otra criatura de las galaxias conocidas –bueno, cualquier otra criatura con una excepción–. No hay más que ofrecer a uno de estos seres una alcaparra y calculará cosas para ti sin el menor problema, ya que aman esos encurtidos más que cualquier otra cosa en el mundo.

El caso es que, durante la conquista del planeta de los vamisos de Petrovichi, los Alienígenas matemáticos realizaron horrores genocidas que no puedo relatar aquí: los horrores habituales, por otro lado. Entre ellos, ¡sorpresa!, los monstruos hicieron espantosos experimentos matemático-psicológicos con las pobres criaturas, experimentos tanto más interesantes por las extraordinarias capacidades de los vamisos.

El más célebre de estos experimentos se produjo tras una modificación genética de un grupo de vamisos: se introdujo en su código genético ADN de lutrino, lo cual permitió a estos vamisos reproducirse a un ritmo gigantesco. Cuando empezó el experimento, el grupo de vamisos de Petrovichi modificados constaba de infinitos individuos.

Estos infinitos vamisos fueron informados por parte de sus captores de que a la mañana siguiente realizarían el siguiente proceso:

  • Todos los vamisos se pondrían en una fila –de longitud infinita, por supuesto–, mirando en el mismo sentido y con los ojos tapados. El del final de la fila, el número 1, vería a todos los demás vamisos frente a él –pero no su propio sombrero, claro–. El número 2 vería los sombreros de los vamisos 3 en adelante, el número 4 el de los vamisos 5 en adelante, etc.

  • Cada vamiso recibiría entonces un sombrero de color blanco o negro, un papel con su nú y dos bolas, una blanca y otra negra, y se le informaría de su número de posición (por ejemplo, “Eres el vamiso número 236″), siempre contando desde el vamiso 1 que ve a todos los demás.

  • Todos los vamisos abrirían los ojos a la vez, de modo que podrían ver a todos los demás vamisos frente a ellos (pero no su propio sombrero ni los que tienen detrás).

  • Cinco segundos después, todos los vamisos simultáneamente dejarían caer una de las dos bolas, blanca o negra, y se quedarían con la otra.

  • Cada vamiso cuya bola coincidiera con el color de su sombrero sobreviviría, y quienes tuvieran una bola del color contrario a su sombrero morirían.

Entonces, antes de irse a dormir, se permitió a los vamisos de Petrovichi que discutiesen una estrategia óptima que permitiese sobrevivir al mayor número posible de ellos. Tras la discusión nocturna, al día siguiente se realizó el experimento y la sorpresa de los Alienígenas matemáticos fue mayúscula: los vamisos habían planeado una estrategia que no sólo hizo sobrevivir a un número infinito de ellos, sino que sólo murió un número finito de vamisos.

¿Qué estrategia acordaron esa noche? Observa que, además de la diferencia obvia con el problema anterior –el hecho de que hay infinitos vamisos en vez de un número finito de humanos–, en este caso no hay manera de dar información al jugador frente a ti, ya que los vamisos hacen sus apuestas simultáneamente.

Como pista, recuerda que los vamisos pueden memorizar y calcular infinitamente rápido y con una capacidad ilimitada, además de ver infinitos vamisos frente a ellos, lo cual ya tiene mérito. ¿Eres capaz de inventar una estrategia con la que muera sólo un número finito de ellos? Si te sirve de consuelo, yo no: Gregorio tuvo que darme la solución, e incluso al leerla por primera vez no la entendí. Pero, por si acaso, dejo un espacio antes de seguir con el problema, que nunca se sabe cuándo hay un genio entre nosotros.

·

·

·

·

·

·

·

·

·

·

Tan pronto como estuvieron solos para su conversación nocturna los vamisos de Petrovichi, ni cortos ni perezosos, empezaron a crear definiciones y teoremas. En vez de pensar en sombreros concretos, lo hicieron acerca del conjunto de todos los sombreros. Al fin y al cabo, una vez todos tuvieran sombrero, el resultado sería una secuencia infinitamente larga de sombreros blancos y negros.

Esa fue su primera definición: una secuencia es una serie concreta de infinitos sombreros, por ejemplo BNBNBNBN… Y la solución es la secuencia correcta de infinitos sombreros.

¿Cuántas posibles secuencias de sombreros podría haber? Evidentemente, infinitas, de las cuales sólo una es la solución. Sin embargo, no todas las secuencias diferentes serían igualmente diferentes. Unas serían más parecidas que otras. Por ejemplo, estas dos secuencias son diferentes: BNBNBNBNBNBN… y NBNBNBNBNBNB… De hecho, en esas dos secuencias absolutamente todos los sombreros son diferentes, pues cuando en una el sombrero n es blanco, en la otra es negro y viceversa. Hay infinitos sombreros diferentes entre ambas.

Otro ejemplo de dos secuencias muy diferentes: supongamos que ambas empiezan igual, digamos que BBBNNB para ambas, pero a partir de ahí absolutamente todos los sombreros son diferentes. Una vez más, ya que las secuencias no acaban nunca, hay infinitos sombreros diferentes entre ambas –aunque en este caso hay un número finito de sombreros que son iguales, BBBNNB–.

Otro ejemplo más: imaginemos dos secuencias en las que los sombreros pares son todos exactamente iguales en ambas, pero los sombreros impares son diferentes. Por ejemplo, BBBBBBB… y NBNBNBNB…. En ellas hay un número infinito de posiciones idénticas y también un número infinito de posiciones diferentes. Pero, para lo que importaba a los vamisos, la clave era esa segunda parte: hay un número infinito de sombreros diferentes.

¿Es posible que haya secuencias en las que sólo un número finito de posiciones tengan sombreros diferentes? Por supuesto que sí: el caso opuesto al de la secuencia inicial idéntica. Si existe un punto a partir del cual todos los sombreros son iguales, la diferencia será entonces la secuencia finita de sombreros hasta ese punto. Por ejemplo, BBBBBNBNBNBNB… y NNNNNNBNBNBNB…. a partir de la posición 6 son secuencias idénticas, pero las cinco primeras posiciones no lo son. Por lo tanto, la diferencia entre ambas es sólo un número finito de posiciones.

De modo que los vamisos realizaron la siguiente definición: dos secuencias son semejantes si se diferencian en un número finito de posiciones, y desemejantes si se diferencian en un número infinito de posiciones.

A continuación dividieron las infinitas secuencias posibles en conjuntos de secuencias semejantes. Hay infinitos conjuntos de este tipo, y cada conjunto tiene un número infinito de secuencias, pero entre sí todas las secuencias semejantes de un conjunto difieren, como es natural, tan sólo en un número finito de elementos.

Aquí viene la clave de la cuestión: para cada conjunto de secuencias semejantes los vamisos eligieron un patrón, una secuencia concreta del conjunto que consideraron representante de todo el conjunto. Daba igual cuál fuese el sistema para elegir patrón, siempre que estuviera claro para todos los vamisos cuál era el patrón de un conjunto determinado.

El teorema correspondiente, la clave de su estrategia, fue éste: un patrón es semejante a todas las secuencias de su conjunto. La demostración es tan tonta que no voy ni a mencionarla. La consecuencia, también perogrullesca, es esencial: un patrón sólo se diferencia de todas las secuencias de su clase en un número finito de sombreros.

¿Por qué era esto importante? Porque, cuando un vamiso determinado –cualquiera que fuese– abriera los ojos, vería infinitos sombreros frente a él y, lo que es más importante, el número de sombreros que no podría ver sería finito. Y esto es verdad para todos ellos, luego todos tienen esa ventaja, el hecho de que a su espalda hay un número finito de sombreros, y frente a ellos un número infinito de sombreros.

Al ver un número infinito de sombreros, todo vamiso puede identificar la secuencia frente a él y, por tanto, el conjunto de secuencias semejantes al que pertenece. Fijémonos, por ejemplo, en el vamiso n. Cuando abre los ojos puede ver la parte de la solución desde n+1 hasta el infinito, pero no puede ver los elementos de la solución 1 hasta n. Ve un número infinito de vamisos y no ve un número finito.

De modo que todos los vamisos acordaron lo siguiente:

Al abrir los ojos y ver los infinitos sombreros frente a ellos –pero no los que tienen detrás– sabrían a qué conjunto de secuencias semejantes pertenecía la secuencia que estaban viendo. Por lo tanto, sabrían cuál es el patrón de esa secuencia, y se ajustarían a ese patrón. Finalmente, una vez decidido el patrón correspondiente al conjunto de secuencias similares a la que veían, elegirían como su sombrero el que correspondiese a su posición en el patrón elegido.

¿Por qué funciona esta estrategia como óptima? Hay que ir poco a poco para entenderlo.

Supongamos que tú, pacientísimo lector, eres informado de que eres el vamiso número 7. Miras frente a ti y ves una secuencia de sombreros infinita, digamos que BBNBBNBBNBBN… desde la posición 8 hasta el infinito.

Siendo un vamiso, en primer lugar identificas el conjunto al que pertenece esta secuencia, y luego recuerdas el patrón acordado para ese conjunto. Digamos que el patrón es NNNNNNNNNNBBNBBNBBNBBN… El patrón y la secuencia real que estás viendo son iguales desde la posición 10 en adelante. De hecho, las posiciones 8 y 9 no son iguales en el patrón (NN) y en la secuencia que ves (BB), pero eso da exactamente igual. No estás intentando encontrar la solución, sino el patrón correspondiente a la secuencia dada incluso aunque sepas seguro que no coincide con ella. Puede que patrón y secuencia visible no sean iguales, pero lo importante es que son semejantes.

Por lo tanto, dado que tu posición es la 7 y que el patrón tiene en la posición 7 un sombrero negro (N), cuando llegue el momento te quedarás en la mano con la bola negra y esperarás tener suerte.

¿Qué hará, en la misma jugada, el vamiso que hay frente a ti en la posición 8? Él ve un sombrero menos que tú, BNBBNBBNBBN…, pero una vez vislumbrados los infinitos sombreros asociará a la secuencia el mismo conjunto y, por lo tanto, el mismo patrón que tú. Dado que en el patrón la posición de su sombrero, la número 8, se corresponde con el negro (N), cuando llegue el momento él también se quedará con la bola negra en la mano.

El pobre vamiso número 8 no puede saberlo, pero está condenado: tú sí puedes ver su sombrero, que es blanco. Pobrecillo… pero es que este sistema no garantiza la supervivencia de ningún vamiso concreto, y tu compañero es una de las víctimas del sistema.

Veamos, no lo que le pasa a un vamiso concreto, sino a todos. Para eso nos hace falta la secuencia completa, es decir, la solución, no sólo lo que veías tú desde la posición 7. Supongamos que la solución es NBBNBBNBBNBBNBBNBBN…. Absolutamente todos los vamisos, independientemente de su posición, identificarán el conjunto de la secuencia que ven y elegirán su patrón –el representante que acordaron la noche anterior– que fue NNNNNNNNNNBBNBBNBBNBBN…

¿Qué le pasa entonces a cada vamiso? Cada uno se queda con la bola correspondiente del patrón. El vamiso 1 se queda con la bola N, y su sombrero es N, luego sobrevive. El vamiso 2 se queda con la bola N y su sombrero es B, luego muere. Lo mismo le pasa al vamiso 3. El vamiso 4 sobrevive pues su sombrero real coincide con el del patrón, pero los vamisos 5 y 6 mueren, porque tienen sombreros B pero el patrón tenía N en esas posiciones. El vamiso 7 (tú) sobrevive, pero el 8 y el 9 mueren ambos por tener sombreros blancos.

Pero quiénes viven y mueren de este conjunto inicial es absolutamente irrelevante –para la solución óptima, claro, no para los pobres vamisos involucrados–. ¿Por qué (y ésta es, otra vez, la clave de la cuestión)? Porque el número de vamisos iniciales hasta que el patrón y la solución coincidan, ya que ambos son semejantes, es finito.

Así, en nuestro ejemplo los vamisos 10 en adelante son ya la secuencia idéntica al patrón, luego absolutamente todos sobrevivirán, y son infinitos. Pero la clave de la cuestión, insisto, no es que ellos sean infinitos: es que la diferencia de sombreros entre el patrón y la solución es finita, porque son soluciones semejantes. Dado que todos los vamisos se ajustan al mismo patrón, sólo un número finito de ellos puede morir: aquellos infortunados de las posiciones en las que se diferencian patrón y solución.

¿Qué sistema deben elegir los vamisos para acordar un patrón de cada conjunto? Ésa es la belleza del sistema: da exactamente igual. Lo que no da igual, porque es lo que garantiza que el número de muertos sea finito, es que todos elijan el mismo patrón.

Como todos los problemas con infinito, va bastante contra la intuición y sospecho que al principio causará dudas y arqueamiento de cejas a casi todos. A mí me costó Dios y ayuda –ayuda de Gregorio– acabar entendiéndolo. De hecho, aunque podría ayudaros en comentarios, creo que será más divertido si planteáis las dudas o pegas que os surjan y Gregorio puede intentar resolverlas. Si no puedo evitarlo intervendré, pero intentaré hacerlo lo menos posible. Que comience la batal… quiero decir, que ustedes lo disfruten.



The Lost Skeleton Of Cadavra (2001) (VOSE)




sinopsis

Un científico, ayudado por su torpe esposa, intentará salvar a la humanidad de las garras de un monstruo radioactivo, unos curiosos extraterrestres del espacio exterior, un malvado científico y un esqueleto refunfuñón en esta película homenaje al cine de serie B de los años 50. 







Ficha Técnica

Director: Larry Blamire / Productor: F. Miguel Valenti / Guion: Larry Blamire / Fotografía: Kevin F. Jones / Montaje: Bill Bryn Russell / Intérpretes: Fay Masterson (Betty Armstrong), Andrew Parks (Kro-Bar), Susan McConnell (Lattis), Brian Howe (Dr. Roger Fleming), Jennifer Blaire (Animala), Larry Blamire (Dr. Paul Armstrong), Dan Conroy (Ranger Brad), Robert Deveau (granjero),  Darrin Reed (El Mutante). Nacionalidad y año: USA. 2001. Duración y datos técnicos: 90 min. B/N.  1.85 : 1. (Inglés + Subs)







Comentario



Bueno, mis queridos amigos. Para comenzar, espero, la nueva etapa de éste, vuestro blog "Plan 9", he querido postear una cinta del año 2001, saltándome las normas del blog que pone como tope cronológico a la hora de subir películas,  los felices años 80. Hablo del film "The Lost Skeleton Of Cadavra". Un producto de serie B, Z que en realidad es una pequeña broma-homenaje a los clásicos de la sci-fi de los años 50.


“The Lost Skeleton…” es una película mala, tonta, llena de diálogos absurdos, con unos decorados más que cutres y unos efectos especiales de risa … En fin, como esos clásicos que a todos tanto nos gustan (aunque ellos lo hacían en serio y no en forma de broma filmada como el que nos ocupa). Como en muchos de los filmes que hemos posteado en “Plan 9” nos encontramos ante otro de los llamados "buenos malos". Es decir, que es mala con avaricia, pero nos entretiene de tal manera que pasa a ser buena, claro está, entre comillas. Y como en muchos de los comentarios que he hecho en estos años se podría acabar diciendo: “ideal para ver con los amigos con unas cervezas y echarse unas risas”.

Porque “Lost Skeleton” es un homenaje a las películas de serie B de ciencia ficción de la década de los 50, en las que los cineastas trataron de sacar provecho de los temas relacionados con lo desconocido, y las dudas sobre los que nos rodea. Como resultado, se hicieron muchas películas de bajo presupuesto con alienígenas, monstruos mutantes, científicos locos, etc... Muchos de estas filmes resultaron ser clásicos maravillosos como “La invasión de los ladrones de cuerpos” (1956), “La guerra de los mundos” (1953)  o “Ultimátum a la Tierra” (1951). Desafortunadamente (o no), la mayoría de las películas resultaron ser terriblemente malas, al más puro estilo Ed Wood. Y como debe ser, cautivaron a un buen puñado de frikis (entre los que me encuentro) y se convirtieron el películas de culto. Larry Blamire, el director de “Lost Skeleton” evidentemente es otro de esos frikis, ya que la película picotea entre todos los subgéneros de la sci-fi recogiendo lo que le apetece: mutantes, meteoritos, extraterrestres, científicos locos, científicos buenos, etc… en forma de comedia. Pero eso sí, a pesar de parodiarlos sin piedad, lo hace con muchísimo cariño. Y eso se nota.

Hablar del argumento de la película es casi innecesario, porque la historia es tan inverosímil y absurda, que no tiene desperdicio. El guión recoge, como hemos dicho lo que le apetece del género, lo mezcla sin compasión y eso se traduce en una historia sin pies ni cabeza, llena de humor y consigue que en cada fotograma nos venga a la cabeza un título distinto de los clásicos de antaño. Algo que hace con brillantez.
Pero no sólo la trama es un remedo de los clásicos de antaño, sino que todo lo demás: decorados, efectos, etc. La ambientación en general, nos retrotrae a dicha época. Es un típico producto de serie B hecho con cuatro dólares que cae en los errores propios del amateurismo y la falta de presupuesto tan habituales en las películas de los años 50. Un ejemplo muy claro es un momento en el que un personaje se ve caminando a un lado de una habitación con una chaqueta oscura, y a continuación, en el siguiente fotograma aparece con una camisa blanca. Pero eso está hecho, evidentemente, de forma deliberada. Porque, con esta película, Larry Blamire ha llevado a cabo un estilo de hacer cine que se hizo evidente en los años 50. Pero a pesar de que parodia esas pequeñas joyitas que tanto nos gustan, no lo hace con inquina, sino que se refleja que está hecho con el cariño de alguien que ama el género y que ha devorado cientos de película de la más mala serie B de ciencia ficción. Algo que se percibe a lo largo de todo el visionado del film.
En definitivas cuentas, una broma cinematográfica ideal para ver con los amigos con unas cervezas y echarse unas risas.






Links descarga


(Mega)


https://mega.co.nz/#!ZFczQIAD!JDnBg3uYbpRGTfx5iUwyJwVvuRcokpawJMMfCaRmv6s

https://mega.co.nz/#!dFkx0KwS!EcaRYAG35dFjdc6FgCy_ilAkmOFFckEtXlp0iuXiVE0

https://mega.co.nz/#!NAd0nLpB!LLUd7kDd_ba--ZUSk8aVIhpGbJcBP88dy2193oH1Zas


(4shared)


http://www.4shared.com/rar/7OjWvQfV/capridavrapart1.html

http://www.4shared.com/rar/PmOwvfpF/capridavrapart2.html


http://www.4shared.com/rar/xe9IxfIF/capridavrapart3.html



Pass: esqueleto




Let’s Build a 3D Graphics Engine: Spaces and Culling

This entry is part 3 of 4 in the series Let's Build a 3D Graphics Engine

Welcome! This is the third part of our series on 3D graphics engines. If you made it this far into the series, you’ll be glad to know that this piece will be much lighter on the math aspect of 3D engines, and instead will take a focus on more practical things – in particular, adding a camera and a basic rendering system.

Tip: If you haven’t read the first two parts yet, I highly suggest that you do before continuing.


Recap

First off, let’s take a look at the classes that we’ve created so far:

  Point Class  {          Variables:                  num tuple[3]; //(x,y,z)            Operators:                  Point AddVectorToPoint(Vector);                  Point SubtractVectorFromPoint(Vector);                  Vector SubtractPointFromPoint(Point);                  Null SetPointToPoint(Point); // move point to specified point            Functions:                  drawPoint; //draw a point at its position tuple  }    Vector Class  {          Variables:                  num tuple[3]; //(x,y,z)            Operators:                  Vector AddVectorToVector(Vector);                  Vector SubtractVectorFromVector(Vector);                  Vector RotateXY(degrees);                  Vector RotateYZ(degrees);                  Vector RotateXZ(degrees);                  Vector Scale(s0,s1,s2); //params: scaling along each axis  }  

Using these two classes on their own has proven a little messy thus far, and drawing every possible point can drain your system’s memory fairly quickly. To solve these problems, we are going to introduce a new class into our game engine: the camera.

Our camera is going to be where all our rendering happens, exclusively; its going to cull all of our objects to the screen, and it is also going to manage a list of all of our points.

But before we can get to all of that, we must first talk a little bit about culling.


London Culling

Culling, by definition, is the selection of objects from a larger group of objects. For our game engine, the small selection that we take will be the points that we want to draw to the screen. The larger group of objects will be every point that exists.

Doing this drastically reduces your engine’s drain on a system’s memory, by drawing only what a player is actually able to see, rather than an entire world’s worth of points. In our engine, we are going to do this by setting parameters for a view space.

Our view space will be defined across all three of the traditional axes: x, y, and z. Its x definition will consist of everything between the window’s left and right boundaries, its y definition will consist of everything between the window’s top and bottom boundaries, and its z definition will be between 0 (where the camera is set) and our player’s view distance (for our demonstration, we will be using an arbitrary value of 100).

Prior to drawing a point, our camera class is going to check to see whether that point lies within our view space. If it does, then the point will be drawn; otherwise, it will not.


Can We Get Some Cameras in Here?

With that basic understanding of culling, we can deduce that our class will look like this, so far:

  Camera Class  {  Vars:      int minX, maxX; //minimum and maximum bounds of X      int minY, maxY; //minimum and maximum bounds of Y      int minZ, maxZ; //minimum and maximum bounds of Z  }  

We are also going to have our camera handle all of the rendering for our engine as well. Depending on the engine, you will find that renderers are often separated from the camera systems. This is typically done to keep the systems encapsulated nicely, since – depending on the scope of your engine – the two could get quite messy if kept together. For our purposes, though, it will be simpler to treat them as one.

First, we’re going to want a function that can be called externally from the class that will draw the scene. This function will cycle through each of the points that exist, compare them to the camera’s culling parameters, and draw them if applicable.

ViewFrustum
Source: http://en.wikipedia.org/wiki/File:ViewFrustum.svg

Tip: If you wanted to separate your camera system from your renderer, you could simply create a Renderer class, have the camera system cull the points, store the ones to be drawn in an array, and then send that array to the draw() function of your renderer.


Point Management

The final piece of our camera class is going to be its point management system. Depending on the programming language you are using, this could just be a simple array of all of the objects that can be drawn (we will be handling more than just points in later parts). Alternatively, you may have to use the language’s default object parent class. If you are super unlucky, you will have to create your own object parent class and have each drawable class (so far only points) be a child of that class.

After adding that into the class, a basic overview of our camera would look like this:

  Camera Class  {      Vars:          int minX, maxX; //minimum and maximum bounds of X          int minY, maxY; //minimum and maximum bounds of Y          int minZ, maxZ; //minimum and maximum bounds of Z          array objectsInWorld; //an array of all existent objects      Functions:          null drawScene(); //draws all needed objects to the screen, does not return anything  }  

With these additions, let’s improve a little upon the program that we made last time.


Bigger and Better Things

We are going to create a simple point drawing program, with the sample program that we created last time as a starting point.

In this iteration of the program, we are going to add in the use of our new camera class. When the D key is pressed, the program will redraw the screen without culling, displaying the number of objects that were rendered in the top right-hand corner of the screen. When the C key is pressed, the program will redraw the screen with culling, also displaying the number of rendered objects.

Let’s take a look at the code:

  main{          //setup for your favorite Graphics API here          //setup for keyboard input (may not be required) here    var camera = new Camera(); //create an instance of the camera class  camera.objectsInWorld[100]; //create 100 object spaces within the camera's array    //set the camera's view space  camera.minX = 0;  camera.maxX = screenWidth;  camera.minY = 0;  camera.maxY = screenHeight;  camera.minZ = 0;  camera.maxZ = 100;            for(int x = 0; x < camera.objectsInWorld.length; x++)          {                  //Set its location to a random point on the screen                  camera.objectsInWorld[x].tuple = [random(-200,1000), random(-200,1000), random(-100,200));          }            function redrawScreenWithoutCulling() //this function clears the screen and then draws all of the points          {                  ClearTheScreen();  //use your Graphics API's clear screen function                  for(int x = 0; x < camera.objectsInWorld.length; x++)                  {                          camera.objectsInWorld[x].drawPoint();   //draw the current point to the screen                  }          }            while(esc != pressed)  // the main loop          {                  if(key('d') == pressed)                  {                          redrawScreenWithoutCulling();                  }                  if(key('c') == pressed)                  {                          camera.drawScene();                  }                  if(key('a') == pressed)                  {                          Point origin = new Point(0,0,0);                          Vector tempVector;                          for(int x = 0; x < camera.objectsInWorld.length; x++)                          {                                  //store the current vector address for the point, and set the point                                  tempVector = camera.objectsInWorld[x].subtractPointFromPoint(origin);                                  //reset the point so that the scaled vector can be added                                  camera.objectsInWorld[x].setPointToPoint(origin);                                  //scale the vector and set the point to its new, scaled location                                  camera.objectsInWorld[x].addVectorToPoint(tempVector.scale(0.5,0.5,0.5));                          }                  }                  if(key('s') == pressed)                  {                          Point origin = new Point(0,0,0);  //create the space's origin as a point                          Vector tempVector;                          for(int x = 0; x < camera.objectsInWorld.length; x++)                          {                                  //store the current vector address for the point, and set the point                                  tempVector = camera.objectsInWorld[x].subtractPointFromPoint(origin);                                  //reset the point so that the scaled vector can be added                                  camera.objectsInWorld[x].setPointToPoint(origin);                                  //scale the vector and set the point to its new, scaled location                                  camera.objectsInWorld[x].addVectorToPoint(tempVector.scale(2.0,2.0,2.0));                          }                  }                  if(key('r') == pressed)                  {                          Point origin = new Point(0,0,0);  //create the space's origin as a point                          Vector tempVector;                          for(int x = 0; x < camera.objectsInWorld.length; x++)                          {                                  //store the current vector address for the point, and set the point                                  tempVector = camera.objectsInWorld[x].subtractPointFromPoint(origin);                                  //reset the point so that the scaled vector can be added                                  camera.objectsInWorld[x].setPointToPoint(origin);                                  //scale the vector and set the point to its new, scaled location                                  camera.objectsInWorld[x].addVectorToPoint(tempVector.rotateXY(15));                          }                  }          }  }  

Now you can see, first-hand, the power of culling! Do note that if you are looking through the sample code, some things are done a bit differently in order to make the demos more web-friendly. (You can check out my simple demo here.)


Conclusion

With a camera and rendering system under your belt, you can technically say that you’ve created a 3D game engine! It may not be overly impressive just yet, but it’s on its way.

In our next article, we’ll be looking at adding some geometric shapes to our engine (namely line segments and circles), and we will talk about the algorithms that can be used to fit their equations to the pixels of a screen.



The Snowtown Murders [Dvd-Rip][V.O.S.E][2011]



Título original: Snowtown
Año: 2011
Duración: 120 min.
País: Australia
Director: Justin Kurzel
Guión: Justin Kurzel, Shaun Grant
Música: Jed Kurzel
Fotografía: Adam Arkapaw
Reparto: Daniel Henshall, Lucas Pittaway, Craig Coyne, Louise Harris, Frank Cwiertniak, Matthew Howard, Marcus Howard, Anthony Groves, Richard Green, Aaron Viergever, David Walker
Productora: Screen Australia / Warp X Australia
Género: Drama, Basado en hechos reales.

Sinopsis Una producción de Warp X Australia, opera prima del director Australiano Justin Kurzel, un filme duro, hasta cierto punto desagradable, pero cargado de realismo, cuidada fotografía y ambientación, basada en hechos reales narra los acontecimientos acaecidos en su ciudad natal (Snowtown) la historia de 'John Bunting' el peor asesino en serie de Australia. (Extrarradio)

Montaje y Subtitulo por Extrarradio




Understanding Steering Behaviors: Collision Avoidance

This entry is part 6 of 6 in the series Understanding Steering Behaviors

Decent NPC navigation often requires the ability to avoid obstacles. This tutorial covers the collision avoidance steering behavior, which allows characters to gracefully dodge any number of obstacles in the environment.

Note: Although this tutorial is written using AS3 and Flash, you should be able to use the same techniques and concepts in almost any game development environment. You must have a basic understanding of math vectors.


Introduction

The basic idea behind collision avoidance is to generate a steering force to dodge obstacles every time one is close enough to block the passage. Even if the environment has several obstacles, this behavior will use one of them at a time to calculate the avoidance force.

Only the obstacles ahead of the character are analyzed; the closest one, said to be the most threatening, is selected for evaluation. As a result the character is able to dodge all obstacles in the area, transitioning from one to another gracefully and seamlessly.


Obstacles ahead of the character are analyzed and the closest one (most threatening) is selected.

The collision avoidance behavior is not a path finding algorithm. It will make characters move through the environment, avoiding obstacles, eventually finding a route to go through the blocks – but it does not work really well with “L” or “T” obstacles, for instance.

Tip: This collision avoidance behavior may sounds similar to the flee behavior, but there is an important difference between them. A character moving near a wall will avoid it only if it’s blocking the way, but the flee behavior will always push the character away from the wall.

Seeing Ahead

The first step to avoid obstacles in the environment is to perceive them. The only obstacles the character must worry are the ones that are in front of it and directly blocking the current route.

As previously explained, the velocity vector describes the direction of the character. It will be used to produce a new vector called ahead, which is a copy of the velocity vector, but with a different length:


The ahead vector is the character’s line of sight.

This vector is calculated as follows:

  ahead = position + normalize(velocity) * MAX_SEE_AHEAD  

The ahead vector length (adjusted with MAX_SEE_AHEAD) defines how far the character will “see”.

The greater MAX_SEE_AHEAD is, the earlier the character will start acting to dodge an obstacle, because it will perceive it as a threat even if it’s far away:


The greater the ahead length is, the earlier the character will start acting to dodge an obstacle.

Checking for Collision

In order to check for collision, every obstacle (or its bounding box) must be described as a geometric form. Using a sphere (circle in two dimensins) gives the best results, so every obstacle in the environment will be described as such.

One possible solution to check for collision is the line-sphere intersection – the line is the ahead vector and the sphere is the obstacle. That approach works, but I’m going to use a simplification of that which is easier to understand and has similar results (even better ones at times).

The ahead vector will be used to produce another vector with half of its length:


Same direction, half the length.

The ahead2 vector is calculated exactly like ahead, but its length is cut in half:

  ahead = position + normalize(velocity) * MAX_SEE_AHEAD  ahead2 = position + normalize(velocity) * MAX_SEE_AHEAD * 0.5  

We want to perform a collision check to test whether either of those two vectors are inside the obstacle sphere. That’s easily accomplished by comparing the distance between the vector’s end and the sphere’s center.

If the distance is less than or equal to the sphere radius, then the vector is inside the sphere and a collision was found:


The ahead vector is intercepting the obstacle if d < r. The ahead2 vector was omitted for clarity.

If either of the two ahead vectors are inside the obstacle sphere, then that obstacle is blocking the way. The Euclidean distance between two points can be used:

  private function distance(a :Object, b :Object) :Number {          return Math.sqrt((a.x - b.x) * (a.x - b.x)  + (a.y - b.y) * (a.y - b.y));  }    private function lineIntersectsCircle(ahead :Vector3D, ahead2 :Vector3D, obstacle :Circle) :Boolean {          // the property "center" of the obstacle is a Vector3D.          return distance(obstacle.center, ahead) <= obstacle.radius || distance(obstacle.center, ahead2) <= obstacle.radius;  }  

If more than one obstacle is blocking the way, then the closest one (the “most threatening”) is selected for calculation:


The closest obstacle (most threatening) is selected for calculation.

Calculating the Avoidance Force

The avoidance force must push the character away from the obstacle, allowing it to dodge the sphere. It can be done using a vector formed by using the center of the sphere (which is a position vector) and the ahead vector. We calculate this avoidance force as follows:

  avoidance_force = ahead - obstacle_center  avoidance_force = normalize(avoidance_force) * MAX_AVOID_FORCE  

After avoidance_force is calculated it is normalized and scaled by MAX_AVOID_FORCE, which is a number used to define the avoidance_force length. The greater MAX_AVOID_FORCE is, the stronger is the avoidance force pushing the character away from the obstacle.


Avoidance force calculation. The dashed orange line shows the path the character will take to avoid the obstacle. Tip: The position of any entity can be described as a vector, so they can be used in calculations with other vectors and forces.

Avoiding the Obstacle

The final implementation for the collisionAvoidance() method, which returns the avoidance force, is:

  private function collisionAvoidance() :Vector3D {          ahead = ...; // calculate the ahead vector          ahead2 = ...; // calculate the ahead2 vector            var mostThreatening :Obstacle = findMostThreateningObstacle();          var avoidance :Vector3D = new Vector3D(0, 0, 0);            if (mostThreatening != null) {                  avoidance.x = ahead.x - mostThreatening.center.x;                  avoidance.y = ahead.y - mostThreatening.center.y;                    avoidance.normalize();                  avoidance.scaleBy(MAX_AVOID_FORCE);          } else {                  avoidance.scaleBy(0); // nullify the avoidance force          }            return avoidance;  }    private function findMostThreateningObstacle() :Obstacle {          var mostThreatening :Obstacle = null;            for (var i:int = 0; i < Game.instance.obstacles.length; i++) {                  var obstacle :Obstacle = Game.instance.obstacles[i];                  var collision :Boolean = lineIntersecsCircle(ahead, ahead2, obstacle);                    // "position" is the character's current position                  if (collision && (mostThreatening == null || distance(position, obstacle) < distance(position, mostThreatening))) {                          mostThreatening = obstacle;                  }          }          return mostThreatening;  }  

The avoidance force must be added to the character’s velocity vector. As previously explained, all steering forces can be combined into one, producing a force that represents all active behavior acting on the character.

Depending on the avoidance force angle and direction it will not interrupt other steering forces, such as seek or wander. The avoidance force is added to the player velocity as usual:

  steering = nothing(); // the null vector, meaning "zero force magnitude"  steering = steering + seek(); // assuming the character is seeking something  steering = steering + collisionAvoidance();    steering = truncate (steering, max_force)  steering = steering / mass    velocity = truncate (velocity + steering, max_speed)  position = position + velocity  

Since all steering behaviors are re-calculated every game update, the avoidance force will remain active as long as the obstacle is blocking the way.

As soon as the obstacle is not intercepting the ahead vector line, the avoidance force will become null (no effect) or it will be re-calculated to avoid the new threatening obstacle. The result is a character that is able to avoid obstacles:


Move the mouse cursor. Click to show forces.

Improving Collision Detection

The current implementation has two problems, both related to the collision detection. The first one happens when the ahead vectors are outside the obstacle sphere, but the character is too close to (or inside) the obstacle.

If that happens, the character will touch (or enter) the obstacle, skipping the avoidance process because no collision was detected:


Sometimes the ahead vectors are outside the obstacle, but the character is inside.

This problem can be fixed by adding a third vector to the collision check: the character’s position vector. The use of three vectors greatly improves the collision detection.

The second problem happens when the character is close to the obstacle, steering away from it. Sometimes the maneuvering will cause a collision, even though the character is just rotating to face another direction:


Maneuvering might cause a collision, even though the character is just rotating.

That problem can be fixed by scaling the ahead vectors according to the character’s current velocity. The code to calculate the ahead vector, for instance, is changed to:

  dynamic_length = length(velocity) / MAX_VELOCITY  ahead = position + normalize(velocity) * dynamic_length  

The variable dynamic_length will range from 0 to 1. When the character is moving at full speed, dynamic_length is 1; when the character is slowing down or accelerating, dynamic_length is 0 or greater (e.g. 0.5).

As a consequence, if the character is just maneuvering without moving, dynamic_length tends to zero, producing a null ahead vector, which has no collisions.

Below is the result with these improvements:


Move the mouse cursor. Click to show forces.

Demo: It’s Zombie Time!

In order to demonstrate the collision avoidance behavior in action, I think a horde of zombies is the perfect fit. Below is a demo showing several zombies (with different velocities) seeking the mouse cursor. Art by SpicyPixel and Clint Bellanger, from OpenGameArt.


Move the mouse cursor. Click to show forces.

Conclusion

The collision avoidance behavior allows any character to dodge obstacles in the environment. Since all steering forces are re-calculated every game update, the characters seamlessly interact with different obstacles, always analyzing the most threatening one (the closest).

Even though this behavior is not a path finding algorithm, the results achieved are quite convincing for crowded maps.