Blografia.net

junio 16, 2013

Diario de un Mexicano en Japon

Misa

Antes de cualquier otra cosa: sé que no todos los lectores son católicos, y que muchos no están familiriazados con lo que es una misa católica. Si este tipo de contenido los ofende o molesta de alguna forma, por favor ignoren esta entrada.

 

Como muchos saben, crecí como católico. No es que crea todo lo que la iglesia dice, ni que tampoco tenga mis dudas acerca de muchas aspectos de la religión, pero sí creo en la existencia de un ser supremo.

Estar en Japón como católico puede sonar difícil porque este país es mayormente budista-shintoísta, pero hasta los mismos japoneses reconocen que su sentido de religión es más tradicionalista que creyente, puesto que cuando tienen algún problema le rezan a todo lo que pueden, llámese Jesús, Buda, el dios del altar local, etc. Pero aunque es cierto que el número de iglesias católicas es infinitamente menor que lo que podríamos encontrar en México (y que algunas localidades sencillamente carecen de ellas), en muchas partes se pueden encontrar pequeñas iglesias a las que uno puede asistir. Pero obviamente, todo tiene su toque “japonés”:

Lo primero que encontramos diferente son los horarios de misa. En México uno está acostumbrado a que si no alcanzas la misa de, digamos, 11 am, puedes todavía ir a las 12, 5,6,7,8,9,10 y en algunos lugares hasta las 11 pm. Es decir: tienes opciones. Por supuesto que el número de misas en domingo refleja la cantidad de personas que tentativamente asistirán. Bajo esa premisa, el número de misas que uno encuentra por acá en domingo es mínimo: cuando mucho 2 (o 3 en algunos lugares), y generalmente sólo en la mañana o a medio día.

En mi caso, la iglesia local tiene 2 misas dominicales: 8 y 10 am. Es una iglesia pequeña; creo que caben unas 150 personas cuando mucho.

La segunda diferencia, y que es obvia, es el idioma en el que se da la misa. Sin embargo, en localidades con considerable población extranjera podemos encontrar misas en diferentes idiomas. Por ejemplo, de las que conozco aquí en Tokio:

Fuera de cualquier presunción, yo me acostumbré a ir a misa en japonés debido a que en Iizuka sólo había una iglesia católica, sólo una misa dominical (a las 9 am) y era en japonés. Para animarme, lo tomé como estudio del idioma también, aunque debo confesar que al principio era también por curiosidad. Debo mencionar que me llevé algunas sorpresas, que a continación enumero:

Respecto a recibir la hostia en las manos, no me quedé con la duda y le pregunté al sacerdote al terminar la misa de un domingo. Su respuesta fue: “La arquidiócesis de Japón pidió permiso al Vaticano para hacerlo de esa manera ya que en Japón a la gente le sería difícil aceptar la hostia directamente en la boca, y lo obtuvo”. Respuesta simple.

La primera imagen que acompaña a esta entrada es la portada del panfleto de la misa de esta semana (décimo primer domingo ordinario). La imágen de un cristal que representa el contenido del evangelio de esta semana. A la derecha, un extracto del evangelio de San Lucas (7-47), que dice en japonés:

この人が多くの罪を赦されたことは、わたしに示した愛の大きさで分かる。 (Kono hito ga ooku no tsumi wo yurusareta koto wa, watashi ni shimeshita ai no ookisa de wakaru).

Traducido literalmente (porque no tengo una biblia en español a la mano): “Con la grandeza del amor que esta persona me ha mostrado se entiende que le han sido perdonados muchos pecados”.

La segunda imagen muestra una parte de dicho evangelio dentro del panfleto. En medio encontramos el canto de “aleluya”,  y un poco más abajo una serie de explicaciones de puntos clave en ese evangelio. Como podrán notar, todos los kanji están acompañados de su lectura.

En cuanto a las oraciones, confieso que todavía no me las aprendo en japonés. La única que medio me sé es el “padre nuestro”, que a continuación pongo como “nota cultural”. En japonés se llama “主の祈り” (Shu no inori, “la oración del señor”).

【主の祈り】

天におられるわたしたちの父よ、

(Ten ni orareru watashitachi no chichi yo,)

み名が聖とされますように。

(mina ga sei to saremasu you ni.)

み国が来ますように。

(mikuni ga kimasu you ni.)

みこころが天に行われるとおり

(mikokoro ga tenn ni okonawareru toori)

地にも行われますように。

(chi ni mo okonawaremasu you ni.)

わたしたちの日ごとの糧を

(watashitachi no higoto no kate o)

今日もお与えください。

(kyo mo o atae kudasai.)

わたしたちの罪をおゆるしください。

(watashitachi no tsumi o oyurushi kudasai.)

わたしたちも人をゆるします。

(watashi tachi mo hito o yurushimasu.)

わたしたちを誘惑におちいらせず、

(watashitachi o yuuwaku ni ochiirasezu,)

悪からお救いください。アーメン。

(aku kara osukui kudasai. Amen).

 

El significado es básicamente el mismo que conocemos en español.

También me ha tocado asistir a bautismos, pero todavía me falta asistir a una boda en iglesia católica, de personas católicas. A japonesas realizadas en iglesias nada más por la imagen de “casarse en una iglesia” ya he asistido y no me quedaron ganas de hacerlo. Acá una reseña de la última a la que asistí.

Como pueden ver, las misas en Japón no difieren mucho de cómo las conocemos en México. Lo interesante es ver cómo le meten la cultura de su país a los ritos que se realizan en ellas.

junio 16, 2013 03:45

LaCobachaB

La Cobacha Live

Y bueno no salió como lo había planeado, pero si salió lo que había planeado, si claro eso necesita una explicación, dicen que con la edad lo mejor y lo peor de uno se acentúan, entonces aun cuando ya había hablado con Nodens al respecto de usar mixlr o alguna otra cosa web 2.0 como twitcam, ustream o similar, quise ver que tanto el conocimiento de cuando hacíamos RPO y era novedad esto, tomaría el construir una instancia similar y especialmente a diferencia de mix que no estuviese atado a FB o Twittter, la experiencia fue interesante, levantar el VPS, tomo menos de un minuto, asegurarlo y actualizarlo otro más configurar shoutcast 5 minutos y la parte realmente latosa fue el webplayer, que ya ni recordaba las opciones, eso y entre decidir si poner un IRC dedicado o usar uno público, por complicaciones use uno público, fue divertido en su mejor momento llegamos a tener 5 escuchas, definitivamente requerimos en otra ocasión hacer pruebas y revisar muchas cosas primero, pero como dicen en conocido programa de televisión “why? Because we can” fue la respuesta de porque se realizó de la forma en que se hizo.

Descubrí que con todo y que avisamos con tiempo, en efecto este último es la limitante de la Cobacha y no tanto el deseo o gusto por hacerlo, lo peor de todo es que cuando quien escribe ya se caía de sueño comenzó a tomar velocidad la misma… y justo cuando me levante a conseguir algo de tomar, para refrescar la garganta y medio pensando en si seguir y darle una segunda vuelta, un temblor de 5.x (ya que no se han puesto de acuerdo) nos cortó la luz, la covacha y el gusto.

