Error: No coinciden los Tipos

Quizá alguno de mis pequeños descubrimientos te resulte interesante. Y si no coinciden nuestros tipos…

Archivo de Enero 2009

DriverMax

Publicado por mrtypo12 en Enero 29, 2009

DriverMax es una utilidad que escanea tu sistema Windows y extrae y empaqueta todos los drivers que tienes instalados. De esta manera la proxima instalacion no sera tan traumatica, sobre todo para aquellos que se ganen la vida peregrinando por entre esas empresas de chichinado con PCs antediluvianos que solicitan una reinstalacion del tipo “es que me va muy lento”.

No lo he probado pero me parece realmente impresionante este tipo de iniciativas. Y mas impresionando que no sea la propia Microsoft la que provea de este tipo de programas de forma gratuita (no lo llaman a esto “exportar – importar configuracion”?).

Publicado en Windows, software | Deja un Comentario »

Espoiler

Publicado por mrtypo12 en Enero 29, 2009

No lo he mirado en profundidad pero aqui teneis la web de Espoiler.

Esta web es una cosa curiosa: es precisamente lo que tendria que ser la television actual y no es por pura dejadez y anclaje en los modelos de negocio antediluvianos a los que todavia nos vemos sometidos, tanto en el mercado de la musica como en el de la television, como es el caso que nos ocupa. Y todo ello con las complices ayudas llenas de subsidios de nuestros queridos gobiernos que nos meten la mano en la bolsa para repatir lo que alli encuentran entre los “artistas” y lo que es peor: las multinacionales que los controlan.

Pues bien, aqui un señor se ha currado una pagina web con las series que se emiten actualmente en el mundo (o mejor dicho, en la meca de las series: EEUU). Tenemos una especie de carta de programacion diaria, con fichas de series, torrents de descarga y links para buscar los subtitulos.Lo que se llama un “All-In-One”

Si esta web fuera comprada por una de esas multinacionales y la alimentara de contenidos de primera mano (paso a divx de los capitulos que emiten, creacion de subtitulos, creacion y actualizacion de fichas, mantenimiento de foros etc) unido a algun dispositivo tipo Media Tank para poder navegarlo y verlo desde el salon… eso seria la bomba lironda!

Publicado en cine, series | Deja un Comentario »

Top Ten Lost

Publicado por mrtypo12 en Enero 29, 2009

Aqui para una lista de webs y blogs que detallan el dia a dia de esta otrora sobresaliente serie.

Publicado en lost | Deja un Comentario »

Semana intensa de cine

Publicado por mrtypo12 en Enero 26, 2009

Parece que inconscientemente esta semana he sentido la necesidad de ponerme al dia, cinefilamente hablando.

Entre la casi media docena de de pelis que he podido ver (“la Clase” y “RocknRolla” en el cine, “Rebobine por favor“, “88 minutos” y “Sentencia de muerte” en divx) me quedo sin duda con la primera, una especie de falso documental sobre las relaciones personales y laborales entre el profesor y el alumno tipico europeo de hoy dia, haciendo incapie sobre todo en la parte humana del asunto.

515owgcllsl_sl500_aa240_

No es esta una pelicula donde el profesor canta y hace bromas y el alumnado conmovido se lleva la mano al pecho gritando consignas, ni van a derrumbar la escuela ante los desafiantes canticos del “no nos moveran” por parte de decenas de pequeños chanquetes que parecen haber olvidado los sufrimientos que les deparaba dia a dia el lugar, ni la escuela es una zona desmilitarizada y el profesor un excombatiente del vietnam que se cepilla a las pandillas del barrio y de los adyacentes si se le da tiempo y municion.

La peli esta basada en un libro escrito por el protagonista, François Bégaudeau, que a la sazon es profesor en la vida real y guionista de la peli, y que detalla la tension y la continua guerra psicologica que supone impartir clase a dos docenas de chavales de 13-14 años en un barrio marginal y dominado por la inmigracion.

En primer lugar me ha chocado la representacion de la chavaleria en la pelicula: desvergonzados y tarugos son los adjetivos que mas facilmente me acuden a la cabeza. Desconozco si la realidad es asi o es todavia peor. Es curiosa la imposicion del “usted” para refererirse al profesor, y sin embargo es contradictorio el margen de maniobra que se les deja a los chavales, margen que aprovechan para subirse a las barbas del profesor de turno: ya no es que no se plantee sacar la mano a pastar, cosa q en mi epoca no era muy comun pero algunas yoyas si que caian de tanto en cuanto, sino que a la hora de referirse al alumnado parece que hay que hacerlo en terminos educados y respetuosos, cosa que a la inversa no parece aplicarse.

Por otra parte es muy notable lo bien plasmada que esta la posibilidad de obtener una pequeña victoria de un alumno que parece solo dedicarse a sabotear la clase cuando por fin se  consigue interesarle por una materia concreta y que esta sea aprendida con gusto, mostrando con orgullo sus logros y venciendo las inherentes inseguridades de la edad, y de ahi pasar en tan solo 5 minutos a una situacion donde la clase se descontrola, una alumna acaba en enfermeria y el alumno otrora destructivo y despues presuntamente encarrilado termina expulsado debido a una situacion donde la parte sentimental y humana juega un papel decisivo en las relaciones establecidas entre estos dos grupos tan dispares y enfrentados.

Se tocan muchos temas, quiza demasiados: inmigracion y la dificultad de integracion, la debil separacion entre la labor de padres y profesores, el entorno laboral del profesor medio etc… La unica pega que se le puede poner es que es francesa y lo suyo seria verla en version original; me ha dado en la nariz que el doblaje pierde mucho pero claro, mi frances digamos que es inexistente… Por lo demas es una pelicula muy recomendable y que no estaria de mas que la vieran los alumnos.

