Enjuewemela 0.4.1

Software — Miércoles 24 de Agosto de 2011, 19:29


Enjuewemela es aún otro juego similar a los populares "Bejeweled" o "Diamond Mine". El juego se basa en alinear 3 o más gemas, tanto verticalmente como horizontalmente, intercambiando gemas adyacentes. Está (por supuesto) escrito en Python, usando el framework para juegos cocos2d.

Logo

La versión 0.4.1 trae un montón de nuevas características, y muchos bugs corregidos. Lo más relevante es:

- Hay un nuevo estilo de juego! Se llama Maluco! No dejen de probarlo.

- Tenemos un sitio web 3.0! Pasen y vean (con botón de Dnoaciones y todo)

- Rehice la parte de audio del juego, ahora es más portable, rápida, y debería funcionar sin que tengan que saber nada sobre eso.

- Ahora se instala de forma que pueden ejecutar el juego desde el menu de Aplicaciones.

- Puse un botón de Donaciones en la página web.

La forma más fácil de instalarlo, si tienen un Debian o Ubuntu, es usando este instalador. Si quieren obtener automaticamente las nuevas actualizaciones, pueden suscribirse al PPA; en una linea de comandos hagan:

    sudo add-apt-repository ppa:facundo/enjuewemela

En cualquier otro caso, pueden usar el tarball para instalarlo.

¡Que lo disfruten!


Puntaje

General — Miércoles 17 de Agosto de 2011, 18:41


El otro día me encontré con Diegote en el Paloko de Belgrano. Ibamos a ser más, pero al final el resto canceló y sólo fuimos nosotros dos.

Arrancamos con una cervecita charlando y charlando, y luego nos jugamos unos pools, mientras comíamos algo (me ganó 2 a 1!!).

Para terminar de cerrar la noche, decidimos tirar unas lineas al bowling. La verdad, ninguno de los dos estaba preparado para lo que pasó... ¡¡jugamos bárbaro!!

Hacía mil que ninguno de los dos jugaba al bowling, pero ambos hicimos una muy buena cantidad de puntos. Es más, en la segunda linea yo hice tantos puntos que ahora es mi record personal... y le sacamos una foto, para la posteridad.

Record bowling

Un lujo. Hay que repetir esos encuentros.


Más pelis

General — Martes 09 de Agosto de 2011, 13:16


Buen ritmo de películas vistas en los últimos meses!

  • 9: +0. Increíble el "escenario" donde se desarolla todo, muy bien armado el mundo mostrado, pero la historia... hasta ahí. La animación está muy buena, sí, pero a esta altura es lo que uno espera.
  • Doubt: +1. Muy buen tema, fantásticas actuaciones de Philip Seymour Hoffman y Meryl Streep; no es tan dramática como pensé que iba a ser, pero sí es intensa.
  • Elegy: +0. Interesante, buena historia, pero no es gran cosa.
  • Good Dick: +0. Una película muy muy rara, que no le pongo +1 porque es en cierto punto "demasiado fuera de ritmo", pero que está más buena de lo que uno supone luego de verla diez minutos.
  • Gran Torino: +1. Genial representación de cómo las personas pueden importar mucho más de lo que las apariencias o las etiquetas a priori indican.
  • Harry Potter and the half-blood Prince: -0. Una más del niño este. No vale la pena a menos que sigas la historia global.
  • Lluvia: +1. Una historia muy bien contada, con fragmentos de tiempos que van pintando el cuadro general. Me gustó también las actuaciones, y lo que cuenta.
  • Pandorum: +0. Nunca una peli tipo "medio perdidos, en una nave espacial, con algo raro adentro y bichos feos" podrá ser la mejor luego de Alien, pero esta vale la pena verla.
  • Religulous: +1.  Ver acá http://www.taniquetil.com.ar/plog/post/1/513 por un comentario.
  • Surrogates: +0. Buena idea, bien explorada... la historia en sí podría ser mejor, no deja de ser un policial más, pero ese no es el valor principal de la película.
  • The International: +1. Muy buena acción, las actuaciones no están nada mal, y una trama de lujo.
  • The burning plain: +1. Muy buena historia, muy bien contada. Es un drama bastante fuerte, pero interesante por lo que muestra y transmite.
  • The soloist: +1. Me encanta como muestra la relación entre los dos personajes principales. Me estoy haciendo fan de Robert Downey Jr., pero la actuación de Jamie Foxx está muy bien también.
  • The unborn: +1. Hacía rato que una película de terror no me dejaba un par de horas "rumiando" la historia. Recomendada si tenés hijos, pero no si sos sensible.