Pero creo que igual en fecha próxima podemos volver a intentarlo… con todo fue divertido y tuvimos a Demoss y Mostrenco quienes hace un buen rato no teníamos en la Cobacha.

Para la posteridad…

Ah y claro el podcast esperemos pronto este para descargarse

La entrada La Cobacha Live aparece primero en La Cobacha B.

junio 16, 2013 03:05

Victor Manuel Mtz.

La cobacha live

Y bueno no salió como lo había planeado, pero si salió lo que había planeado, si claro eso necesita una explicación, dicen que con la edad lo mejor y lo peor de uno se acentúan, entonces aun cuando ya había hablado con Nodens al respecto de usar mixlr o alguna otra cosa web 2.0 como twitcam, ustream o similar, quise ver que tanto el conocimiento de cuando hacíamos RPO y era novedad esto, tomaría el construir una instancia similar y especialmente a diferencia de mix que no estuviese atado a FB o Twittter, la experiencia fue interesante, levantar el VPS, tomo menos de un minuto, asegurarlo y actualizarlo otro más configurar shoutcast 5 minutos y la parte realmente latosa fue el webplayer, que ya ni recordaba las opciones, eso y entre decidir si poner un IRC dedicado o usar uno público, por complicaciones use uno público, fue divertido en su mejor momento llegamos a tener 5 escuchas, definitivamente requerimos en otra ocasión hacer pruebas y revisar muchas cosas primero, pero como dicen en conocido programa de televisión “why? Because we can” fue la respuesta de porque se realizó de la forma en que se hizo.

Descubrí que con todo y que avisamos con tiempo, en efecto este último es la limitante de la Cobacha y no tanto el deseo o gusto por hacerlo, lo peor de todo es que cuando quien escribe ya se caía de sueño comenzó a tomar velocidad la misma… y justo cuando me levante a conseguir algo de tomar, para refrescar la garganta y medio pensando en si seguir y darle una segunda vuelta, un temblor de 5.x (ya que no se han puesto de acuerdo) nos cortó la luz, la covacha y el gusto.

Pero creo que igual en fecha próxima podemos volver a intentarlo… con todo fue divertido y tuvimos a Demoss y Mostrenco quienes hace un buen rato no teníamos en la Cobacha.

Para la posteridad…

Ah y claro el podcast esperemos pronto este para descargarse

junio 16, 2013 02:46

junio 12, 2013

Victor Manuel Mtz.

El relojito mágico

Ya hace buen tiempo vi en radioshack un reloj con termómetro y como estaba en “oferta” como en 100 pesos me lo compre, no se me ocurrió usar un gadget o widget de escritorio en su momento para ver la temperatura y la idea de tener uno físicamente y no que me diga la temperatura exterior o del aeropuerto era aun mayor aliciente.

Pequeño detalle al año las baterías murieron, investigando en la misma tienda comprar una nueva costaba 80 pesos c/u, en el tianguis compre un par “genéricas” de 20 pesos, que duraron 3 meses… investigue en la red de cuanto voltaje son las batería y resulto que son de 1.5 volts

reloj2reloj3reloj1reloj4

Así revisando, las baterías van en paralelo y entonces una sola batería AA funciona igual que las dos de reloj que necesita… por supuesto, da mayor amperaje  y por lo mismo esta ya le duro año y medio… igual se ve bastante Frankenstein, pero funciona.

Ah el nombre de la entrada tiene que ver con que como marca temperatura, humedad y si va estar soleado y/o nublado, le apodamos “mágico” por lo bueno que es para predecir realmente como va a estar, casi es tan malo como los pronósticos de TV.

junio 12, 2013 04:17

Lo que no había logrado

El tiempo, los cambios, la caída del techo y demás lo logro D.

bell

Por ahí debo poner la de mi skull 1 que termino en mi cubil en el trabajo.

junio 12, 2013 03:56

junio 06, 2013

Victor Manuel Mtz.

Breaks my script

On Debian Wheezy one of the changes on packages is:

logrotate (3.8.0-1) experimental; urgency=low

Please note that this update changes the behaviour of logrotate:

Logrotate now skips directories which are world writable or writable
by group which is not “root” unless the (new) “su” directive is used.

– Paul Martin <pm@debian.org> Sun, 28 Aug 2011 19:16:36 +0100

This breaks and old hack that makes easy to rotate logs, need to read the changes on the documentation, it’s handy to have a dedicated program rotate your logs, and backups, that was I was using it on no root files.

junio 06, 2013 01:52

junio 01, 2013

Victor Manuel Mtz.

¿Rentar o comprar?

Hace algún tiempo cuando eran novedad me di a la tarea de revisar J-Manga y Netflix, el primero una opción de leer Manga en línea, de manera legal y con una buena traducción, al menos al inglés, todo esto en un pasa páginas que ya se había vuelto común hasta para los catálogos y algunos “webcomics” no tan web, la segunda opción, series de TV, películas y documentales en el formato de todo lo que puedas ver por 7.99USD.

He de decir que excepción hecha de algunas cosas que no me gustaron de la interfaz del ahora extinto J-Manga la idea era muy buena, el poder acceder a los mangas que le interesa a uno y leerlos en el momento que tiene uno tiempo, en la página en que se quedó me agrado mucho.

Más recientemente Crunchyroll surgió como una opción para poder ver Anime en streaming de manera legal, incluye opciones que ya se habían visto en J-Manga y Netflix y las menciono, J-Manga tenia diferentes niveles de membresía, uno podía tener la gratuita y solo tener acceso a ciertos títulos a algunos capítulos y claro en solo algunos tiempos, si uno pagaba recibía puntos con los cuales “compraba” volúmenes. Netflix por su parte es flat rate, es decir TODO lo que puedas ver por los 99 pesos en México o 7.99USD en USA, una cosa que no me gusto desde el principio fue que debido al licenciamiento la oferta dependiendo del país incluía o no series y películas diferentes, por no hablar de que al principio ¡no ofrecían subtitulaje!

Ventajas

La principal ventaja que veo en el caso del streaming la encuentro en mi rango de edad 30-40 años y probablemente hacia a arriba, hay dinero, pero no mucho tiempo en mi caso aun cuando puedo hacerlo, ya no me atrae mucho el tener que andar buscando los numerosos capítulos que forman una temporada o las películas que forman un trilogía y ya no digamos una tetralogía, es increíblemente fácil, simplemente dar en buscar y empezar a ver la serie o película en la comodidad de tu sillón sin tener que preocuparte de cuando terminaran de bajar los capítulos siguiente, también el poder dejar en pausa o de plano detener la reproducción y cuando haya tiempo regresar y seguir donde te quedaste.

Desventajas

La principal al menos en el caso de mi país, la conectividad, por supuesto esta ha ido mejorando y el día de hoy cuento con 5mbs de descarga por 389MXN al mes, para ponerlo en contexto cuando estrene mi conexión a banda ancha en 2004 pagaba 999MXN por 256kbs, entonces como se ha dicho en otros lado si, sigue siendo más barato pagar la conexión a internet y además el servicio que contratar el cable en el paquete que incluya SciFi Channel o en su momento Animax, pero tal vez el que más ruido les hace a algunos, el lema de estos servicios es “cuando quieras y donde quieras”, y el detalle que tal vez no tomamos en cuenta muchos pero que si intuimos, es mientras la compañía siga funcionando, un ejemplo reciente fue el cierre de J-Manga, todo el contenido que había “comprado”, Japan Sinks y medio había empezado tres series románticas e intente con una adaptación un tanto surrealista de Sherlock (con metafísica y magia incluidas) ya no me es posible consultar, ya que en ningún momento estuvieron físicamente en mi máquina, todo el contenido siempre estuvo en la “nube” para usar esa buzzword que está de moda para denominar el viejo esquema cliente-servidor