Popr cierto que la sala estaba petada de gente, una abrumadora mayoria por encima de los 50 años, un publico muy entregado en el que el % de asistentes profesores era alto por lo que pude oir.

51z-jeak6rl_sl500_aa240_51ro8zd9dul_sl500_aa240_51p8zrrgexl_sl500_aa240_

51b8owbhrwl_sl500_aa240_

Del resto de pelis no comentare demasiado o nada: “RocknRolla” es otra peli en la linea Guy Ritchie (Lock & Stock, Snach. ..). Va de lo mismo que el resto, misma estetica, mismos recursos cinematograficos, mismas interpretaciones… pero con mucha menos frescura que en sus 2 primeras creaciones, de modo que la cosa, sin ser mala, decae muchos puntos. “Rebobine por favor” muestra a un descerebrado (Jack Black en su tipico papel ) borrando por error todas las pelis de un videoclub que , por lo demas, debe de padecer algun tipo de trastorno espacio temporal (solo alquilan pelis en VHS) y Mos Def en un papel calcado al de 16 calles pero en otra historia tiempo y lugar (incluso el doblador lo ha doblado igual que en 16 calles) se encarga de “sueviar” (en terminologia inventada por el prota, que viene a querer decir “re-rodar”) las peliculas con sus tristes y escasos medios. El caso es que la iniciativa tiene muy buena acogida en el barrio,  reflotando el negocio (por supuesto hay una amenaza de demolicion de edificio incluida para poner las pilas a Danny Glover, que hace de vejestorio y de empresario venido a menos y sin un clavo). La peli se puede ver, tiene su carga sentimentalona y si consigues superar la verguenza ajena al ver a dos medio deficientes mentales hacer un remake de “cazafantasmas” a lo pobre entonces el resto es bastante visible.

“88 minutos” es el tipico thriller del amigo Pachi (Al Pachino) que se deja ver sin mas pretensiones y “Sentencia de muerte” presenta al currela de posicion acomodada convirtiendose en Terminator cuando una pandilla se cepilla a su hijo mayor. No es mala pero sin mas pretensiones: para haber medio millon de pelis de corte similar ni tan mal resuelta queda.

Publicado en cine | Deja un Comentario »

¿Soy el unico que no se entera…

Publicado por mrtypo12 en Enero 24, 2009

… de lo que ha sucedido en la premiere de Lost?

Hombre, pero menudo cacao que han montado! francamente no me he enterado de nada!

Vamos a ver, sin animo de ser exhaustivo… que ostias ha pasado en esos 2 capitulos de la recien estrenada 5º temporada? veo a Faraday diciendo que no se puede cambiar nada del pasado (aunque me atreveria a decir que por el simple hecho de aparecer en el pasado ya lo estas cambiando no?), que Desmond es especial :? y lo vemos salir de la escotilla con la mascarilla y el traje, lo cual no se muy bien donde situarlo ya que cuando Desmond apretaba el boton o bien ya sabia que fuera no habia virus porque su compañero habia muerto o bien todavia estaba con el, q si no recuerdo mal era el jefe y hubieran salido ambos  dos o el otro, pero a Desmond no se le permitia salir si no recuerdo mal.. luego se ven escenas de Faraday con los de Dharma en el pasado… Ethan que ve a John Locke antes de conocerle… no se, no me entero de la misa a la media.

En la finale de la 4º si no recuerdo mal la isla viaja en el tiempo (no desaparecia del todo?) y ahora nos dicen que los que viajan son las personas pero la isla se queda donde esta al parecer… esto no es un poco confuso? y eso de que hay cosas que viajan con ellos? su ropa, la lancha… pero el resto de cosas no? presentar la norma y las excepciones a la vez crea una confusion terrible, amen de dejar la impresion de ser un recurso traido por los pelos y pensando sobre la marcha.

Bueno, ya se vera como evoluciona la cosa, pero complicar las cosas con viajes en el tiempo en el estado actual de la trama, que ya cuesta recapitular todo lo que ha sucedido con Dharma, los Otros, las 3 lineas temporales q se estan contando a la vez (el presente en la isla, el pasado en la isla y fuera de ella y el futuro a 3 años vista con los fast-forwards) es yo creo  demasiado. Hemos pasado de una serie donde en su primera temporada habia una serie de misterios bien planteados pero que sobre todo se centraba en la parte sociologica de un grupo de personas que se estrellan en una isla y tratan de sobrevivir a sepultarnos literalmente con informacion del pasado presente futuro, alternativos o reales, viajes en el tiempo, fuerzas desconocidas sin referente, inmortales, personas “especiales” que viajan mentalmente en el tiempo… un batiburrillo que no se yo si va a encontrar un final mas o menos coherente para una serie que se ha pasado de ambiciosa en mi modesto entender… o que se les ha ido de las manos.

Publicado en lost, series | Deja un Comentario »

DVD a MKV

Publicado por mrtypo12 en Enero 23, 2009

Pues eso, para el que quiera tener el control de todos los pasos aqui

Publicado en dvd, software | Deja un Comentario »

Teorias de series

Publicado por mrtypo12 en Enero 23, 2009

Coincidiendo con el retonno de Lost ahi va un link a una web de teorias de Lost.

Que no se diga q la gente no se lo curra.

Publicado en series | Deja un Comentario »

Les Carroz

Publicado por mrtypo12 en Enero 20, 2009

