20070527

bowling for columbine

Luego de ver un gran listado de películas en google videos (si se busca por movie y duración ≥ 20 minutus hay muchas). He visto varias películas, algunas viendolas algo dormido y otras con gran atención por el tema que trataban.

Una que estaba algo dormido cuando la estaba viendo (que por eso la veré nuevamente en algún momento) es Bad Taste. Es una película totalmente clase B, con mucha (pero realmente mucha) sangre y muertes sin demasiado sentido. El argumento general es bastante simple, pero interesante.

Lo que más me gustó de la película son los efectos especiales. Por ejemplo, en una un tipo estaba llendo a una ciudad a recojer no recuerdo que cosa y se encuentra con uno de los extraterrestres que estaba comiendo de la cabeza cortada a la mitad horizontalmente con una cuchara. O cuando uno de los buenos tortura (al principio de la película) a un extraterrestre clavandolo del pie con un clavo largo (o algo así). Espero volverla a ver para poder entender mejor la historia (porque por lo que recuerdo era demasiado simple).

Otra que vi fue Bowling for columbine. Es una película que muestra una especie de detrás de escena de las noticias de dos masacres por armas de fuego, una la de columbine donde dos jovenes mataron a varios compañeros, y otra donde un chico de seis años mató por accidente a una compañera por llevar un arma a clases.

Más allá de la manipulación de las noticias que pone en evidencia en todo momento en la película el cineasta Moore, está claro que hay muchos factores que desencadenan este tipo de matanzas, y que lamenteblemente no se los reconoce hasta que es tarde. Aunque no sea tan simple como para poder culpar a Marylin Manson (que realmente me gusta muy poco su musica), creo que en la Argentina hay varios de esos factores. Como por ejemplo muchas armas en los hogares, adolecentes alienados por la normalidad, estado de pánico general (acá se lo llama inseguridad general). Hay muchos factores para pensar que el valor de la vida para muchos está descendiendo muy rápido, y dado que es relativamente facil conseguir un arma para muchos, una persona algo descarriada (el loquito del curso) puede llegar a matar a un par de compañeros como ocurrió ya en la Argentina.

Es alarmante en panorama general, y sobre todo, el hecho de que no se pueda ver a largo plazo nada que pueda pensarse para solucionar los problemas de fondo: educación, salud, trabajo, vivienda y bienestar social.

Lo peor de todo es que dentro de poco hay elecciones y en realidad no va a cambiar en nada, el plan seguirá como viene siguiendo. Unas cosas muy vistosas se hacen (ya sea buenas, como el dar ayuda social equitativa; u otras malas, como privatizar compulsivamente la argentinas con contratos realmente muy suaves frente a incumplimientos y sin ningún organizmo de control serio). Cuando veo este tipo de documentales, cada vez me siento más ciudadano del mundo globalizado, y cada vez me siento con menos ganas de votar (y eso que el voto es obligatorio en donde vivo)

20070526

help!

Leyendo una noticia vieja de Google, que indicaba que había varias películas completas (entre ellas Akira) en video.google.com, busqué la palabra movie y luego filtré por los de larga duración (≥ 20 minutos).

Hay muchas películas, una de ellas era una que hace tiempo quería ver, pero que siempre olvidaba conseguirla.

La película es Help!, actuada por The Beatles. Es una película bastante bisarra, con un gran sentido del humor y algo de persecuciones policíacas.

La historia comienza con Ringo llevando un anillo, que es un anillo que lo lleva la persona que será sacrificada en un ritual. El monje que iba a realizar el sacrificio lo persigue con sus hombres por varias partes (ciudad, nieve y playa). Al principio de la película intentan librarse del anillo con unos cientificos (un americano que detesta bastante lo britanico y un cientifico britanico), estos dos también persiguen a Ringo para quedarse con el anillo.

Luego de muchas idas y vueltas terminan en una batalla muy absurda en la playa, frente a una deidad indú que creo que es Bishnu (la deidad que tiene muchos brasos).