Por otro lado, aparecieron casi la misma cantidad para ver...


Finalmente, el resumen según cuando las anoté:

(23-May-2008)    4   4
(24-Sep-2008)   29  21  15   6
(21-Ene-2009)   19  18  18  18  12
(09-May-2009)   14  14  13  11  10
(15-Oct-2009)   20  17  17  16  15
(01-Mar-2010)   19  18  18  18  18
(12-Sep-2010)       19  19  18  18
(14-Dic-2010)           13  13  13
(13-Abr-2011)               23  23
(09-Ago-2011)                   12
Total:         105 111 113 123 121


Campus Party, Colombia

General — Lunes 25 de Julio de 2011, 12:05


Este post viene bastante demorado, pero no quiero dejarlo pasar y que al final no salga nunca...

En la semana de fines de Junio principios de Julio estuve por Colombia, más específicamente en Bogotá, invitado en la sección de Software Libre de Campus Party (algunas fotos, acá).

Campus Party es un evento como nunca había visto. Por lo pronto, no es sólo de software (que sí la tiene, con Software Libre, Seguridad y Redes, y Desarrollo de Software), sino que incluye temas tan dispares como Astronomía y Espacio, Hardware y Modding, Social Media, Juegos, etc...

Pero lo más distinto del evento es la disposición física interna y su dinámica. En lugar de ser distintas habitaciones (de hotel, de universidad, etc) con charlas adentros y algunos espacios comunes, Campus Party es un gran espacio común.

Armado adentro de un gran lugar sin separaciones (un pabellón entero de un centro de exposiciones, como acá puede ser el Centro Municipal de Exposicione, o Costa Salgureo), tiene la siguiente disposición: espacios de conferencia contra las paredes, y mesas, mesas y mesas en el centro.

alt

Los espacios de conferencia de alrededor es nada más que una pantalla contra la pared, un proyector, sillas/sillones/pufs para que la gente se acomode, y parlantes apuntando para el adentro de cada espacio. Es muy loco, porque no hay nada que separe los distintos espacios de conferencia, sino que se logra la separación de uno y el otro sólo con el audio: si estás adentro de uno de los espacios, sólo vas a escuchar los parlantes de ese espacio, y listo.