Siguiendo un poco con el hilo “ski”, hoy toca hablar de otra estacion, esta vez sita en alpes franceses. El dominio se llama Grand Massif pero antes de empezar a verlo un poco en detalle primero queria hacer una pequeña introduccion a este tipo de estacion aunque no es que sea yo un experto precisamente: solo en 3 ocasiones he esquiando en Alpes aunque hay un numero de elementos que han sido constantes y que chocan un poco si eres asiduo de pistas nacionales o pirineos franceses. Lo cierto es que hay tanta distancia entre esquiar en Valdezcaray a Baqueria como entre Baqueria a Grand Massif, para que os hagais una idea.

En pistas nacionales o estaciones del pirineo español/frances (exceptuando el dominio de Grand Valira en Andorra) estareis acostumbrados a la tipica estacion por debajo de los 100 km de pistas, con mas o menos remotes y servicios pero con la desventaja de tener que alojarnos en algun pueblo cercano, cuando “cercano” puede estar en un radio de 25-50 km tranquilamente. En este caso la estacion se nutre de todos los pueblillos cercanos donde los esquiadores pueden reposar sus huesos despues de una dura jornada de ski alpino, pero lo que tiene que quedar claro es que esos pueblillos son pueblos normales y corrientes que se han adaptado en mayor o menor medida para albergar y dar servicio a este tipo de turismo especializado. A la hora de la verdad no pasan de ser pueblos donde hay hoteles o apartamentos de corte barato y alguna que otra tienda de alquiler de material. El acceso a pistas desde estos pueblos se hace en bus o coche y puede suponer tranquilamente media hora de trayecto (generalmente se sube el puerto de montaña correspondiente todos los dias que se quiera esquiar).

Ya en la estacion habra mas o menos pistas pero dado el relativamente reducido espacio esquiable, la escasa altura de los picos españoles en general y la nula prevision en la gestion de este tipo de negocio, muchas veces nos encontramos accesos totalmente abarrotados, con largas colas de 20 minutos en remontes que te llevan a pistas que bien se pueden bajar en 5 minutos a nada que domines un poco el tema. Esto sin hablar de piedras, falta de nieve a veces no compensanda con cañones que no activan etc… En general esquiar de forma seria en una pista española es un ejercicio que se deja a la suerte: puede salir muy bien pero puede salir fatal (esta claro que para deslizarse con un plastico no hacen falta grandes alardes y el que vaya con esta idea no se va a sentir defraudado en ningun sitio). Como ventaja esta claro que va a ser la proximidad: podremos pronosticar el tiempo del dia que nos dejemos caer por la estacion ya que no hace falta mucha antelacion con las reservas. Incluso podemos hacer esqui “de dia” sin necesidad de alojarnos en un apartamento.

Esquiar en Alpes es otra historia totalmente distinta. Para empezar los pueblillos no se adaptan a la estacion sino que son contruidos para ésta, lo que nos lleva a pueblos donde el 99′5% de lo edificado son o bien apartamentos o bien hoteles. No vas a encontrar una pescaderia o una carniceria tan facilmente en estos lugares; por contra  sí vas a encontrar tiendas de recuerdos, multitud de tiendas de ski, escuelas, inmobiliarias y agencias, tiendas de delicatesen, puestos de socorro etc. En el peor de los casos el pueblo tiene remonte y tendras que andar 100 metros desde tu casa con los bartulos para empezar a esquiar. Y digo en el peor, porque en el mejor puede ser perfectamente posible que salgas de casa literalmente esquiando para llegar a la estacion ya que como digo, el pueblo y la estacion son un “todo” y el mismo pueblo puede tener zonas esquiables a las que esta prohibido el acceso en coche por seguridad. Una cosa similar podeis verla en Grand Valira, que aqui no tratare pero ya adelanto que puede ser un sucedaneo mas o menos valido antes de jartarse a kilometros para llegar a Alpes. De hecho Baqueira/Beret y Grand Valira son los dos dominios esquiables de la peninsula iberica mas cercanos a Alpes.

En cuanto a las estaciones de esqui en Alpes pues depende mucho de cada una, en general superan ampliamente los 100 km de pistas (las hay de 600 km en 3 valles – Val Thorens por ejemplo), tienen mucho mas personal, estan mucho menos masificadas y los paisajes suelen ser de quitar el hipo. En resumen: esquiar en 1º division vs esquiar en otras divisiones.

Ya centrandonos en Grand Massif (aqui) tenemos (segun la publicidad) la friolera de 265 km esquiables. A mi no me parecio q fuera tan grande pero tampoco lo llegue a ver todo. Se cambia la mentalidad desde un “vamos a ver tal pista” a un “vamos a ver tal valle o zona”. Ya no se esquia por pistas sino que se viaja por montañas. No vale eso de “por aqui no voy que hay mucha pendiente”: se traza un destino y se llega, por un lado o por otro. En general al final nos esperara un paisaje que te transportara a un mundo donde tu trabajo y tu jefe estan a un millon de años luz y mas alla, sacas el bocadillo y la cocacola y te lo comes delante de vistas como esta:

p1080168

Grand Massif esta formado por 5 areas, cada una de ellas con un pueblo asociado donde poder alojarse: Flaine, Morillon, Samoens, Sixt y Les Carroz, que es donde nos alojamos nosotros. Del resto de pueblos no puedo decir gran cosa excepto que Sixt parecia realmente minusculo y Flaine el mas integrado en pistas. Les Carroz es el pueblo mas grande (o eso me parecio) de todos y el que mas servicios puede ofrecer:

Para empezar hay 5 lineas de bus, todas gratuitas, para moverse por el pueblo.

bus

El grueso del pueblo esta formado por apartamentos como estos:

p1080081

p1080086

