El poder del amor

logoelpoderdelamorok-2288586

No, este no es un post sobre el día del amor y la amistad, este es un post sobre el más reciente reality de TV Azteca llamado “El poder del amor“, conducido por Penelope Menchaca, que empezó a transmitirse el día lunes 4 de febrero y tuvo su última emisión el día 8 de febrero, convirtíendose probablemente en el programa que sustenta el récord de haber sido retirado del aire más rápidamente, tan solo después de una semana de emisión… y eso es algo bueno.

Tuve la mala fortuna de ver ese programa y el simple hecho de verlo te hacía sentir cómo perdías neuronas con cada segundo que pasaba. El concepto de reality show era terrible. Uno esperaría que cualquier que trabaje en la TV sabría que los reality shows de ese tipo no han sido exitosos en México por los últimos 20 años, desde pasó la novedad del Big Brother. Tal vez los productores pensaron que después de 20 años el público mexicano estaría listo para otro reality, esa es la única explicación lógica para que invirtieran en un proyecto de ese tipo que, además, fue grabado en Turquía por cualquiera que fuera la razón para eso.

Por fortuna el programa fue un rotundo fracaso con el público y fue retirado en tiempo record de la programación y eso, eso me hace recuperar un poco la fé en la humanidad.

 

Tarea de programación C – Números primos

En un post anterior escribí el código para encontrar números primos en Java. A diferencia del código en aquel post, aquí he usado una representación digital de la criba o coladera de Eratóstenes. Usar una representación en memoria tiene la ventaja de que nos permite ahorrarnos muchos cálculos innecesarios que el anterior código hacía para comprobar si un número era primo. Además, gracias a que cualquier compilador moderno nos permite declarar arreglos o reservar bloques de memoria de tamaño arbitrario, es posible usar este código para encontrar fácilmente los números primos por debajo de 1,000,000,000 (o cualquier número en el rango del tipo de datos int).

#include 
#include 
#include 
#include 

#define LIMITE 100000000

uint8_t *criba;
int contador = 0;

int main() {
    criba = calloc(LIMITE, 1);
    assert(criba);
    for (int i = 2; i < LIMITE; i++) {
        if (criba[i] == 0) {
            contador++;
            printf("%d\n", i);
            uint64_t mul = i * 2;
            while (mul < LIMITE) {
                criba[mul] = 1;
                mul += i;
            }
        }
    }
    printf("Se encontraron %d números primos menores a %d.\n", contador, LIMITE);
}

El código anterior define LIMITE con un valor de 100,000,000 y en mi PC toma aproximadamente 4 segundos al programa para encontrar los números primos por debajo de ese valor. Si incremento el valor de LIMITE a 1,000,000,000 toma aproximadamente 40 segundos en mi PC, que sigue siendo más rápido que el tiempo que tomaba la versión anterior del código para un valor de 100,000,000. Nota que puede llegar a millones la cantidad de números primos para estos valores de LIMITE, por lo que recomiendo enviar la salida del programa a un archivo y no directamente a la terminal. Es decir, ejecuta el programa de la siguiente manera:

monstruosoft@debian:~/code$ ./primos > /dev/shm/primos.txt

En el archivo primos.txt se guardará la salida del programa, por ejemplo:

2
3
5
7
11
13
17
19
23
29
31
37
...
999999667
999999677
999999733
999999739
999999751
999999757
999999761
999999797
999999883
999999893
999999929
999999937
Se encontraron 50847534 números primos menores a 1000000000.

Nota también que aunque este código puede fácilmente reservar un bloque de memoria de 1 GB en C, el mismo código en Java siempre me daba errores de OutOfMemoryException. Incluso después de aumentar el tamaño de la memoria usada por la máquina virtual de Java, usar System.out.println() era extremadamente lento para intentar escribir varios millones de líneas de texto a un archivo, y un ArrayList con varios millones de números primos también causaba problemas al intentar usar el método toString() así que si conoces la forma de usar este código en Java deja un comentario.

 

Juegos indie mexicanos en Kickstarter – Parte 6