Recapitulando

Los chicos, seguro seguirán buscando las opciones “gratis” que no lo son, es decir los torrents, irc, discos grabados y demás, pero esto no es su culpa, comprar digamos un disco original, por poner un ejemplo el soundtrack de Saint Seiya Omega (ya ni siquiera la serie) por 736 pesos en Mixup o Totoro por 176 pesos, siempre va a ser poca competencia por comprar la serie completa en DVD por digamos 300 pesos, por supuesto Crunchyroll ofrece un precio mucho mejor que Netflix 69MXN al mes, por todo el anime que puedas ver y al menos hoy día no vas a dejar a la familia sin poder usar el teléfono… una cosa que me ha llamado fuertemente la atención es la diferencia entre los aficionados al manga y los que empezaron con el cómic, casi no recuerdo a nadie de los segundos que siquiera pensara en sacar una fotocopia del cómic que estuviese leyendo y aunque si se daba mucho el copiar VHS en su momento de películas de culto, la norma era comprar el original, entre los aficionados al Anime parece ser al contrario, llenarse de fotocopias, impresiones en papel fotográfico de imágenes de internet, CD y DVD con video comprimido de las series que buscan… muchas veces siendo este fansub (que vale la pena analizar posteriormente).

Cuando fui estudiante, estuve involucrado en bastantes movimientos de protesta por el estado actual del derecho de copia “copyright”, ya que a lo mejor no lo saben o simplemente ya lo pasan por alto, pero sacar fotocopias de los libros es “ilegal” en otros  países, en México es una ventaja que tenemos es que la Ley Federal de Derechos de Autor en los artículos 147 al 151 prevé excepciones, especialmente para la educación, ahora la percepción de que el software o las películas son “gratis”, es una curiosa interpretación de sitios que caen en realidad en la ilegalidad y permiten descargar contenidos de los cuales no tienen los derechos para hacer, especialmente estos sitios se escudan en que ellos no proveen el contenido solo los medios para localizarlo.

En fin que puedo decir que al parecer estas opciones de paga y streaming, son una muy buena elección sobre todo si no piensa uno ver la serie más de una vez, que además no recuerdo mucha gente que vea muchas veces la misma serie o película, si acaso algún capitulo que le cautivo… quienes tienen más tiempo que dinero no dudo mucho tiempo seguirán pasándola buscando series y subtítulos por separado en el mejor de los casos.

Ah, de J-Manga me rembolsaron un punto que me quedaba en mi cuenta, me lo bonificaron como1USD en Amazon… en fin que llevo un rato usando Crunchyroll y tal vez las únicas quejas que tengo es que tienen series que no están disponibles en mi país y que en mi anterior máquina de plano Flash no permitía la reproducción del video, más que en definición estándar.

junio 01, 2013 01:12

Diario de un Mexicano en Japon

600 millones de yenes por una chica

Parece el inicio de un escrito romántico, de esos de final feliz en donde el galán al final se queda con la doncella; donde no cuentan las hazañas, los peligros ni el dinero gastado durante el proceso. Lamentablemente, no es así.

Fue noticia el años pasado en Japón, Yo supe de esto hace aproximadamente 6 meses. Trataré de resumir el relato tanto como sea posible.

El protagonista de esta historia es un hombre llamado Moritoshi Kurita (栗田守紀), de ahora 34 años. Un empleado serio, introvertido, tímido, sin mucha suerte con las mujeres. Un buen día fue con sus compañeros de trabajo a lo que en Japón se le llama キャバクラ (Kyaba Kura), que es un lugar donde se puede beber en compañía de chicas atractivas que lucen vestidos de noche, a las que por cierto no puedes tocar (porque no es un servicio “sexual”). Ahí fue donde Kurita conoció (y prácticamente se enamoró) de una de ellas: Ayako Kinoshita (木下彩子, nombre falso). Kinoshita usó sus técnicas para agradarles a los clientes en Kurita, haciéndole a éste creer que estaba especialmente interesada en él (técnica común para hacer que los clientes regresen o que se queden a beber más tiempo, generando más ingresos para el negocio). Kurita cayó rendondito.

kyabajou00

En los Kyaba Kura puedes pedir que una chica en específico sea la que te atienda, lo que se le conoce como 指名 (shimei, literalmente “designación”). Hacerlo te cuesta cierta cantidad de dinero. Las Kyaba jou (キャバ嬢, chicas que trabajan en esos lugares) que tengan más “designaciones” y que promuevan más consumo de los clientes son las que se hacen populares; la mejor se convierte en la celebridad del lugar. Además, no es raro que los clientes se “enamoren” de las chicas y les den regalos caros, como collares o brazaletes de diaamante, carros último modelo, etc. Obviamente ellas aceptan todo sin tener ninguna obligación de por medio. Es su trabajo vender fantasías.

Con lo anterior, ya saben para dónde va la historia en cuestión.

Kurita comenzó a ir regularmente a ese lugar y a pedir que fiera Kinoshita quien estuviera con él. Kinoshita sabía hacer su trabajo y prácticamente lanzaba hechizos que hacían que Kurita sintiera que había algo más.

Después de algunas veces de ir al lugar (a un ritmo de 3 por semana, lo cual no cualquier puede hacer por razones económicas), Kurita se armó de valor e invitó a salir a Kinoshita. Aquí cabe hacer una aclaración: así como existen Kyaba Kura que no permiten que las empleadas salgan con los clientes, hay otros que sí lo toleran. Para Kinoshita, salir con Kurita no era para nada señal de que se estuviera enamorando; simplemente podría pasar un buen rato y podría recibir muchos obsequios. A Kinoshita realmente le parecía excesiva la forma en la que Kurita le “demostraba amor”, pero sabía que lo tenía prácticamente domado, y de ahí se agarró para comenzar a exprimirlo. Comenzó diciéndole que no tenía para pagar la renta o la cuenta del celular, y Kurita, en la inocencia de su amor, le comenzó a dar dinero.

Aquí viene el primer WTF: Estamos hablando de que ambos salieron varias veces en el transcurso de 2 años (de 2001 a 2003). No hubo NADA: ni un beso (y de sexo ni hablemos). Soy partidiario de que no vas a meterle mano a alguien inmediatamente, pero si sales varias veces en tono que no puede ser más que amoroso, a las pocas ocasiones de menos vas a buscar contacto físico (un beso). No es que Kurita no quisiera experimentar nada de eso, pero nunca le pareció raro que no existiera ese tipo de acciones.

Un buen día, Kinoshita desapareció de su lugar de trabajo. Renunció sin avisarle a Kurita. Era parte del plan. Kurita intentó localizarla por correo (en el celular), y ella le respondió con que le habían detectado cáncer en el estómago, leucemia y enfermadades raras del corazón, por lo que estaba hospitalizada y lo estaría por mucho tiempo. Además, le comentó que los tratamientos que le estaban aplicando eran carísimos y que no tenía para pagarlos, y que si la podía ayudar.