Teneis casas de socorro, tiendas y escuelas de esqui, tiendas de souvenirs etc. Es el pueblo mas “completo” podriamos decir. Un mapa de Les Carroz lo teneis aqui.

Hay casi mil plazas de aparcamiento gratuito en el pueblo, aparte del privado de cada bloque de apartamentos (no todos tienen).

En la oficina de turismo hablan ingles, frances, castellano, italiano y portuges. Alli teneis informacion de todo, hasta las cartas de los restaurantes, horarios de remontes… todo.

Como podeis ver en el mapa hay nada menos que 6 agencias inmobiliarias (el mapa no esta al dia porque creo que eran 7), lo que ya da una idea de por donde van los tiros y el objetivo del lugar. Tambien hay un Spar, una pista de patinaje sobre hielo y media docena de bares (desiertos en general). El pueblo tiene varios accesos a pistas y si te pilla a desmano puedes coger uno de los buses que pasan cada cierto tiempo. Les Carroz tiene su propio sector dentro de Grand Massif y los miercoles por la noche abren una de las pistas para poder hacer esqui nocturno. Para ello habilitan un remote de tipo “percha”, activan unos focos de gran potencia, colocan a 2 currelas de la estacion para vigilar con una camilla por si las moscas y a disfrutar (nosotros, porque ellos se estaban comiendo una pizza en la cabina con una cara de aburrimiento del horror. Es lo que se conoce como “marron”). Realmente es una sensacion extraña, no por el hecho de esquiar con menos luz, que quiza sea lo de menos, sino sobre todo la impresion que da ver el pueblo de noche, todas esas casitas bajas nevadas con luces amarillas como si fuera un cuento de navidad, o pasar montado en la percha cerca de un bosque de pinos enormes y oscuros y oir chasquidos de ramas e incluso creer ver algo que se mueve entre el follaje, cuando es noche cerrada y hace una rasca que pela.

Uno de los dias no se si se celebraba algo o que, unos esquiadores con bengalas de colores hacian filigranas en la pista habilitada para ski nocturno, esta vez sin encender los focos, con lo que visto desde la distancia da la impresion de ser unos fuegos artificiales extraños. El espectaculo hubiera podido dar muchisimo mas de si pero aun con todo es algo curioso y bonito de ver.

imagen

La estacion en si misma… que os voy a contar. No podria recomendar rutas porque hay que descubrirla por uno mismo. Flaine es la zona mas rica y la pista de Cascades que lleva hasta Sixt (son 14 km de pista) de recorrido obligado, no tanto por la pista en si misma que es bastante incomoda ya que hay que remar (o por la forma de volver, que tiene que ser en bus gratuito ya que desde el resto de areas si puede llegar a Sixt pero no se puede salir de alli esquiando, lo cual es un punto negativo bastante gordo) sino por las vistas que se pueden ver. El pico mas alto (Tete des Lindars, 2561m) estaba cerrado pero en su lugar estuvimos en el mirador de Les Grandes Platieres sito a 2480m. Se ve el Mont Blanc y aquello estaba petado de pajaros de color negro y terriblemente peludos, con el pico y las patas de un color naranja chillon. Aunque son silvestres el hambre les hace ser algo temerarios y se congregaran en torno vuestro si soltais miguitas (tambien vale chocolate, barrita de celerales… lo que sea que lanceis se lo comeran).

p1080220

p1080320

Para que os hagais una idea del entorno, en los papelotes q reparten en la agencia se indica que hay ciertas zonas prohibidas ya que son utilizadas por animales para hibernar. Y en una subida en remote llegamos a ver una pequeña persecucion en la lejania de dos animales en una ladera cercana.

En resumen son un centenar de pistas con 80 remontes divididas en 5 areas, de las cuales la mejor es Flaine y la peor Sixt. En general hablamos de pistas muy cuidadas, patrulladas constantemente por personal de la estacion que quita las piedritas y vigila por ver si hay accidentes, remontes en muy buen estado (quitando alguno de la epoca de Franco), gran mayoria de telesillas, menos perchas y algun que otro huevo/teleferico, pocas o ninguna colas para acceder al remote y un detalle que me gusto mucho: exhaustiva señalizacion: si quieres volver a casa sigue las indicaciones, algo muy de agradecer para un servidor que tiene menos orientacion en pistas que un grillo en una autopista.

Para finalizar una serie de datos practicos:

Ruta: mirar aqui para salir de España por Irun. Se pasa por  Pau, Toulouse, Montpellier, Valence, Grenoble y Chambery. El lugar esta muy cerca de Suiza e Italia, a la altura de Ginebra. Nosotros tardamos unas 12 horas en coche con las correspondientes paradas. Se sale denoche y se llega a medio dia (para llegar con luz).Al loro que es Les Carroz de Araches; hay varios Les Carroz que no tienen nada que ver con el que aqui se trata. En mi modesta opinion hacer el viaje solo o con 1 persona mas es una paliza de ordago. Minimo 3 personas, y si tienes furgo para ir varios ya la cosa sale muy apañada de precio. Daros cuenta de que el trayecto es en un 99% por autopista. Salir de la autopista y llegar al puerto de montaña fue inmediato. Y de ahi al pueblo cosa de media hora. Para este tipo de trayecto lo mejor es un Tom Tom bien puesto, que con los ultimos mapas de Francia nos dejo en el mismisimo centro del pueblo.

Apartamento: Nosotros miramos aqui para alquilarlo. Se hace todo por Internet y Visa. Te hacen un bloqueo del dinero antes de cobrarlo definitivamente. En nuestor caso incluyen sabanas pero no toallas: este tipo de cosas atarlo bien porque en Francia es muy tipico. Tambien tener en cuenta la localizacion de los remotes con respecto al apartamento que elijais. La pagina solo funciona en frances, en ingles peta al hacer la reserva. Cada apartamento esta muy bien detallado, con fotos y un plano del interior. El precio es por apartamento independientemente del numero de personas que lo ocupen (evidentemente un apartamento de 4 ocupado por 6 va a ser un tinglado).