Este año empezó lentamente en lo que a proyectos de videojuegos mexicanos en Kickstarter se refiere pero poco a poco han empezado a aparecer. Ya en el post anterior hablé de Zaphiro’s Project, un proyecto que parece más una broma pero que, aunque resulte defícil de creer, ha alcanzado ya el 10% de su meta, eso es aproximadamente 2,500 pesos pero aún así no me explico cómo ha alcanzado esa cantidad.

El siguiente en la lista es Divenia Zero, un spinoff en 2D de Divenia, otro proyecto en Kickstarter. Aunque personalmente creo que la versión 2D de este juego luce mejor y ofrece más posibilidades que la versión en 3D, aún tiene muchos detalles que pulir antes de poder ser lanzada oficialmente; en particular, las animaciones y colisiones es obvio que necesitan todavía mucho trabajo. Hay un demo disponible del juego que espero poder probar próximamente, si es que corre en Linux.

Quest for Enlightenment es otro de esos típicos proyectos que prometen mucho pero no tienen nada que mostrar. Con una meta de un millón de pesos y sin nada que mostrar, es casi seguro que no alcanzará su meta pero hay un par de cosas que creo que vale la pena resaltar. Aunque el proyecto aparece en la categoría de México, basta hacer click en el nombre del creador de la campaña para ver que es de Costa Rica, esto puede marcar una preocupante tendencia de gente que hace pasar sus proyectos como si fueran mexicanos aunque no lo sean. No es como si México ofreciera más garantías de alcanzar las metas con éxito pero ciertamente México es visto como una economía más importante que la de otros países de latinoamérica. De verdad me preocupa la posibilidad de ver más y más proyectos haciendose pasar como proyectos mexicanos y si creen que estoy exagerando, sigan leyendo 😦 . Como si lo anterior no fuera suficiente, el creador de la campaña pretende haber contactado con estudios en “todo el mundo” para apoyarlo con su proyecto para finalmente encontrar un estudio, curiosamente, en Costa Rica. Todo esto suena bastante sospechoso y resulta ofensivo para los que pretenden apoyar su proyecto ya que parece estar basado en mentiras.

Aunque no es un videojuego, Pokenoticias es una campaña que pretender recaudar 100,000 pesos para una página de internet relacionada con noticias de videojuegos que luce abandonada desde hace más de un año. No hay mucho más que decir sobre esta campaña.

The Vale es un juego de survival-horror desarrollado por Fairyland, un estudio conformado por gente de México, Argentina y Reino Unido; una vez más, este proyecto no se siente muy mexicano que digamos y basta ver el video de presentación (que parece usar la fórmula de los videos del canal de YouTube Numberphile) de su anterior proyecto (que fue misteriosamente cancelado), The Lawless Online, para ver qué tan mexicano luce este estudio. Como mencioné antes, resulta preocupante ver proyectos que no lucen para nada mexicanos aparecer en los listados de proyectos de México. The Lawless online prometía ser un MMO y, honestamente, no creo que exista ningún estudio indie en México con la capacidad de crear un juego MMO; además, si revisas la campaña notarás que no tiene en realidad nada qué mostrar más que unos cuantos diseños 3D pero nada parecido a gameplay pero, en fin, ese proyecto fue cancelado. De vuelta a The Vale, el proyecto que sigue activo, parece ser un juego de survival-horror en primera persona (o quizas para VR) que parece fuertemente inspirado por Resident Evil 7. Las texturas y diseños 3D lucen bien pero yo tomaría con cautela el considerarlo un juego indie “mexicano”.

Equilibrio es el más reciente proyecto que ha aparecido en Kickstarter. Como de costumbre, el proyecto espera recaudar casi un millón de pesos al mostrar solamente unos cuantos dibujos hechos a mano, de mala calidad considerando que cuantan con 2 “ilustradores y diseñadores gráficos”. También cuentan con 2 “programadores”, por lo que no se puede justificar la falta de un “Hello world”, por lo menos. Como siempre, el juego promete muchas cosas como una “historia sólida y gran talento artístico y tecnológico”. Este proyecto parece una idea bien intencionada pero nada más.

BONUS: No es un videojuego pero Space Art es un proyecto para lanzar una línea de ropa. Lo gracioso aquí es que, ironicamente, pudieron haber conseguido más dinero con su campaña original que tenía una meta de 10 pesos 😀 .