Kurita obviamente le preguntó por el hospital donde estaba internada, pero Kinoshita le decía que no le permitían visitas, que estaba completamente aislada, y que no quería que él la viera como estaba ella en ese momento, pero que necesitaba dinero para los pagos, o de otra forma moriría. Kurita quería ayudarla, pero las cantidades que comenzó a pedirle eran imposibles de cubrir para alguien como él. Estamos hablado que de pedirle 80 o 100 mil yenes para los pagos de renta o celular, de repente las sumas ascendieron a millones de yenes: 3 millones, 1 millón, 5 millones, etc. ¿De dónde iba a sacar tanto dinero?

Kurita podría ser introvertido y tímido, pero era muy serio y cumplido en su trabajo, y por eso nadie nunca sospechó nada. Decidió usar dinero de la compañía donde trabajaba para dárselo a Kinoshita. Sabía que estaba haciendo mal a la empresa, pero todo era por ella, así que armado de valor, empezó a desviar fondos, los cuales poco a poco fueron creciendo en cantidad. Lo peor fue cuando la empresa cambió sus transacciones a banca por internet, ya que Kurita, debido a lo impecable de su trabajo, fue designado como el responsable del manejo de las finanzas. A partir de ese momento, ya no tendría que escribir papeles, pues ya todo era electrónico, por lo que era mucho más fácil hacer los movimientos sin causar sospechas.

Segundo WTF: ¿Estás agarrando dinero que no te corresponde porque crees que estás salvando una vida, pero no lo confirmas?

kyabajou01

De aquí en delante imagínense el mismo cuento: Kinoshita pidiéndole dinero a Kurita, alegando que tenían que hacerle X estudio muy complicado, la cuota para desinfectar el cuarto, tratamiento de la médula, y mucho más. Y las cantidades cada vez eran más grandes: 8.5 millones, 10 millones. Kinoshita tenía el método perfecto para que Kurita le siguiera dandoo dinero: correos amorosos, algo como “¡Muchas gracias! En cuanto me recupere iré contigo y te besaré y quiero que hagamos el amor”. Por el contrario, sí Kurita le mencionaba algo que reflejara duda, ella respondia con “Ya no quiero vivir. Si tú dudas de mí, no tiene sentido seguir en este mundo. Me voy a morir”. Sí, parece de película, pero Kurita realmente estaba enamorado de ella, al grado de que quería casarse. Ese sentimiento era lo que lo llevaba a seguir desviando fondos de su empresa para que su amada se pudiera curar.

¿Qué hacía Kinoshita mientras tanto? Dándose vida de reina con el dinero que Kurita le enviaba. Rentaba un departamento carísimo, se compraba ropa de lujo, y lo peor: se gastaba la millonada en “Host clubs”, la versión para mujeres de los Kyaba Kura. Obviamente Kinoshita tenía novios. Su plan había salido perfecto: renunciar al lugar donde trabajaba para que su historia fuera creíble (a los ojos de Kurita, claro) mientras recibía dinero de éste.

Tercer WTF: Qué poca abuela de la chica.

Esta situación continuó por, en total, 5 años. ¡5 años! Sí. Kurita nunca la vio, nunca supo en qué hospital la estaban atendiendo, pero le seguía creyendo y enviando dinero. Aquí, estoy seguro que muchos se preguntarán si la empresa no se había dado cuenta del desvío de fondos. La respuesta es no, pero era cuestión de tiempo: la oficina de impuestos del gobierno decidió hacer revisión total de la empresa, lo que hizo que todo saliera a la luz. Fueron en total 178 veces en las que Kurita desvió fondos a su cuenta, y 350 veces las que le depositó dinero a Kinoshita, haciendo un total de cerca de 600 millones de yenes (unos 76.5 millones de pesos). Nadie lo podía creer. Lo malo de todo esto era que, durante todo ese tiempo, Kurita nunca vio a Kinoshita, y su único contacto era por correo.

Cuarto WTF: En serio… 5 años con el mismo cuento y sin verla ni una sola vez. ¿Qué hace falta para que comience a sospechar?

Quinto WTF: ¡600 millones de yenes!

Cuando la oficina de impuestos comenzó la investigación, Kurita sabía que lo iban a descubrir, por lo que le contó a Kinoshita que lo iban a arrestar por haber usado dinero de la empresa. Kinoshita al parecer se preocupó porque pensaba que ella también podría ser capturada, e hizo lo que cualquiera hubiera hecho en esa situación: pedirle más dinero. Esta vez, 15 millones de yenes. Por increíble que parezca, aun en esa situación ella siguió pidiéndole dinero.

Para agravar más la herida, el jefe de Kurita le pidió explicaciones. Kurita no mintió, y su jefe, todavía benevolente, le insistió que fueran al hospital en donde estaba internada para verla, alegando que aunque las visitas estuvieran prohíbidas, harían una excepción dada la gravedad del asunto. Fue ahí cuando todo se destapó, y por fin Kurita se dio cuenta de que había sido engañado todos esos años. Obviamente, Kurita le pidió explicaciones a Kinoshita, pero ésta sólo le dijo “Lo siento mucho”. Él le pidió que le regresara lo que tuviera de dinero en ese momento, pero ella respondió que no tenía nada, que todo se lo había gastado, lo cual, para desgracia de Kurita, era verdad.

Todavía peor: Kurita no sólo desvió fondos para dárselos a Kinoshita. Viendo lo fácil que era obtener dinero sin que nadie se diera cuenta, usó unos cuantos millones de yenes para reformar la casa de sus papás. Imagínense lo que ellos habrán sentido cuando supieron la verdad.

kurita

Kurita fue sentenciado el año pasado. Su condena: 7 años en prisión. Además, él y sus padres tuvieron que vender todas sus pertenencias (incluyendo su casa) y usar todos ahorros para devolverle a la empresa un mínimo porcentaje de la cantidad que Kurita había gastado.

¿Qué pasó con la nena?

La demandaron para que regresara el dinero, pero la demanda no procedió ya que los padres de ella pagaron 6 millones de yenes de multa. Además, ella confesó que durante todos estos años no sabía que Kurita estaba usando dinero de su trabajo, ya que él le había dicho que era el dueño de una empresa, por lo que ella pensaba que el dinero era de él y que no habría mayor problema. Asimismo, se comprobó que todo el dinero se lo gastó en rentas, viajes y “host club”, y en estos últimos existe el registro de que en una noche se llegó a gastar 10 millones de yenes, lo que sería entre 3 y 4 meses de sueldo de una profesionista en Japón.

Sexto WTF: El hecho de que Kinoshita no supiera que Kurita estaba desviando fondos impidió que fuera acusada de fraude…

Séptimo WTF: ¡10 millones de yenes en una noche!

Sobra decir que Kinoshita está libre, y que sigue trabajando en esos establecimientos.

Kurita además declaró que nunca pensó echarle la culpa a Kinoshita…