ForFait: hay decenas de posibilidades. El mas caro es el que da acceso a todo, llamado “Grand Massif”. Los precios aqui. Hay otros Forfaits como el “Massif” o incluso los asociados a los diferentes pueblos. Podeis ver un mapa de pistas aqui. Si no quereis coger el completo por la razon que sea os recomiendo Flaine por ser el mas grande o Les Carroz por tener la pista de esqui nocturo (ojo que esto no esta disponible toda la temporada y cuando lo esta solo los miercoles).

Pistas: Sobre la dificultad de la estacion yo diria que es media. En general las pistas verdes eran muy llanas, las azules y rojas no tenian demasiada diferencia ya que en la mayor parte de los casos se trata de pistas muy anchas con mas o menos pendiente pero bien trabajadas y planas. Las pistas negras que vimos (3 en total) eran bastante heterogeneas: la primera estaba cerrada pero aunque hubiera estado abierto y la mismisima Claudia Schieffer en pelotas y con los brazos abiertos esperandome al final la hubiera bajado: tenia pinta de ser una tortura. Una de las negras que baje creo que era de ese color porque se les habia acabado el rojo o el azul o el que asignaba los colores era daltonico. Pero la ultima pista negra que baje.. joder joder. Me salvo que iba con miniesquies ese dia y en ese tipo de pista son mucho mas comodos, sino me los saco y la bajo andando (o rodando): una pendiente de ordago y la tipica configuracion de “bollos” y matojos, un verdadero calvario para mi nivel. No bajo nadie esa pista q nosotros vieramos. En la zona de Flaine hay pistas rojas que tienen nombres simpaticos como “Faust”, “Mephisto”, “Belzebu” y cosas asi. La verdad es q todo queda en el nombre porque son bastante asequibles y en ningun momento te ponen en un aprieto.

Otros servicios: hay posibilidad de recibir clases de esqui en varios idiomas, en grupo numerosos, reducidos o contratar a un instructor para ti solo que te enseñe snowboard, ski de competicion… lo que sea, hay mil posibilidades y precios. Hay varios jardines de infancia donde la chavaleria se lo pasa pipa bajo la supervision de un par de instructores (en Les Carroz habia uno y en Flaine otro, por lo menos, muy accesibles ambos y llenos de columpios), teneis la posibildiad de alquilar un iglu (esto no se como va pero me parece la repanocha), hacer esqui de fondo, hay pistas dispuestas para hacer filigranas con el snowboard (las menos), trineos tirados por perros, carros tirados por caballos, viaje en globo, parapente… en fin, hay un poco de de todo, incluidos los tipicos bares con hamacas en pistas donde poder tomar el sol; algo desconocido en pistas españolas pero tipico en alpes.

Y de pasta? el apartamento para 4 salio 344 € 1 semana + 25 € de tasas. Dada la escasa diferencia de precio y lo apretado q se suele estar si lo llenais con el numero de personas recomendado casi es mejor que alquileis uno un poco mayor. El ForFait 175 € para acceder a todo el dominio durante 1 semana. La comida comprada en España (comprar alli es un suicidio economico) sale a unos 50 € por barba y el viaje pues depende, de gasofa no es tan caro (1100 km el viaje de ida) y de pejaes unos 90 € de ida tambien. Alli el litro de diesel esta a 1.27 € creo recordar, asi que salir de España con el deposito al 100%. Nosotros por poco mas de 600 € en total y temporada baja lo arreglamos, cosa que queda muy apañada aunque evidentemente no es para ir todos los meses.

Como cosas negativas? no hay spa o balneario, cosa que viene de maravilla despues de esquiar 5 horas. Les Carroz de noche es bucolico y que se viera no hay practicamente actividad alguna, los que quieran meneo denoche no me parecio un lugar idoneo para ello. Llegar a Les Carroz es facil pero no se indica demasiado que haya una estacion de esqui en las inmediaciones: en varias ocasiones pense que el Tom Tom se habia hecho la picha un lio. Aunque habia nieve a paladas algunas pistas tenian piedrillas sueltas que te machacan los esquies. Algun remote (sobre todo en la zona de Sixt) era del pleistoceno y la zona de Sixt en general parecia un poco desmilitarizada, como si no perteneciera a la estacion en si misma. Para grupos de principiantes no creo que mereza la pena irse a un sitio de estos ya que las pistas verdes son una minoria; aun asi hay una oferta de instructores realmente amplia. En un dominio como este hay que bajar con soltura cualquier tipo de pista porque lo que interesa es ver valles y paisajes. Finalmente Grand Massif es un dominio muy desconocido en España, lo que se traduce en que practicamente nadie habla castellano en este lugar.

En resumen, Les Carroz y Grand Massif es una opcion muy buena para esquiar una semanita en plan serio. Pistas cuidadas y anchas en general, poca densidad de esquiadores por metro cuadrado, un tiempo estupendo (ni una nube en toda la semana, visibilidad 100% y 95% de pistas abiertas), la gente del lugar muy simpatica en general y el viaje de ida y vuelta comodo aunque largo.

A continuacion dejo un par de fotos que no hacen justicia al lugar pero pueden valer para hacerse una idea aproximada.

p1080084

p1080165

p1080191

p1080251

p1080255

p1080261

Y aqui una galeria en su resolucion original:

Publicado en nieve | 5 Comentarios »