Es muy divertida y realmente es recomendable de verla. Yo sabía que era una pelicula divertida, pero nunca pensé que estaba tan buena. Hasta en un momento se escucha de musica Help pero con orquesta de camara, cosa que como no soy muy admirador de los beatles nunca había escuchado, pero está muy interesante.

20070521

google vs god

http://battellemedia.com/archives/003573.php

Otra de las noticias que encontré leyendo noticias de ayer.

todo es comparable

Mientras leo algunas noticias viejas encontré esta:

http://battellemedia.com/archives/003643.php

Es sobre el trabajar en Google y el trabajar en MeetUp. Es una simple frace, pero es muy buena la forma en que se llega a la comparación.

20070520

linukso kaj esperanto

Hodiaux mi havas fortan kapdoloron, tiam mi ne pensis skribi (mi pensis gxui muziko kaj YouTube). Se mi trovis videon per esperanto, en kio diras: Linukso estas la Esperanto de la programara mondo (minutoj 6:10 -aproksime-).



Mi uzas GNU/Linukso dum 9 jarojn (linukso kaj LiberaBSD). Kiam mi vidas tio video, mi ridetas. Mi amas esperanton kaj liberan programaron.

20070515

rfc interesantes

Esta semana estuve leyendo RFCs, y recordé los que son más interesantes de leer:


  • 3092: Explica que es Foo y que es Bar

  • 2119: Explica (como dice al principio de cada RFC, que es MUST, SHALL, etc.

  • 2616: HTTP/1.1

  • 1945: HTTP/1.0

  • 2822: Mensajes de correo electrónico

  • 2821: SMTP, o sea como hablar con un servidor de mail

  • STD53: Post Office Protocol 3, o sea, como hablar con un server POP3



Hay otros que también son muy interesantes (como el que estoy leyendo ahora 4625 que es de ruteo de FC).

happy hack

20070513

fin de semana tranquilo

Esta semana que pasó en el trabajo estuve migrando de tareas (del sector de Operaciones Unix estoy pasando a Soporte Técnico Storage). El problema más que nada es que la decisión fue tomada solamente por el gerente, y que luego de eso se fue de viaje a Hungría (justamente para ver Storage de IBM).

Yo tomé las palabras que dijo al pie de la letra, tengo que hacer pase de tareas, pero no es que estoy en Operaciones (al menos ya no más). Lo que el jefe de sector no lo pensó así, y para él estaba todavía en operaciones (y algo mal le cayó que yo estuviese todo el día leyendo ocosas de storage).

La mala noticia (para mí) es que el Viernes hubo un problema con una impresora, y el tema se complicó mucho (era de un gerente de recursos humanos), y había conexión contra esta impresora por TCP, pero por ICMP sí. La cosa que yo había hecho un par de comentarios de los mios, diciendo que el problema era de seguridad. Yo me olvidé del tema hasta eso de las 19:00 horas que vi a la persona que se debería haber ido a las 17:00 todavía en el sector. Luego de preguntarle me dijo que no sabía que pasaba con la impresora y que le pidieron que se quede. En ese momento, luego de putiar un rato, que probara habrir un socket TCP al puerto 631 (Internet Print Protocol) que es un de los que debería funcionar para poder imprimir. Desde un equipo que no tiene permisos para acceder a todos los puertos de todas partes se podía acceder, pero desde el server que querían acceder no. Luego de esto estuve unos 20 minutos con el tema, y se resolvió en gran parte (en realidad dije que es lo que había que hacer y con qué sector coordinarlo).

El mayor problema que tuve fue que mi jefe lo vió que yo todo el día estuve leyendo cosas de Storage, y que en 30 minutos como mucho me puse en tema de un problema que venía de varias horas y que dije quien tenía que ver que cosa y quedó encaminado. Es muy probable que no me permita irme tan facilmente.

Este fin de semana me la pasé descansando y haciendo algunas cosas que tenía pendientes. Miré Xena (segunda temporada) y me compré unas velas aromaticas entre las compras semanales. Las velas es algo que realmente me fascina. Sobre todo las que tienen un plastico para que se derrita todo lo de adentro pero no se desparrame la cera. También me gusta mucho el efecto que se hace donde tiene el cabo, que se junta el ollín y hace formas mientras es mantenido dentro de la llama. Una cosa que me llamó la atención de la vela es que la fabrica que las hace (que tiene página web) tiene todo bien armado en su sitio, pero la cagan porque el 80% de las velas que ponen son con imágenes de santos o titulos muy católicos.

Otra cosa que me compré la vez pasada, pero me olvidé de poner alguna imágen acá. Es un dragón bastantem monono que puse al lado de mimonitor. Los brasos y las piernas no son artuculados, lo mismo que las alas, pero la cola, la unión de las piernas y el cuerpo, la unión de los brasos y el cuerpo el cuello y la boca son totalmente articulados. Con lo que se lo puede poner en varias posiciones.

20070501

idea inicial del cdgen

Hace tiempo que no hago nada que sea políticamente correcto y ya tengo muchas ganas de comencer el cdgen (Criando al DeGENeradito). No es otra cosa (en un principio) que el criar a un punkie, aunque también tengo ganas de hacerlo extensible a un skinhead y a un católico.

Caracteristicas básicas


Las ideas para comenzar el programa son muchas, pero sobre todo son las definiciones que tengo que hacer para que esto comience a tener forma.


  • La evolución del personaje es por niveles, donde los puntos necesarios para pasar al siguiente nivel es una progresión simple. Es decir, al principio siempre es simple subir de nivel, pero cuannto más se avanza son necesarios más puntos de experiencia (EP) para pasar de nivel. El problema para el cálculo puntual de la progresión es que en los niveles altos (i.e. más del 5 nivel) también deben haber acciones a realizar que tomen más tiempo y más habilidades para poder subir de nivel, con lo que una progresión simple como N+1 = N*2 (donde N es el nivel, y N + 1 sería el nivel superior).

  • Obviamente que el personaje tiene puntos de vida (LP) que perder, haciendo mal algunas tareas de riezgo (como por ejemplo el punkie ir a una manifestación y terminar cagado a palos)

  • El personaje tiene ciertas caracteristicas, i.e.:

    • inteligencia, se obtendría por comidas y en niveles superiores (luego del 5 o 10) por lecturas

    • carisma, se obtendría por comidas, y en niveles superiores (si llega a haber) debería incluir el manejo de grupos (aunque si el personaje intenta mandar a un grupo antes de que tenga algo de carizma esto le debería restar carisma).

    • fuerza, por comidas en un principio y luego por práctica de deportes o alguna otra actividad

    • karma, esto es en realidad si el personaje eljie hacer acciones malas o acciones buenas. Dependiendo del personaje tendrá más opciones de malas o buenas. El criterio de buenas o malas debería ser en lo que refiere al personaje, por ejemplo, un católico no debería ir a golpiar a un anciano, pero un punkie sí. Un punkie no debería ir a golpiar a un gay, pero un católico y el skinhead sí.

    • Estado anímico. Debería estar ligado a las distintas caracteristicas mínimas para el nivel, por ejemplo, si para el nivel 3 no se tiene X en carisma, fuerza e inteligencia el personaje tiendrá un -5 en estado anímico, lo que se debería interpretar como menos chances para lograr la misión/acción al 100%. Un punkie puede subir su estado anímico llendo a recitales, un católico llendo a misa y un skinhead llendo con sus iguales.

    • destreza de defensa, solamente por práctica en lucha o en luchas

    • destreza de ataque, solamente por práctica en luchas o en luchas

    • destreza de lucha, debería ser un promedio de los anteriores más lo que se entrene en algún arte marcial (lucha callegera, kun-fu, etc). La parte de defensa o ataque no debería superar cierto número N siendo N = ((DS + AS) / 2) * K). K debería ser un número fijo por cada nivel


    También deberían haber algunas caracteristicas que aparecen en niveles superiores y que estén relacionadas con los máximos alcanzados en las caracteristicas antes mencionadas. Por ejemplo, si el personaje supera un número X para los niveles 5 o 10 (nivel superior) se le debería otorgar imaginación para poder crear objetos o resolver más rápido todavía todas las acciones relacionadas con inteligencia

  • Las acciónes (tareas, problemas, misiones o como se llamen) dan X puntos de plus para ciertas caracteristicas si se completan al 100%. También pueden dar algunos bienes (dinero, alimentos, etc) dependiendo de la misión. El total de lo obtenido, dependiendo del tipo de misión, debe verse afectado por las caracteristicas básicas(fuerza, inteligencia y carisma) y también por caracteristicas superiores (karma, estado anímico, destreza en lucha). Por ejemplo, si hay que derribar una pared, y no se tiene mucho de fuerza, la misión nunca podrá completarse al 100% por más que la suerte de el máximo puntaje.

  • Todo (al menos en parte) se debe decidir por la suerte. O sea, haciendo un rand entre un mínimo y un tope. El mínimo debería variar en algunos casos, por ejemplo, en una misión de fuerza, nunca se debería obtener un 0 para un persojane que tiene demasiada/mucha fuerza para el nivel que tiene. Lo mismo que el máximo.