La necesidad de amor y aceptación puede ser muy grande, pero tiene sus límites, especialmente cuando de plano no recibes lo que esperas de las demás personas. Conozco y convivo con gente similar a Kurita (no tan clavada, pero que si caen serían fácilmente manipulables, aunque no en la misma medida), y la verdad no sé si sentir pena o compasión. Hay mucha gente a la que se le dificulta tener una relación, por lo que quieran y gusten, pero antes que nada hay que tener respeto hacia uno mismo y hacia sus principios.

Es una pena lo que le pasó a Kurita, pero como comenté antes, no es raro que las Kyaba Jou reciban costosos regalos de parte de clientes que quieren quedar bien con ellas.

También cabe aclarar que no todas las Kyaba Jou son así: su mundo es complicado, ya que si no promueven el consumo o no son designadas, nunca suben de rango, lo que afecta sus ganancias. Hay chicas que vienen del campo  y que envían buena parte de sus ganancias a sus padres, mientras que hay otras que son madres solteras y trabajan para mantener a sus hijos. Con todo, y sea la razón que fuere para trabajar, este tipo de “oficios” generalmente no es bien visto en Japón, y se relaciona inmediatamente con actividades ilegales.

Nada con exceso es la moraleja de esta historia.

Fuentes:

La noticia la vi directamente en TV.

http://www.j-cast.com/tv/2012/09/28148050.html

http://cerezotownnagai.blog119.fc2.com/blog-entry-362.html

http://sankei.jp.msn.com/affairs/news/120430/crm12043012000001-n1.htm

http://news-torendo.blog.so-net.ne.jp/2012-12-20

http://shukan.bunshun.jp/articles/-/2213

http://tv-blog.blog.so-net.ne.jp/2012-09-10

 

junio 01, 2013 12:08

mayo 28, 2013

Victor Manuel Mtz.

Probando planeta, responda…

1,2,3…

mayo 28, 2013 02:23

mayo 21, 2013

LaCobachaB

Anime en Pantalla grande

AKA Madoka en México.

Y aunque como lo mencionamos en otras cobachas, no es la primera película de Anime que se proyecta en pantalla grande, para esto yo apuntaba el Viaje de Chihiro (2001,  proyectada en México hasta 2003) y Map añadió Ponyo (2008, México 2009), pero si es digamos la primera que no trae Buenavista, además de ser un esfuerzo de aficionados para aficionados.

En fin en nuestra cobacha debrayamos de lo que sabíamos y no sabíamos de la misma, de la organización, la proyección, el audio, la serie, impedimos un par de spoilers. Nodens bien apunto cosas que se nos pasaron por alto como por ejemplo los subtítulos y algunos detalles oscuros del latín y otros detalles de trivia que solo el sabe, hablamos de lectores de RSS, la gran G y su abandono al reader, libros, películas, música, anime, etc. En una mini cobacha de poco más de dos horas de duración.

La cobacha 18 de mayo de 2013 MP3 128kbs, 123min, 117MB

Alineación:
Map
Nodens
Vicm3

La entrada Anime en Pantalla grande aparece primero en La Cobacha B.

mayo 21, 2013 03:44

mayo 18, 2013

Diario de un Mexicano en Japon

Challenging Lolo – A sufrir con más puzzles

Ignoro cuántos de ustedes conocen el juego de “Adventures of Lolo”. Es juego de puzzles para NES, y hubo 3 entregas, pero aquí hay que ayudar a Lolo a tomar todos los corazones que hay en cada cuarto para que el cofre del tesoro se abra y pueda recuperar la perla que está adentro (y así seguir avanzando). Por lo demás, la trama es que la princesa Lala fue raptada por el gran demonio y hay que rescatarla (súper original, lo sé).

Obviamente no todo es tan fácil: existen obstáculos que harán más difícil la tarea de recoger corazones, así como enemigos que eliminan a Lolo con sólo tocarlo.

En los tiempos del NES, realmente gocé estos juegos: mecánica simple, pero puzzles cada vez más interesantes (y difíciles). En ese entonces pude terminar el 1 y el 2, pero siempre me quedaba atorado en el nivel 8 del 3, y así se quedó por un buen rato. La primera vez que terminé el 3 fue cuando me senté dispuesto a acabarlo justo antes de venir a Japón (ya con la beca): le puse un emulador a mi Dreamcast y me puse la meta de terminarlo de una vez por todas. Fue difícil, pero el sabor de la victoria fue indescriptible.

10 años después (es decir, “en estas fechas”), me puse a jugar los 3 títulos de nuevo. El 1 no me duró nada; en el 2 le sufrí con los niveles “Pro” porque no recordaba cómo resolverlos (y hay que tener creatividad para lograrlo). Pero llegué de nuevo al 3, y del nivel 13 en delante hubo algunos cuartos que me trajeron dando vueltas varios días (tomen en cuenta que no me pongo a jugar muchas horas ni tampoco a diario). A fin de cuentas lo terminé, y volví a disfrutar de esa sensación de éxito al ver las pantallas simples del final, que por cierto en los buenos tiempos no le dabas mayor importancia. Pensé: “Bueno. Ya los jugué de nuevo. Ahora, ¿con qué le sigo?”. Aprovechando que reviví mi PSP y que los estuve jugando en NesterJ, me di a la tarea de buscar otros títulos de antaño. No obstante, nunca pasó por mi cabeza el hecho de que existían más Lolo.

“Challenging Lolo” es un hack del primer juego en donde el autor se dio a la tarea de crear nuevos cuartos mucho más difíciles, sólo por el placer de hacerlo. El resultado es un Lolo que los mega fans (yoooo) disfrutarán desde el primer momento. Y no miento. Comparemos:

Ésta es una imagen del nivel 1-1 del primer Lolo. Simple, no hay forma de equivocarse. La bienvenida al juego y una probada de lo que te espera.

Ésta es la imagen del nivel 1-1 de Challenging Lolo. El primer nivel y ya hay posibilidades de error. Cierto: no está difícil el cuarto, pero si no te fijas bien terminas equivocándote y viéndote en la penosa necesidad de presionar Select para “suicidarte” y comenzar el cuarto de nuevo.

¿Para masoquistas? Quizá. Y lo mejor es también hay parte 2, por lo que una vez que termine el 1 ya sé con qué le voy a seguir. Nada más vean la “belleza” del nivel 1-4:

Lo mejor de este nivel: si después de tomar la perla del cofre te equivocas de camino, lo único que resta es presionar Select y volver a resolverlo. Precioso.

¿De dónde bajar Challenging Lolo? Google es su amigo. Hay versión de ROM de NES (la que estoy jugando), pero también hay para PC. Pero si nunca han jugado ninguno de los originales, les recomiendo ampliamente que mejor empiecen por ahí.

mayo 18, 2013 01:30

mayo 13, 2013

Diario de un Mexicano en Japon

La triste realidad del sexo en Japón – Un documental

Hace poco más de 3 años escribí un artículo sobre Japón y el sexo. En él comentaba la realidad de la actividad sexual en este país.

En días pasados varios amigos me comentaron la existencia de un documental en español al respecto. Lo vi, e inmediatamente pensé compartirlo con ustedes.

El documental es de la televisión española, y es de al menos el año pasado (2012). Las traducciones de lo que dicen los entrevistados son exactas y fieles, no como casos ya comentados aquí con anterioridad.

Preparen un buen café y pónganse cómodos. Dura 53 minutos.