Una de JavaScript

Publicado por mrtypo12 en Enero 7, 2009

Y pensar que me lo pasaba pipa con el javascript en mis tiempos mozos y ahora no lo puedo ni ver…

Recientemente me cayo un marron de estos que vienen con efecto: un cliente con algunas nociones de programacion estaba enfrascado en un proyecto titanico (suponia yo) y cuando se atascaba me pedia ayuda, de forma muy puntual y de manera que era imposible determinar a donde queria llegar o que es lo que queria hacer. En varias ocasiones le dije que me contara todo el percal y se lo hacia yo para ganar tiempo pero el, erre que erre seguia en sus trece: al parecer tenia cierta ilusion por hacerlo por si mismo.

Fue pasando el tiempo y finalmente llego el correo fatidico, el correo que sabia que llegaria pero que albergaba la triste esperanza de que, por una vez, el marron no me salpicara. Pero no,  todavia tengo el sabor a mierda en la boca.

El cliente queria presentar una serie de datos (familias, subfamilias, productos etc…) en forma de arbol, no queria recargas de pagina de modo que habia que hacerlo todo en javascript en la parte del navegador y de regalo queria un comportamiento no estandard de un TreeView: que al hacer click en una rama se cerrara el resto para no aturullar con muchos datos.: solo podia haber una rama abierta en un momento dado. Tambien queria tener varios nodos raiz, que el arbol se generara dinamicamente en funcion de los articulos que metiera en base de datos etc.

Mirando por la internez vi TreeMenu y algunos otros con muy buena facha, pero claro, el cliente tenia unos gustos tan particulares que modificar los applets que me encontraba era un verdadero cristo, asi que me dispuse a hacerlo por mi cuenta, al menos una base muy simple y orientada a lo que queria este hombre y que luego se pudiera complicar todo lo que se quisiera.

Parece que no, pero presentar datos en formato de arbol cuando el arbol lo tienes que construir por ti mismo es un fregado del copon: nodos padres, hijos, y el espiritu santo; si a eso le añadimos que no soy lo que se dice un programador al 100% (no se si el 15% de mi jornada laboral lo empleo en programar, y si es asi siempre son temas de servidor y bases de datos,  algun script suelto por ahi y poco mas) pues al final queda algo que muy posiblemente entre en la categoria de “churro malagueño” pero que basta q me he quemado las pestañas pues lo pongo aqui por si puedo evitar la combustion de pestañas de otros como yo. Hay que tener muy en cuenta un detalle: probablemente la mejor majera de representar un arbol sea precisamente usar un arbol en memoria, buscar el nodo seleccionado por el cliente con algun algoritmo de busqueda eficiente, modificar el atributo de “desplegado” y navegar por los nodos hijos para modificar el estado a “visible”. Yo no lo he hecho asi dado que no tenia mucho tiempo para implementarlo, de modo que la solucion aqui expuesta es muy ineficiente para arboles largos.

Y sin mas dilacion empezemos por la teoria:

Para representar el arbol en un primer momento considere utilizar las listas de HTML (ya sabes “li” y “ul”) pero no quedaban muy bien cuando habia que representar nodos hijos (supongo que con estilos se podria maquear mucho mas pero en el momento en que el html tiene algo que ver con la apariencia y diseño yo desconecto automaticamente) de modo que elegi una estructura tabla para simular el arbol, en la creencia de que este elemento es mas flexible. Un ejemplo de tabla seria este:

Padre.1.
Hijo.1.
Nieto.1.1.
Biznieto.1.1.1.
Padre2
Hijo.2.

Como se ve hay un numero indeterminado de filas que se corresponde con los registros de la base de datos que hayamos recuperado y 4 columnas. Se juega con el atributo “colspan” de las filas para simular la indentacion hacia la derecha para el caso de nodos hijos nietos etc.

Evidentemente la tabla tiene que tener un atributo “border=0″ para ocultar su naturaleza, sino se verian las celdas.

La generacion dinamica de la tabla no la voy a tratar aqui porque varia segun el lenguaje que utilizeis en el servidor pero en lineas generales se trata de lanzar una sentencia sql mas o menos compleja que recupere todos los elementos a mostrar teniendo cuidado de recuperarlo ordenado por las categorias pertinentes. En mi caso tenia que presentar un arbol donde los nodos padre eran “Familias”, dentro de cada familia habia nodos “Subfamilias”, dentro de ellos nodos “Usos”, y finalmente “Productos” de modo que la sentencia SQL tenia que incluir un “ORDER BY Familias, Subfamilias, Usos” para que el arbol estuviera correctamente presentado.

Con el arbol ya generado viene la “magia” del javascript, si bien hay que tener clara las necesidades del script:

Por un lado hay que enganchar de alguna manera la tabla con el javascript, esto es tan facil como añadir un handle para el evento  “onmouseclick” de la forma tipica:

"onmouseclick=jTree();".

Con esto cada vez que se haga click en una fila de la tabla se dispara la funcion jTree que aqui estamos presentando al mundo. Ademas, dado que son tablas estaria bien que al pasar el puntero del raton por encima se cambiara a “manita” para saber que es clickable, ergo añadimos

"onmouseover=this.style.cursor='hand'"

que cambia el estilo del cursor a “hand” cuando esta colocado encima de la tabla.

Por otro lado la funcion en javascript tiene que saber sobre qué elemento hemos hecho click para determinar qué rama tiene que desplegar y qué ramas tiene que ocultar. No es tan sencillo como mostrar solo la fila que hemos clickado como se vera a continuacion. Para ello tenemos que nombrar cada fila de forma univoca y no solo eso sino que tenemos que indicar el “camino” del nodo desde el padre hasta llegar a el. Para ello hay q generar un nombre dinamico en funcion de la posicion del nodo en el arbol. Ojo que hablamos de posicion del nodo en el arbol y es lo mismo que decir posicion de la fila en la tabla, ya que hemos quedado que un nodo es en realiad una fila y el arbol es una tabla.