Esas son algunas ideas que estoy teniendo. Por ahora el lenguaje de programación será Perl, y la interfaz la haré seguramente Web (para que sea más simple).

La arquitectura sería



  • Un server: Parte asincrónica que recorrería la base de de datos de pendientes por ciclos y los iría procesando y actualizando a los personajes. Por otra parte,debería estar la sincrónica, donde por ejemplo, estaría el comienzo de una misión, el resultado de comer (el de sed/hambre debería ser asincrónico, y resolverse de forma sincrónica).

  • Cliente: Este debería ser el front-end, por ahora solo web. Enviaría datos al server y mostraría los resultados por pantalla.

  • El paso de valores entre el cliente y el server, para hacerlo escalable a futuro, debería ser por XML, pudiendo haber un transporte/proxy en el medio (el cliente/server deberían ser programados para que se pueda agregar esto).

  • El server debería dejar toda la información en la base de datos, se puede paralelizar muchas cosas (por ejemplo, en caso de que sea muy grande el parque de usuarios se puede poner otro server que atienda los request -tipo round robin- y ver en todos la misma información).



Los ciclos del juego


La parte asincrónica del server, sería delimitada por ciclos que duren N tiempo no estimado al usuario, de esta forma se puede procesar en batch todos los pendientes. Al hacer los ciclos de 1 hora por ejemplo, solo se procesarán las tareas que tengan más de 3600 segundos o más con respecto a la hora acutal (ciclo * tiempo del ciclo). Esto tiene una CONTRA bastante grave, si son muchos los usuarios el procesamiento batch puede tardar casi un ciclo completo, con lo que el último usuario en ser procesado, habrá perdido un ciclo de juego.

Para resolverla se pueden hacer grupos de pendientes (máximo N dependiendo del tiempo promedio de procesamiento de los pendientes) y procesar los grupos en paralelo, pero dentro del grupo de forma seriada. Esto consumiría mucho CPU, pero lo hace más escalable. Otra forma de resolver esto es hacer un downtime una vez al día y hacer que los ciclos sean de un día. Así todos los pendientes se pueden procesar sin que el usuario esté cargando el sistema. El problema de esto es que los ciclos de tanto tiempo pueden resultar aburridos para el usuario, dado que no se puede hacer nada más si ya se tomó una acción en el día.

Espero que en unos días pueda hacer un bosquejo de DFD para ir viendo que es lo primero a programar.