Click here to view the embedded video.

 

mayo 13, 2013 07:15

Mayo, y la otra cara de los 10 años

No es que le tenga un cariño especial al mes de mayo, pero al menos en lo que va del de este año se ha tornado “relajante”.

Cuando menos acordé, ya había terminado abril, y con eso me di cuenta que no había escrito nada en el blog en un buen rato. Cierto es que el escrito de los 10 años me llevó tiempo, y que no voy ni a la mitad de la siguiente entrega de “los años maravillosos”, pero aunque no me desconecté y seguí viendo y respondiendo comentarios, de repente si me di una escapada de la realidad.

Ahora que estuve hospitalizado, me dijeron que básicamente le tengo que bajar al estrés. Lo que no me explicaron fue cómo hacerlo en una sociedad como ésta y en un trabajo como el que tengo… menos con una personalidad como la mía. Verán: me pasa lo que a muchos investigadores les ocurre durante un tiempo: cuando no estás haciendo algo referente a tu área, léase “otro trabajo”, “diviertiéndote”, “saliendo con tus amigos” o simplemente “relajarte”, sientes que es tiempo perdido (en serio) y que podrías estar aprovechándolo en investigar más, en intentar otro experimento, en aprender algo nuevo. Todo con exceso es malo, muy sabias palabras. Por supuesto que me doy mis tiempos y mis escapadas, y tengo mis prioridades, pero últimamente mi deseo de que un día tenga 48 horas como mínimo se ha tornado mucho más grande (y si se cumpliera, seguro no me alcanzaría el tiempo).

En estas 2 semanas que van del presente mes creo que he aprendido y hecho mucho más que desde que llegué a la capital nipona. Falta también muy poco para liberarme por completo de compromisos adquiridos cuando trabajaba en Fukuoka, y siento que vienen muchas oportunidades.

Como saben, he pasado ya una década en esta parte del mundo, y aunque trato de estar al día con lo que sucede en mi país, hay cosas que simplemente se te olvidan porque ya no interactúas directamente con la sociedad; además, siendo Japón un país con una cultura y una forma de vida tan diferente a la de muchos otros países, vivir aquí por tanto tiempo hace que, forzosamente, te acostumbres a moverte al ritmo requerido. Explico:

Para mí ya es común tener siempre la razón cuando voy a un establecimiento o me proporcionan un servicio, simplemente porque soy “el cliente”. Es también normal que el transporte público sea eficiente (y los japoneses pierdan TODO el respeto y pasividad si se trata de subir a un tren repleto de gente con tal de llegar temprano al trabajo) y (lamentablemente) que no haya excusa de “se me fue el camión” cuando uno llega tarde a sus labores.  Asimismo, el hecho de ver gente que su única vida es el trabajo y que no quieren salir de él ni convivir porque muchas veces no saben cómo hacerlo, se ha convertido en algo cotidiano. De la misma manera, ver cómo los padres ocupados envían a sus hijos a la escuela esperando que sean los profesores quienes los eduquen mientras ellos no están, y que gasten un dineral en enviarlos a escuelas vespertinas/nocturnas para que “estudien más” y puedan ser admitidos a las primarias, secundarias y preparatorias necesarias para tener posibilidad de ingresar a una universidad de renombre con lo que asegurarán su futuro aunque salgan sin saber mucho es una imagen que ya no tiene nada de raro (pero con la que no necesariamente concuerdo). También ver cómo el matrimonio es más como “algo que tienes que hacer” en vez de “algo que quieres hacer” y que valga más ser una mujer divorciada a una soltera (o para algunos “quedada”) entra a la mente sin problemas después de una buena bombardeada de publicidad y una buena lavada de cerebro por parte de los medios de comunicación. ¡Ah! Y cómo olvidar el hecho de que es “normal” y “comprensible” que vayas a los lugares donde te ayuden (con dinero de por medio) a sacar tu estrés sexual si no tienes novia…

En fin. El párrafo anterior es para poner en perspectiva lo que uno ve, vive y capta de este lado del mundo. Pero, ¿qué pasa en otros lugares? ¿Han cambiado tanto las cosas en estos 10 años? ¿La sociedad se mueve diferente a como yo la recuerdo en 2003?

Se oye exagerado, pero permítanme ejemplificar lo que intento comunicar:

Hasta 2003, recuerdo que (al menos en mi rancho) todavía censuraban las palabras altisonantes en radio y televisión. Canciones como “Gimme the Power” de Molotov eran editadas para poder ser transmitidas; incluso personajes como Brozo “medían sus palabras”. No, no es que yo sea de la vela perpetua ni que me espante que ahora se diga de todo, pero me intriga saber en qué momento cambió todo.

Como referí arriba, no es que esté completamente perdido ni fuera de la jugada. Sólo me gustaría leer si ustedes han notado cambios en los últimos 10 años, y de ser así, cuáles y más o menos cuándo lo notaron.

Agradezco como siempre sus comentarios :)

 

mayo 13, 2013 07:04

mayo 10, 2013

Diario de un Mexicano en Japon

8-puzzle: Implementación sencilla de A*

Hace poco estuve leyendo unas notas de un curso en línea sobre planeación en IA. En una de ellas me encontré con un algoritmo que tenía rato que no veía ni utilizaba, y me dio curiosidad por implementarlo en Scala; me refiero al algoritmo A*.

En vez de explicar qué hace específicamente el algoritmo, un googlazo o una búsqueda en Wikipedia proveen información más detallada al respecto. El problema a resolver era el famoso 8-puzzle, aquel cuadro con números del 1 al 8 en el que hay que ponerlos en orden:

El algoritmo A* aplicado a este problema lo pueden encontrar fácilmente con una búsqueda en internet, pero como yo quería practicar Scala (lenguaje que uso en mis proyectos) me puse a ver qué tal me quedaba. Solamente tuve un problema en el algoritmo: tuve que usar un mutable hashset (horror, lo sé), porque al usar uno inmutable el tiempo de ejecución se hacía muy largo. Si hay alguien por ahí que quiera optimizar el código, adelante. También implementé la solución de forma imperativa nada más para comparar.