El nombre de cada fila se genera en el servidor (cuando se construye la tabla) y son del tipo “x.y.z.”. Notese que siempre acaba en punto. Asi el nodo “3.” es el 3º nodo raiz, el “2.4.” es el 4º hijo del 2º nodo raiz y asi sucesivamente. Por el numero de puntos que haya en el nombre se sabe el nivel del nodo: 1 punto es nivel 1 osea raiz, 3 puntos son nodos nietos (3º nivel, raiz, hijo y nieto) y asi. Esta informacion va a ser crucial como veremos.

Finalmente, desde un punto de vista algoritmico, la cosa funciona de la siguiente manera:

  • El usuario hace click en una fila / nodo.
  • El evento dispara la funcion, a la que se le pasa el nombre de la fila.
  • La funcion recoge el nombre de la fila y recorre el arbol completo ocultando o mostrando los nodos en funcion de la fila que selecciono el usuario.

Es evidente que cada vez que el usuario haga click se va a procesar todo el arbol y por cada fila se va a decidir que hacer. No se trabaja con subarboles si los cambios afectan a ramas distantes que evitarian tener que recalcular y redibujar todo el arbol entero. Es por tanto una solucion no eficiente apta para arboles de cientos de nodos, pero no plantes un arbol que tenga un millon de nodos porque te vas a chinar por todas las trancas de lo lento que iria. Procesar un millon de entradas puede llevar segundos o quiza minutos.

Decidir que se oculta y que se muestra es un tema que puede resultar complejo aunque una vez entendido no es para tanto. Para coger el hilo tenemos que tener claro los tipos de nodos que nos podemos encontrar. Un nodo es de un tipo u otro siempre tomando como referencia otro nodo: en este caso se compara el nodo que el usuario selecciono con el nodo que estamos examinando en el recorrido completo del arbol. Los tipos de nodos son:

  • Raices: los nodos raices son los de nivel 1 y siempre se muestran. Son los unicos nodos que son asi sin necesidad de compararlos con el nodo sobre el que se hizo click.
  • Nodos hijos. Los nodos hijos de un nodo son aquellos que dependen directamente de el. Por ejemplo el nodo “1.2.3.4.” es hijo del nodo “1.2.3.”. En este caso es facil ver cuando hay una relacion de padre – hijo: el nombre del padre es el comienzo del nombre del hijo, al que se le añade un nivel mas (en este caso el “4.”). Ademas el nivel (3 el padre) es 1 mayor para el hijo (4 en el ejemplo). Si el usuario hace click en un nodo hay que mostrar todos sus hijos.
  • Nodos nietos y mas lejanos: los hijos de los hijos son los nietos. En este caso no se muestran (lo que se hace es una resta de niveles, si es mayor de 1 entonces es un posible nieto, para corroborarlo tendriamos que ver si el nombre del padre pertenece al comienzo del nombre del hijo, cosa q no hace ni falta porque en este tipo de arbol nunca enseñaremos nodos mayores de 1 nivel mas que el nivel del nodo clickado: si clickamos en un nodo de nivel 3 nunca se enseñaran los nodos de nivel 5 en adelante, tengan o no parentesco con el nodo clickado.)
  • Nodos hermanos: los que dependen de un mismo padre. Por ejemplo “1.2.3.4.” y “1.2.3.1.” son hermanos ya que ambos tienen a “1.2.3.” como padre. Para comprobar esto simplemente quitamos el ultimo nodo de los nombres y comparamos: “1.2.3.4.” y “1.2.3.1.” se convierten en “1.2.3.”, que es el padre y en ambos coincide, de modo que se determina que son hermanos. Los nodos hermanos y el seleccionado por el usuario (llamado clon en mi nomenclatura particular) siempre se muestran ya que para hacer click en un nodo el usuario tiene que verlo y de cada rama el usuario ve el nodo que hizo click y el resto de hermanos.
  • Nodos padres y ancestros: estos nodos junto con los hermanos son los mas complicados de entender: si pulso en “1.2.3.4.” tengo que enseñar el “1.” por ser raiz, el “1.2.” por ser padre, el “1.2.3.” por ser padre… y asi “abrir camino” hasta el nodo que selecciono el usuario. Esto es asi porque en la presente implementacion no se retiene el estado ni las selecciones anteriores como se ha dicho antes: cada seleccion reconstruye el arbol al completo. Pero ojo, que si seleccionamos “1.2.3.4.” tendremos que enseñar “1.2.”… pero tambien “1.2.1.”, “1.2.2.”, 1.2.4.” etc… es decir, tenemos que enseñar los nodos padres… y todos sus hermanos, para de esta forma desplegar el arbol completo hasta llegar al nodo elegido.

Si se tiene claro todo lo dicho hasta ahora el codigo resulta bastante tribial.

function jTree (strNameSelected) {
    var i;
    var oTabla=document.getElementById("tabla");
    var arFilas = oTabla.rows;
    var iFila;

    if (strNameSelected=='none') {
        for (i=0;i<arFilas.length;i++) {
            iFila=arFilas[i];
            if (iFila.id.match(/\./g).length==1) {
                //nodo raiz, se muestra
                    iFila.style.display="";
            }
            else {
                //el resto se oculta en el arranque de la pagina
                iFila.style.display="none";
            }
        }
    }
    else {
        for (i=0;i<arFilas.length;i++) {
            iFila=arFilas[i];
            if (DisplayNode(strNameSelected, strNameSelected.match(/\./g).length,iFila.id)) {
                iFila.style.display="";
            }
            else {
                iFila.style.display="none";
            }
        }
    }
}