En todo lo que no es contra la pared, y dejando pasillos pra pasar, hay un centenar de mesas largas, sólo con cables de red y cables de energía eléctrica. Allí la gente se instala con laptops, con computadoras de escritorio, teles de cualquier tamaño (había una de 52"!), equipos de pintura, de soldadura, etc. Todo lo que se les ocurra.

alt

Se puede llevar cualquier cosa al evento, porque las actividades eran muy variadas, y en general se las podía dejar semiabandonadas, porque la seguridad para entrar y salir del pabellón eran muy estrictas. Hay que pensar que al evento asisten 4500 personas, y es algo que dura 7 días las 24 horas. Hay una zona de carpas y lockers ofrecidos por la organización, y hay centenares de personas que no abandonan el predio en toda la semana (obviamente, también hay servicios como duchas, lugares para comer, etc).

A nivel de organización también es muy distinto. El evento es fuertemente patrocinado por empresas, y organizado por Futura Networks una empresa de Telefónica que lo único que hace son estos eventos (no sólo en Colombia, sino también en los otros países donde se hace: México, España y Brasil). Yo fuí invitado a dar dos charlas, Python más rápido que C y Comunidad, Anarquía y Subversión.

alt

Bueno, no quería terminar el post sin agradecer también la hospitalidad brindada por Manuel Cerón (el Coordinador del área de Software Libre), y varias personas (Antonio, Luis, Natalia, otro Manuel, Luisa), que hicieron que me sienta muy cómodo los días que estuve allí.


Servicios, servicios, servicios

Software — Jueves 14 de Julio de 2011, 08:48


Cuando se hizo público el proyecto Ubuntu One, el único servicio que se presentó fue el de sincronización de archivos.

La comparación con Dropbox fue obvia... Dropbox era (y sigue siendo) el servicio de sincronización de archivos con más usuarios.

Si uno leía blogs y reviews del producto, una pregunta se repetía muchísimo: ¿cual era el punto de sacar otro servicio de sincronización de archivos? La respuesta era sencilla, eso era sólo el primer servicio de Ubuntu One, muchos más vendrían luego.

Hoy, Ubuntu One sigue teniendo sincronización de archivos en Linux y tiene un cliente en beta para Windows, y otro para Android (salido de beta hace unos días!), tiene servicio de venta de música, y la posibilidad de escuchar tu música en tu teléfono (la hayas comprado por Ubuntu One o no) sin tener que descargarla previamente (por streaming, digamos), sincronización de contactos, una base de datos en tu escritorio de Ubuntu que se sincroniza automáticamente y que se puede usar para lo que quieras, etc...

Pero lo que quiero resaltar es una característica pequeña pero que me fue muy útil hace un rato... resulta que hicimos los posavasos de PyAr, y como del último PyCamp sobraron unas monedas, decidimos regalarles un par a cada asistente a dicho evento.

La cámara de fotos estaba abajo, así que agarré el teléfono y le saqué una fotito a un posavasos que tenía a mano. Al toque, el cliente de sincronización de archivos de Ubuntu One empezó a subir la foto "a la nube" y bajó en la compu de escritorio, ví la notificación que había descargado un nuevo archivo, fuí a la carpeta, botón derecho sobre el archivo, "Publicar", lo cual me entregó esta dirección pública. Usé esa URL para mandar por mail a los asistentes del PyCamp (y de pasó la tuité). Ya que estamos, el posavasos es:

Posavasos PyAr

Esta suma de pequeñas características es lo que le terminan dando un valor interesante a un servicio, lo que hace que valga la pena y marque una diferencia a nivel de productividad cuando estás acostumbrado a usarlos.


CDPedia 0.7

Software — Lunes 04 de Julio de 2011, 17:20


Python Argentina (PyAr) se enorgullece de anunciar la versión 0.7 de la CDPedia.  Esta versión fue entregada a Educ.ar para ser distribuida en escuelas del todo el país, y ya está disponible para la descarga pública.

La CDPedia es un proyecto del grupo de usuarios de Python Argentina que permite acceder a la información de la Wikipedia en castellano sin necesidad de una conexión a Internet.  Se puede descargar libremente de la red y grabar a CDs o DVDs para repartirlos sin restricciones.  La CDPedia funciona en cualquier computadora, ya sea que tenga Linux, MacOS o Windows como sistema operativo.

CDPedia

La versión 0.7 de CDPedia en DVD fue recientemente entregada para su evaluación a Educ.ar quien, por medio de un acuerdo con Wikimedia Argentina y PyAr, está por distribuir esta enciclopedia libre en todas las escuelas de Argentina.

Esta misma versión, con contenido de Wikipedia a Febrero de 2011, ya está publicada para descargas libremente en versiones CD y DVD, se puede bajar directamente o usando un torrente. Y planeamos hacer una tirada de mil DVDs para tratar de iniciar algo viral y que llegue a toda la gente posible... te recomiendo (y te agradezco) que copies estos discos y los regales a tus amigos, familia y conocidos. La información debe ser libre, así mejoramos la calidad de nuestra educación. 

Para mayor información e instrucciones para la descarga, visitar la página de CDPedia.


NO al Canon Digital

General — Miércoles 29 de Junio de 2011, 20:07


¿Qué es el canon digital?

Es un gravamen que afecta a dispositivos de almacenamiento y reproduccion digital o analógica: CDs y DVDs, grabadoras de discos, reproductores de mp3, teléfonos ceulares, tarjetas de memoria, discos rígidos, cámaras, etc., y que en algunos casos podrían aumentar hasta un 75% su precio actual.

No es un impuesto ya que lo recaudado no se reinvierte en la sociedad ni es recolectado por el Estado, sino que se deriva directamente a asociaciones privadas (AADI, ARGENTORES, CAPIF, DAC, SADAIC, SAGAI y SAVA) que gestionan la recaudación de dinero por reproducción de obras bajo sus propias normativas (¡incluso las libres!).


¿A quiénes afecta?

La medida perjudica a consumidores y artistas de igual manera, ya que el proyecto presentado por los senadores Pichetto y Giustiniani no incluye pautas administrativas para distribuir lo recaudado entre los artistas y desincentiva el consumo de la tecnología afectada debido a los altos costos.

¿Por qué no deberia aprobarse?

Porque va en  contra un derecho básico al hacer una presunción de culpabilidad, cuando en realidad la Constitución nos asegura a todos el derecho a la inocencia.

El proyecto aumenta la brecha digital y cultural, dificultando, aún más el acceso a medios de almacenamiento a personas de bajo recursos.

No pone en consideración a las instituciones educativas, ni al proyecto Conectar Igualdad. Una ley muy similar fue declarada inconstitucional y derogada por el Tribunal de Justicia de la Unión Europea. Esta ley que ya se había implementado en varios países de Europa no cumplió con los objetivos que justificaron su aprobación.


Más información

La Fundación Vía Libre está siguiendo esto al detalle, les recomiendo leer los posts relativos a este tema.


Distribuyendo un programa hecho en Python

Python — Miércoles 22 de Junio de 2011, 17:56


Más que un análisis completo de las tecnologías para permitir la distribución de programas hechos en Python, este post es casi una receta o colección de anotaciones para seguir un camino. Y es que es un camino que no me fué fácil recorrer, porque la mayoría de los mecanismos para distribuir código Python están pensadas para distribuir bibliotecas hechas en este lenguaje, y no programas.

¿Dónde está la diferencia? En dónde van las cosas.

Antes de seguir: para todo el armado usé distutils, que es lo que está en la biblioteca estándar. Le pegué una mirada a otras cosas como setuptools, distribute, etc, pero todas (aunque son más aptas para cosas más complejas) no me solucionaban el problema básico y me complicaban un poco la vida en otros aspectos.


¿Dónde van las cosas?

Volviendo a el lugar en dónde se instala el código Python... si uno quiere distribuir una biblioteca, la respuesta es sencilla: en el directorio de bibliotecas de Python de tu sistema. ¿En dónde particularmente? Bueno, depende de tu sistema; incluso en Linux esto fue cambiando y no es el mismo lugar siempre. En mi máquina tengo /usr/lib/python2.6/dist-packages/, que en parte apunta a /usr/share/pyshared/.

Igual, no importa la ubicación exacta: usando distutils (u otras alternativas) las bibliotecas van a parar al lugar correcto sin mayor esfuerzo.

¿Pero qué pasa si no es una biblioteca sino un programa? El primer detalle es que necesitamos un ejecutable que arranque nuestro programa. Distutils y amigos tienen esto bastante bien manejado, se les puede especificar un script, y terminan instalando todo de la siguiente manera:

  script -> /usr/bin/
  todo el resto /usr/lib/python2.6/dist-packages/ (o similar)

Hasta acá todo bien, ¿no? No. Resulta que nuestro programa tiene imágenes, archivos de audio, etc, y está "mal visto" meter esos archivos "de datos" dentro del directorio de bibliotecas de Python. Entonces, lo que recomiendan por ahí es:

  script -> /usr/bin/
  archivos de datos -> /usr/share/
  código python -> /usr/lib/python2.6/dist-packages/ (o similar)

Esto ya no es tan fácil de lograr, porque la distribución de archivos de datos es como un parche en los sistemas de distribución de bibliotecas.

Además, si nos vamos a poner quisquillosos de no meter archivos de datos en el directorio de bibliotecas, yo pregunto: ¿por qué meter código de nuestro programa, que no es una biblioteca, en el directorio de bibliotecas?

Entonces me embarqué en el siguiente capricho: quería que la distribución de mi programa vaya a parar a:

  script -> /usr/bin/
  todo el resto -> /usr/share/

Los archivos de datos, por supuesto, mezclados con "todo el resto".


Estructura de nuestro programa

Primero lo primero, ¿cómo organizamos nuestro proyecto? Yo tengo lo siguiente (simplificado, pueden ver toda la estructura en los archivos del proyecto Encuentro):

- un directorio 'bin' donde tengo el script que arranca todo

  bin/encuentro

esto es un archivo ejecutable que no hace mucho más que jugar un poco con los directorios y el sys.path para que se encuentre al resto del código Python de nuestro programa (en dos situaciones: cuando ejecutamos bin/encuentro desde el repositorio mientras estamos desarrollando, y cuando está instalado finalmente en el sistema), e inicializar alguna estructura básica y arrancarla, para que comience nuestro programa.

- un directorio con el nombre de nuestro proyecto, con el resto del programa:

  encuentro/__init__.py
  encuentro/main.py
  encuentro/network.py

- directorios con los archivos de datos, adentro de nuestro proyecto (no por separado), en este caso:

  encuentro/ui/main.glade
  encuentro/ui/preferences.glade
  encuentro/ui/update.glade

Una vez aclarado eso, quedan dos preguntas sencillas y una complicada por contestar: las sencillas son ¿cómo el script encuentra al resto del programa instalado? y ¿cómo accedemos a los archivos de datos desde nuestro código?.

La primera es usando una variable que se inyecta en el script en el momento de instalar el programa (ver más abajo el cuándo hacemos eso en setup.py).

La segunda es accediendo a los archivos de forma relativa al código. Yo tengo esto al principio del programa:

  BASEDIR = os.path.dirname(__file__)

y luego hago cosas como:

  data_file = os.path.join(BASEDIR, 'ui', 'preferences.glade')

Finalmente, la pregunta complicada: ¿cómo hacemos para que todo esto funcione?


Distribuyendo programas

En realidad, la respuesta no es tan complicada una vez que está resuelto (como tantas cosas en la vida).

Para incluir todos los archivos, en el setup.py, en la llamada a setup() hay que poner:

  packages = ["encuentro"],
  package_data = {"encuentro": ["ui/*.glade"]},
  scripts = ["bin/encuentro"],

Fíjense como ahí declaro el paquete donde está mi programa, el script, y los archivos de datos. Pero hay un bug, hasta en Python 2.6 inclusive, que hace que para meter los archivos de datos con eso sólo no alcanza, y hay que declararlos también en el MANIFEST.in:

  include encuentro/ui/*.glade

Para que todos estos archivos vayan a parar al lugar correcto, hay que hacer algo específico: una clase que acomoda cosas en el proceso de instalación. Pueden ver el detalle de esa clase en el setup.py de Encuentro, pero basicamente hace dos cosas:

- Construye un directorio donde va a quedar todo con el prefijo indicado, "share" y el nombre del proyecto, y autocorrije el directorio de instalación con eso.

- Guarda ese directorio de instalación nuevo en los scripts declarados, usando una cadena especial como bandera, de manera que al quedar el script instalado sabe dónde buscar el programa entero.

(importante: no olvidar declarar en la llamada a setup() a esta nueva clase como la clase que será usada para instalar!)

Finalmente, está bueno probar que todo funca bien. Las pruebas que yo hice fue crear el .tar.gz con python setup.py sdist, descomprimirlo en otro lado que nada que ver y hacer python setup.py install --prefix=/tmp (para que se instale en /tmp y probarlo ahí adentro) y también sudo python setup.py install (para que se instale en el sistema y probarlo así).

También, luego de hacer todo el proceso de packaging, cuando pbuilder me dejó el .deb, lo descomprimo y veo que la estructura está correcta y que la variable reemplazada en el script tiene el valor que debería; igual, la prueba de fuego con el .deb es instalarlo con dpkg -i y probar el programa.

Nota final: ahora me falta armar un .exe para que se pueda ejecutar en Windows, pero eso será otro post.


Laburando en UK

Viajes — Miércoles 15 de Junio de 2011, 17:19


La semana pasada la pasé en Londres, en un sprint de todo Online Services. Estuvo muy bueno, porque es en estos eventos donde vemos a nivel de estrategia en dónde estamos, qué vamos a hacer los próximos meses, prioridades, etc.

También está copado poder ver cara a cara e interactuar (trabajando o tomando una cerveza) con los compañeros de trabajo, que normalmente están del otro lado del chat.

Obviamente, la mayor parte de lo que vimos y escuchamos ahí es confidencial, pero les aseguro que Ubuntu One va a rocanrolear de formas muy interesantes en los próximos meses...

Otra actividad que se hace en este tipo de reunión general es algo para "integrar el grupo"... el año pasado resolvimos unos acertijos que implicaban pasear por Londres, pero este año fue distinto: fuimos a una Escuela de Cocina donde guiados por los chefs/profesores hicimos pizzas entre todos (pizzas que luego, por supuesto, nos comimos nosotros mismos).

Ingredientes

La verdad es que estuvo muy muy bueno el evento... no sólo porque las pizzas estaban ricas, sino porque la onda del lugar y de la gente era genial. Encima, a mí me tocó como chef a Anna Venturi, dueña del lugar y autora de un texto que estaba tipo cuadrito en una de las paredes del lugar:

Venturi's table - la filosofía atrás del negocio

Si alguna vez me ponía de mal humor - lo cual era frecuente en mi adolescencia - mi abuela hacía que la ayude a preparar la cena. Para cuando las albóndigas estaban hechas mi humor se había levantado y estábamos riendo juntas.

La cocina es un lugar donde se comparten secretos - tanto de la vida como del arte de cocinar. Las familias se juntan en las cocinas porque en ningún otro lado de la casa la gente se comunica tan abiertamente. Los problemas son cortados y diseccionados, las discusiones hierven y se evaporan, y las preocupaciones desaparecen. Desde muy joven aprendí que cocinar juntos es una gran manera de hablarse los unos a los otros. Podés intentar ponerte complicado en la cocina pero no lo lograrás.

Cocinar juntos es siempre una experiencia positiva. Crea una intimidad entre la gente que es muy difícil lograr en el día a día. Mi abuela me enseñó que cocinar no tiene que ser complicado. La clave son ingredientes de buena calidad y sabores simples. El cocinar es un acto creativo, casi infantil por momentos donde olvidamos nuestras preocupaciones y no tememos ensuciarnos las manos y experimentar. Mirar como la gente se transforma al preparar comida es lo que más disfruto. Es un proceso que nos lleva a una época en la que no nos importaba tener harina en el pelo o comer mezcla de torta directamente del bol.

Finalmente, el acto de preparar una comida juntos es una manera de dar algo a nuestra familia y amigos. Es un placer simple que es frecuentemente olvidado en nuestras ocupadas vidas. Comer juntos alrededor de una mesa me recuerda nuestra pequeña cocina en Vía Cappuccini o los veranos que pasé con mi familia en Riccione. La clave es compartir buena comida y crecer juntos como personas.

Anna Venturi



A nivel de viaje... no mucho, la verdad... los días de trabajo fueron intensos, y más allá del domingo y el sábado que paseamos un poco, el resto de las noches sólo fuimos a comer o a comprar algo para comer y cenábamos en la habitación. Salimos a comer tres veces en total... a un restaurant indio, a uno vietnamita y a un pub "muy local" para probar lo que allá llaman "fish and chips" (por lejos, la comida más floja de estas tres que dije):

Fish and chips

El clima estuvo mucho más feo que el año pasado (esta vez sí nos tocó el típico clima de Londres), tuvimos algunas lloviznas mientras paseábamos, y el domingo volvimos empapados al hotel. Pero si de clima se trata, lo complicado fue volver a Argentina, por las cenizas del volcán Puyehue. Por suerte, justo se corrieron para que podamos volver la mayoría... los vuelos anteriores fueron cancelados, y los posteriores también (tengo compañeros de trabajo que recién pudieron volver hoy...).

Las fotos de todo, acá.


Inflación

General — Viernes 03 de Junio de 2011, 12:12


Dos datos con respecto a la inflación en Argentina.

El primero es sencillo: lo que me cobra el Automovil Club Argentino por mes por la cobertura para auxilios mecánicos y etcéteras, desde octubre 2005 hasta la fecha (mismo servicio sobre el mismo auto):

Curva ACA

El segundo es más complicado. Desde hace un tiempo que compro carne y derivados en la misma carnicería (Chalin, en Mataderos: es buena carne, relativamente barata, y me la mandan a casa). Desde hace poco más de un año guardo los tickets que te dan al comprar (donde indican el corte, el precio y el peso, todo muy transparente).

Con esta info quise hacer también algo que indique los "aumentos de la carne", pero al haber tantos cortes distintos, y al no siempre comprar los mismos cortes, la curva quedaba un enchastre. Entonces lo que hice fue calcular cuanto aumentó cada corte con respecto a la primera vez que lo compré, y luego unificar en cada fecha de compra todos los aumentos de los distintos cortes.

El resultado es el gráfico siguiente, donde se ve el aumento sufrido con respecto a la compra anterior:

Aumento carne

Todos los números crudos en esta planilla de cálculos.


Enjuewemela 0.3 está en la calle

Python — Sábado 21 de Mayo de 2011, 16:56


Enjuewemela es aún otro juego similar a los populares "Bejeweled" o "Diamond Mine". El juego se basa en alinear 3 o más gemas, tanto verticalmente como horizontalmente, intercambiando gemas adyacentes. Está (por supuesto) escrito en Python, usando el framework para juegos cocos2d.

La versión 0.3 trae un montón de nuevas características, y muchos bugs corregidos. Lo pueden descargar de acá.

Noten sin embargo que todavía es una liberación pre-alfa: tiene un montón de detalles a mejorar, y necesita mucho amor a nivel de "arte".

Algunos de los cambios más grandes son:

- Modos de juego Clásico y Apurate! Prueben ambos, se van a divertir, :)

- Las gemas explosivas y mágicas están completamente implementadas.

- Completo soporte para internacionalización.

- El puntaje se graba por tipo de juego, y hay una pantalla de Puntajes Máximos.

- No más límite para los niveles de juegos.

- Las piezas son seleccionables, o se pueden mover arrastrándolas.

- Los puntajes se indican como burbujas al lado de la gema seleccionada.

- El flujo general del juego está terminado, incluyendo el menú completo de "opciones" y una pantalla de "créditos".

- Ahora se puede salir con ESC, y pausar el juego con "p" o la tecla de pausa.

Para más información, pueden visitar la página del proyecto.


Videos

Viajes — Jueves 19 de Mayo de 2011, 21:59


Unos de los proyectos más a largo plazo que tengo, no porque piense demasiado en el futuro, sino porque lo vengo arrastrando desde un lejano pasado, es el de editar y publicar mis videos.

Cuando hice el Master en Italia decidí comprarme una cámara de video (la otra opción era una cámara de fotos), cosa que hice en un supermercado de la zona a un muy buen precio. Hoy por hoy a la cámara se le nota la antigüedad, pero la verdad es que la amorticé, y debo decir que a nivel de calidad de la cámara, hice una buena compra.

Por otro lado, a nivel de usabilidad... no es lo más piola los videos... y el motivo principal de esta desventaja es que es imposible filmar de manera de que el video quede interesante (o al menos no aburrido) de ver directamente. En otras palabras, hay que editarlo.

Y editarlo lleva tiempo! Y miren que llevará tiempo, que editar mis videos es uno de los proyectos a más largo plazo que tengo, ;)

En fin. Se fueron pasando los años, y en algún punto me lo tomé como una actividad monótona creciente: aunque hiciera muy poquito cada tanto, ese poquito sumaba; y me puse como meta que ese "cada tanto" no fuera demasiado... y los fui editando. No sólo eso, sino que también los fui terminando de editar, y aquí largo la primera tanda.

Para presentárselos, armé una página en este mismo blog: la Página de los Videos. Como pueden ver ahí, ya tengo todos los del Master en Italia, en 2002, más los de un curso en Toledo, en 2005. Actualmente estoy trabajando en los de un curso en Holanda, también en 2005.

Para verlos, hagan click en la imagen. Están codificados en Theora, así que Firefox debería mostrarselos bien, con los controles para play, pausa, etc.  Pueden descargarlos y verlos offline, también, si prefieren. Y pueden compartirlos, pero no modificarlos ni usarlos para un propósito comercial.


«Anterior   1 2 3 4 5 6 7 8 9 ... 45 46 47  Siguiente»

Powered by LifeType