Aquí el código. Recuerden que esto no es la mejor implementación, y que por ende, puede mejorar. Los heurísticos implementados son Manhattan Distance (distancia de un estado x a uno meta) Misplaced tiles (contar el número de cuadros que no están en su lugar. El segundo también lleva a la solución, pero tarda más en encontrarla. La función principal (solve) está optimizada como tail recursive para evitar un posible stack overflow. Además, van a ver muchos val quizá innecesarios que puse para darle legibilidad al depurarlo en el caso de que fuera necesario.

Sugerencias y comentarios son bienvenidos:

package org.mmg.astar

import scala.math
import scala.collection.mutable.HashSet
import scala.annotation.tailrec

sealed trait Definitions {
  type Board = List[List[Int]]
  type Position = (Int,Int) 
}

sealed class Node(val board: List[List[Int]], val parent: Option[Node], val hcost: Int, val gcost: Int)  {
  override def hashCode(): Int = board.hashCode

  override def equals(obj: Any) = {
    obj match {
    	case o : Node =>  o.board == this.board 
    	case _ => false
    }
  }

  def f = hcost + gcost
}

class EightPuzzle (initialState: List[List[Int]], goalState: List[List[Int]], size: Int) extends Definitions {

  private def getPosition(value: Int)(b: Board) = {
    val row = b.indexWhere(_.contains(value))
    (row, b(row).indexWhere(_ == value))
  }

  private val getZeroPosition = getPosition(0) _
  private def getElement(p: Position, b: Board) = b(p._1)(p._2)

  // Heuristic
  private def manhattanDistance(p1: Position, p2: Position) = 
    math.abs(p2._1 - p1._1) + math.abs(p2._2 - p1._2)    

  val distance = (current: Board, target: Board) => 
    current.filterNot(_ == 0).foldLeft(0)((acc, row) => {
      acc + row.foldLeft(0)((res, value) => {
        val cPos = getPosition(value)(current)
        val tPos = getPosition(value)(target)        
        res + manhattanDistance(cPos,tPos)        
      })

    })

  // Another heuristic. Not so good  
  val misplaced = (current: Board, target: Board) => {
    current.foldLeft(0)((acc, row) => {
      acc + row.foldLeft(0)( (res, value) => {
        if (getPosition(value)(current) != getPosition(value)(target))
           res + 1
         else
           res
      })
    })
  }  

  private def move(move: (Position,Position), b: Board) = {
    val p1 = move._1
    val p2 = move._2
    val row1 = p1._1
    val row2 = p2._1

    val oElem = getElement(p1,b)
    val nElem = getElement(p2,b)

    val newRow1 = b(row1).updated(p1._2, nElem)
    val tempBoard = b.updated(row1, newRow1)
    val newRow2 = tempBoard(row2).updated(p2._2, oElem)

    b.updated(row1, newRow1).updated(row2,newRow2)    
  } 

  // Always look for the empty block
  private def getValidMoves(b: Board): List[(Position, Position)] = {
    val p = getZeroPosition(b)
    val left = if (p._2 > 0) p._2 - 1 else -1
    val right = if (p._2 < size - 1) p._2 + 1 else -1
    val up = if (p._1 > 0) p._1 - 1 else -1
    val down = if (p._1 < size - 1) p._1 + 1 else -1

    sealed abstract class Direction
    case class LEFT extends Direction
    case class RIGHT extends Direction
    case class UP extends Direction
    case class DOWN extends Direction

    val valid = ((LEFT,left) :: (RIGHT,right) :: (UP,up) :: (DOWN,down) :: Nil).filterNot(_._2 == -1)

    valid.foldLeft(List[(Position,Position)]())( (acc, m) => {
      val nPos = m._1 match {
        case LEFT => ((p._1,left), (p._1, left + 1))
        case RIGHT => ((p._1, right), (p._1, right - 1))
        case UP => ((up, p._2), (up + 1, p._2)) 
        case _ => ((down, p._2), (down - 1, p._2))

      } 
      nPos :: acc
    } )

  }

  // Build the path from the goal to the start point
  private def getPath(goal: Node): List[Board] = {
    goal.parent match {
      case Some(node) => node.board :: getPath(node)
      case _ => Nil
    }
  }

  /* Solve using A*
   * h is the heuristic (selected when calling the function)
   */ 
  @tailrec
  final def solve(fringe: List[Node], closed: HashSet[Node], h: (Board,Board) => Int) : List[Board] = {

    if (fringe.isEmpty) {
    	List()
    }
    else {
      val currentState = fringe.head

      if (currentState.board == goalState) {
        (currentState.board :: getPath(currentState)).reverse
      }
      else {
        closed += currentState
        val expanded = getValidMoves(currentState.board).foldLeft(List[Board]())((acc, m) => move(m, currentState.board) :: acc) 
        .map {b => new Node(b,Some(currentState),h(b,goalState),0)}
        .filterNot(n => closed.contains(n))

        // newNeighbors contains the nodes we have to add or update in the fringe
        val newNeighbors = expanded.map {n => 
           	  val tempG =   currentState.gcost + h(currentState.board,n.board)

	          if (!fringe.tail.contains(n) || tempG < n.gcost)
	            new Node(n.board, Some(currentState), h(n.board,goalState), tempG)
	          else
	           new Node(List(),None,0,0)
        } filterNot(_.board.isEmpty)

        val newFringe = newNeighbors.foldLeft(fringe.tail)((acc, n) => {
          if (!acc.contains(n))
            n :: acc
          else {
            n :: acc.filterNot(_ == n)
          }
        }).sortBy(_.f)

        solve(newFringe, closed,h)
      }
    }
  }

  private def printNode(n: Node) {
    println("H = " + n.hcost + " G = " + n.gcost + " F = " + n.f)
    EightPuzzle.printBoard(n.board)
  }

  // The imperative way
  def solve_imperative(open: scala.collection.mutable.MutableList[Node], closed: HashSet[Node], h:(Board,Board) => Int) : List[Board] = {

    var found: Boolean = false
    var fringe = open

    while (!fringe.isEmpty) {
      val currentState = fringe.head
     /* println("Current state: ")
      EightPuzzle.printBoard(currentState.board)*/
      fringe = fringe.tail

      if (currentState.board == goalState) {
    	  return (currentState.board :: getPath(currentState)).reverse
      }
      else {
        closed += currentState

         val expanded = getValidMoves(currentState.board).foldLeft(List[Board]())((acc, m) => move(m, currentState.board) :: acc) 
        .map {b => new Node(b,Some(currentState),h(b,goalState),0)}
        .filterNot(n => closed.contains(n))

        expanded.foreach(n => {
        	val tempG =   currentState.gcost + h(currentState.board,n.board)

        	if (!fringe.contains(n) || tempG < n.gcost) {
        	  val newNode = new Node(n.board, Some(currentState), h(n.board, goalState), tempG)
        	  if (!fringe.contains(n))
        		  fringe += newNode
        	  else {
        	    fringe.update(fringe.indexWhere(_.board == n.board), newNode)
        	  }	  
        	}
        })

       fringe = fringe.sortWith(_.f < _.f)   

      }

    }

    List()
  }

}  

object EightPuzzle extends Definitions {

  def board2String(b: Board) = {
    b.foldLeft("")((acc, row) => {
      acc + row.foldLeft("")((str, value) => str + value + " ") + "\n" 
    })
  }

  def toBoard(state: Array[Int], size: Int) = state.toList.grouped(size).toList

  def printBoard(b: List[List[Int]]) = println(board2String(b))

  def main(a: Array[String]): Unit = {
	  val start = toBoard(Array(1,6,4,8,7,0,3,2,5),3) // 21 steps to the goal
	  //val start = toBoard(Array(8,1,7,4,5,6,2,0,3),3) // 25 steps to the goal
	  //val start = toBoard(Array(1,2,5,3,0,4,6,7,8), 3)
	  val goal = toBoard(Array(0,1,2,3,4,5,6,7,8),3)
	  //val goal = toBoard(Array(1,2,3,4,5,6,7,8,0),3)

	  val e = new EightPuzzle(start,goal,3)

	  println(" ========= Initial State =============")
	  printBoard(start)
	  println(" ========= Goal ===============")
	  printBoard(goal)
	  println("Press ENTER to start the search")
	  readLine()
	  println("Solving. Please wait...")

	  val timer = new Stopwatch().start	  
	  val solution = e.solve(List(new Node(start,None,0,0)), HashSet(), e.distance)
	  //val solution = e.solve(List(new Node(start,None,0,0)), HashSet(), e.misplaced) // Takes loooooonger to find the solution
	  //val solution = e.solve_imperative(scala.collection.mutable.MutableList[Node](new Node(start,None,0,0)), HashSet(), e.distance)
	  timer.stop

	  solution match {
		  case l if (!l.isEmpty) => 
			  println(" ############ Solution ########### ")
			  l.zipWithIndex foreach { case (b,i) =>
				  println("(" + i + "): ")
				  printBoard(b)
			  }
			  println("Solution found in " + timer.stop.getElapsedTime + " seconds")
		  case _ => 
			  println("No solution found.")
	  }

  }
}

La clase Stopwatch no es de mi autoría; la bajé de internet porque me daba flojera crear una:

package org.mmg.astar

//
//   Stopwatch for benchmarking 
//
class Stopwatch {

  private var startTime = -1L
  private var stopTime = -1L
  private var running = false

  def start(): Stopwatch = {
    startTime = System.currentTimeMillis()
    running = true
    this
  }

  def stop(): Stopwatch = {
    stopTime = System.currentTimeMillis()
    running = false
    this 
  }

  def isRunning(): Boolean = running

  private def formatTime(time: Long) = (time / 1000) + "." + (time % 1000)

  def getElapsedTime() = {
    if (startTime == -1) {
      0
    }
    if (running) {
      formatTime(System.currentTimeMillis() - startTime)
    }
    else {
      formatTime(stopTime - startTime)
    }
  }

  def reset() {
    startTime = -1
    stopTime = -1
    running = false
  }
}

Lo que sigue es hacer lo mismo, pero en Haskell. Ya tengo un buen rato que no lo uso en serio, así que creo que es buena oportunidad para retomarlo.

mayo 10, 2013 04:16

mayo 05, 2013

Victor Manuel Mtz.

Debian 7.0 Wheezy

Y bueno ayer, como había sido anunciado [1] se liberó Wheezy (Debian 7.0) [2] después de un buen rato, indispensable si piensas actualizar leer las notas de la versión (reléase notes) [3] o la guía de instalación si lo piensas instalar desde cero [4], en todo caso en mi desktop y portátil ya está, también probé en uno de mis servidores, especialmente no el de producción y tengo las siguientes impresiones.

Se agradece la actualización del kernel, apache y php, sin embargo para servidores, la versión de php incluida rompe con suoshin (aunque existe un camino no oficial para aplicar el parche), moodle que bueno ya he mencionado que ya tengo algunos problemas con esto, sin embargo encontré muy bien documentado lo que ha estado haciendo Tomasz Muras [5] y que puede ayudar a entender o al menos pensar en que lio está metido y cuáles son los cambios que tiene moodle en Debian, también viene el cambio de bash por dash, lo cual seguro va a romper con algunos scripts que hemos viniendo haciendo demasiado basados en el primero, al menos yo encontré que con insset el orden de arranque no funcionaba por un pequeño script de subversión de cuando no era sencillo hacer svn+ssh y había que correr un demonio, aún creo que al menos en donde corro Zope y Moodle voy a tener que hacer algunas modificaciones, y de menos esperarme hasta el fin de semestre para hacer cambios, muchos paquetes se han vuelto obsoletos y otros san salido de la distribución por lo mismo es importante leer los programas obsoletos [6] y los problemas a tener en cuenta con Wheezy [7] en fin que definitivamente en una quincena antes me habría ahorrado el pasar de qemu a virtualbox si ubiese podido arreglar el multiarch en wine… en fin he aprendido bastante de virtualbox y para mis necesidades parece estar funcionando muy bien, sobre todo por la posibilidad de pasar imágenes entre OS sin mayor problema, qemu-kvm no me eran tan transparentes al menos ahora que por ahí estoy usando Windows siete de 64bits.

[1] http://www.debian.org/News/weekly/2013/09/#releasedate
[2] http://www.debian.org/News/2013/20130504
[3] http://www.debian.org/releases/wheezy/releasenotes
[4] http://www.debian.org/releases/wheezy/installmanual
[5] http://wiki.debian.org/Moodle
[6] http://www.debian.org/releases/wheezy/i386/release-notes/ch-upgrading.es.html#obsolete
[7] http://www.debian.org/releases/wheezy/i386/release-notes/ch-information.es.html

mayo 05, 2013 08:20

mayo 01, 2013

Victor Manuel Mtz.

TPP, peor que SOPA o el NAFTA/TLC

Gunnar difunde información muy importante en su blog sobre acuerdos comerciales que están sucediendo pueden pasar y que no están haciendo mucho ruido en los medios y en  en los interwebz mexicanos, lo cual de inicio ya es preocupante, la información y su difusión me parece muy importante, pero también creo no esta en los mejores medios para compartirla en un post en ingles, con el PDF y no la infografía, me he tomado la libertad de convertir el PDF de la EFF a PNG (que en una segunda revisada ya vi la propia EFF ha convertido en PNG) y comparto la infografía.

tpp_spanish_720pxEntre si son peras o manzanas se ha convocado a una reunión de trabajo en el Aula Magna de la Facultad de Ingeniería este próximo viernes 3 de mayo y creo que un poco más de ruido en español y no en ingles puede ayudar a que la información viaje más rápido.

tpp

Recursos para saber más:

La infografía en calidad de impresión en formato PDF (local en este blog) y el vinculo directo al archivo en EFF.

mayo 01, 2013 05:16

abril 30, 2013

Victor Manuel Mtz.

La palabra mágica

Ya no parece ser “por favor” de este lado de la ciudad.

IMG11954 IMG11952

abril 30, 2013 04:01

abril 24, 2013

Victor Manuel Mtz.

¿Debian Moodle / Upstream?

Una pregunta que no me responde la cantidad de instalaciones de Moodle en Debian [1], es cuantos están usando el paquete de Moodle de Debian, por las actualizaciones y las ventajas de tener un paquete probado y cuantos están usando el actual estable (upstream) es decir de la página de Moodle [2] por las ventajas, cambios cosas que si sirven / fueron arregladas / nuevos módulos, etc., el numero es relativamente pequeño 200 instalaciones, más viendo que en Moodle.org si hay una mejor estadística [3]. Sería de mucha ayuda saber las opiniones de los lectores, no tengo un plugin de encuesta, pero creo que los comentarios sirven igual.

¿Sera que soy de los últimos que siguen usando la versión  1.9.9.dfsg2-2.1+squeeze4?, tengo mucha curiosidad ya que en diciembre de este año se deja de dar soporte de seguridad a la rama 1.9.x… quisiera creer que primero saldrá Wheezy, pero ya realice pruebas y si puedo migrar sin perder datos de 1.9.x a 2.4.x, claro no me gustaría tener que hacerlo y añadir otro paquete a mantener al día… aunque desde 2.x incluye la opción de actualizar y hacer varias cosas de gestión desde la linea de comandos que es una gran ventaja, especialmente en actualizaciones y peticiones grandes de php y/o mysql.

[1] http://qa.debian.org/popcon.php?package=moodle
[2] https://moodle.org/
[3] https://moodle.org/stats/

abril 24, 2013 06:34