jTree es la funcion principal, es la que recorre todas las filas de la tabla y en funcion de lo que le devuelve la funcion DisplayNode cambia el estilo de la fila. De esta forma:

var oTabla=document.getElementById("tabla");

oTabla almacena el elemento “tabla” de la pagina html (tenemos que tener cuidado de llamar “tabla” a nuestra tabla. Esto evidentemente se puede hacer mas generico).

var arFilas = oTabla.rows;

arFilas contiene un array con una fila de la tabla por cada posicion.

iFila.style.display="";

Dentro del For se recorren todas las filas y se les asigna un estilo, que puede ser “” si se muestra o “none” si se oculta. Si se oculta o no es una decision que se toma en la funcion DisplayNode que se presenta a continuacion. Antes de nada anotar que si la funcion jTree recibe el parametro “none” quiere decir que no se ha hecho click en ningun nodo sino que obedece al arranque de la pagina: ocurre que en un primer momento la tabla se muestra totalmente desplegada tal y como se genera en el servidor y para mostrar solo los nodos raices se hace esta distinticion, de forma que a parte de llamar a la funcion jTree con cada click del usuario en la tabla, tendremos que llamarla en la carga del documento de la forma tradicional:

<body onload="jTree('none');">

Y ahora la madre del cordero:

function DisplayNode (strNameSelected, iLevelSelected,strName) {
    var n, iLevel;

    if (strName.match(/\./g).length == 1) {
        //es nodo raiz, se vera siempre.
        return true
    }
    else {
        if (strName.match(/\./g).length - iLevelSelected > 1) {
            //nieto o bisnieto etc...
            //posible hijo pero esta un nivel de distancia mayor de 1, nunca se mostrara
            return false       
        }
        else {
            if (strName.match(/\./g).length - iLevelSelected == 0) {
                //posible hermano y clon (el mismo)
                //se comprueba que vengan del mismo padre, de modo que se corta el ultimo "x."
                //se comparan los padres
                if (strName.substring(0, strName.substring(0,strName.length-1).lastIndexOf(".")+1) ==
strNameSelected.substring(0, strNameSelected.substring(0,strNameSelected.length-1).lastIndexOf(".")+1)) {
                    return true
                }
                else {
                    return false
                }
            }
            else {
                if (strName.match(/\./g).length - iLevelSelected == 1) {
                    //posible hijo al nivel adecuado.
                    //se comprueba que el nodo seleccionado esta contenido en el comprobado
                    if (strName.indexOf(strNameSelected)==0){
                        return true;
                    }
                    else {
                        return false;
                    }
                }
                else {
                    //el caso mas complejo: padre o hermano del padre
                    //la resta de niveles es negativa, lo que indica es un nodo anterior
                    if (strName.match(/\./g).length - iLevelSelected < 0) {
                        iLevel=strName.match(/\./g).length
                        //se mira unicamente si es su padre. No hace falta mirar todos los tramos
                        //dado que esas comprobaciones ya se han hecho antes.
                        if (strNameSelected.indexOf(strName.substring(0, strName.substring(0,strName.length-1).lastIndexOf(".")+1))==0) {
                            return true;
                        }
                        else {
                            return false;
                        }
                    }
                    else {
                        alert ("pepee que te pasas");
                    }
                }
            }
        }
    }
}

Los 3 parametros que recibe la funcion son:

  • strNameSelected: nombre del nodo seleccionado por el usuario.
  • iLevelSelected: nivel del nodo seleccionado por el usuario.
  • strName: nombre del nodo inspeccionado por el bucle For.

En esta funcion se compara strNameSelected con strName y se devuelve true o false segun se tenga q mostrar o no. La funcion se compone de varios ifs anidados para tratar de determinar el tipo de nodo que estamos tratando. Aunque se ha usado la intuicion, lo suyo es ordenar la clasificacion de mayor a menor probabilidad: asi por ejemplo en arboles pequeños hay una alta probabilidad de que el nodo que estemos tratando sea raiz, en arboles muy grandes las probabilidades de que sea nieto seran mayores. Es por ello que para ahorrarnos comprobaciones hay que anidar los Ifs de forma un poco logica. Se podria haber usado un case para ganar legibilidad pero he pasado por pura vagancia: no tenia ganas de mirar la sintaxis del case (o switch o como quiera que se llame en este lenguaje).

if (strName.match(/\./g).length == 1)

En este tipo de sentencia se mira el numero de “.” que tiene el nombre, si es 1 es un nodo raiz, asi que se muestra.

En otros casos se compara con el nivel del nodo seleccionado realizando una resta de niveles: si la resta es 0 es posible q sean hermanos, si es 1 es posible que sean hijos, si es negativo es posible que sean padres. Si es mayor de 1 entonces es posible que sean nietos.

if (strName.substring(0, strName.substring(0,strName.length-1).lastIndexOf(“.”)+1) == strNameSelected.substring(0, strNameSelected.substring(0,strNameSelected.length-1).lastIndexOf(“.”)+1)) {

En este churro de linea lo que se hace es buscar la posicion del 2º punto desde la derecha del nombre, quitar a partir de ahi y comparar el substring resultante para ver si dos nodos tienen el mismo padre. Si tienen el mismo padre tienen que ser exactamente iguales ambos substrings.

Y eso es todo, el asunto no da para mas. Y feliz año nuevo!

Publicado en javascript, programacion | Deja un Comentario »