HTML5 y CSS3 ¡de una maldita vez!

Capturas de mi PFC

Permalink | Archivado en: Alma Geek, Desarrollo de videojuegos, Programación, Universidad

Ya comenté en un post anterior que estoy haciendo una aventura gráfica como PFC. Aquí os dejo unas capturillas de cómo va quedando.

En esta primera está activado el “modo debug”, que permite ver el grafo que recorre el personaje principal para moverse por el escenario, así como las bounding-boxes de los diferentes elementos (PNJ’s, ítems, salidas) que conforman el mundo.

Captura de PFC (modo debug)

En esta otra captura se ve cómo el personaje principal (sí, ese rectángulo psicodélico :P ) examina un objeto y “habla” describiéndolo.

Captura de PFC (prota hablando)

Por cierto, ese fondo tan chulo no es mío, sino que me lo ha hecho una amiga (Silvia Coleto). Estoy pringando a más gente para que me echen un cable con los gráficos/música. ;)

Os iré enseñando más cosillas según vaya desarrollando la aventura.

Twenty Mobail

Permalink | Archivado en: Alma Geek, Ciencia y tecnología, Gadgets, Linux y software libre, Programación

Ernesto y yo hemos decidido participar en nuevo concurso de Open Movilforum, y para ello hemos desarrollado el mash-up Twenty Mobail. Esta aplicación te permite subir fotos a Tuenti, así como actualizar tu estado (en plan Twitter), enviando MMS o SMS desde un teléfono móvil.

Aquí tenéis unas screencasts que hemos grabado para presentar el proyecto:

Si os gusta el proyecto, podéis echarnos una mano con el voto del público ;) Para ello, tenéis que ir a la página de Open Movilforum, y registraros haciendo clic en este enlace que aparece en la barra superior:

Registrarse en Open Movilforum

Una vez rellenado el formulario, podéis ir a la página web del proyecto Twenty Mobail y hacer clic en la crucecita:

Votar a Twenty Mobail

¡Gracias!

Stencil Kit de Yahoo!

Permalink | Archivado en: Alma Geek, Diseño y Desarrollo Web, Programación

Si hay algo que me gusta, son los diagramas bonitos. Estos días estoy diseñando la interfaz de una aplicación para unas prácticas de una asignatura y he tenido la suerte de toparme con el kit de plantillas de diseño de Yahoo!.

El kit contiene plantillas de los elementos más comunes usados en interfaces gráficas: campos de formularios, tablas, botones, menús, rejillas, calendarios, etc. También incluye plantillas para diseñar interfaces para el iPhone y otros teléfonos móviles. La calidad gráfica es muy buena, y al ser los controles más o menos genéricos, sirven tanto para desarrollar aplicaciones web como de escritorio.

Aquí está una de las pantallas que he diseñado:

UI catálogo

El kit lo podéis descargar aquí, e incluye versiones para los siguientes formatos: OmniGraffle, Visio, PDF, PNG y SVG.

¡Me ha encantado! :D

Nuevo curso… y quizás último

Permalink | Archivado en: Alma Geek, CSS, Diseño y Desarrollo Web, Programación, Ruby on Rails, XHTML, Yo

Pues sí, tras muchos años de cursos factoriales, este es mi primer curso en el que tengo la oportunidad de acabar la carrera.

El curso pasado fue durísimo, pero he logrado aprobarlas todas, incluyendo “cocos” como AIC, PL, IS2, etc. Así que este año sólo me quedan el proyecto de fin de carrera, SOR y optativas.

El PFC aún no lo he empezado, pero he hablado con dos profesores del DCCIA para que me tutoricen mi propuesta de proyecto: una aventura gráfica 2D (con su parser). Según cómo esté de ganas de dibujar a lo largo del curso me centraré más en la aventura o el parser. Mucho curro, pero prefiero currarme el proyecto con algo que me guste y me motive, antes que dedicarle muchas horas a algo fácil pero aburrido.

Por cierto, aún no sé que librería/s gráficas/multimedia usar. Implementarlo yo todo desde cero, con OpenGL y SDL es una opción, pero es que eso sería casi un proyecto por sí mismo, y ya tengo mucho trabajo por hacer. Gosu me encanta, tiene versión para C++ (que es el lenguaje que voy a utilizar), pero todavía está en fase beta y tiene fallitos. He pensado en Irrlitch, que tiene funcionalidades para el dibujo 2D, pero he visto el código de ejemplo del tutorial que hay para sprites y es bastante… engorroso. ¿Alguien me aconseja alguna librería? Gracias :)

En cuanto a SOR, me han dicho que la teoría no es muy difícil, que lo más duro de esta asignatura es la práctica. La práctica consiste en la implementación de un sistema distribuido, que se irá programando a lo largo de todo el curso (los grupos de práctica son de cuatro personas). Acabamos de empezar, y yo la semana pasada le dediqué a esta asignatura 16 horas de mi tiempo, y en esta ya llevo gastadas 10, así que las voy a pasar canutas.

Optativas tengo un puñado, ya que contando créditos de optativas y de libre elección me harían falta siete asignaturas y me he matriculado de diez, por si las moscas. Las de este cuatrimestre no tiene ninguna examen de teoría, pero he de asistir a todas las clases, lo cual es un poco mosqueante…

En resumen, que casi no tengo libre y cuando empiece el proyecto aún voy a tener menos, pero la posibilidad de acabar este año motiva un montón. ¡Y el no tener que repetir AIC motiva aún más!

En otro orden de cosas, hace poco fue el 3r concurso de mash-up’s y movilidad, y hemos logrado el tercer premio. Esta vez, además de ir con Ernesto, hemos formado equipo con su compañero de trabajo David García, que se lo curró muchísimo. Podéis echarle un vistazo al proyecto presentado: básicamente consiste en un mash-up capaz de recibir vídeos por videollamada, los cuales sube a YouTube y geolocaliza en un mapa de Google.

Presentación de ¿Salimos?

Permalink | Archivado en: Alma Geek, Campus Party, Programación

Aquí os dejo las transparencias de la presentación de ¿Salimos?, el proyecto que Ernesto y yo desarrollamos para las competiciones de Telefónica en la Campus Party. Como íbamos escasos de tiempo, decidimos desarrollar una sola aplicación que pudiéramos presentar a dos competiciones: mash-up’s con Open Movilforum e Imagenio.

La idea de la aplicación es que el usuario, desde su sofá, pueda encontrar nuevos sitios de ocio en su ciudad (restaurantes, bares de copas, de tapas, etc) a los que ir. Además, si encuentra un sitio interesante, puede compartirlo con otro usuario enviándole directamente un MMS que contiene el nombre del sitio y un mapa de sus alrededores.

Aprovecha esos 15 minutos: ¡programa!

Permalink | Archivado en: Alma Geek, Programación

Cuando tienes delante de ti un proyecto más o menos grande, normalmente estimas que el tiempo para realizarlo ha de se largo. Esto es cierto, pero es que, además, inconscientemente también quizás piensas que hacen falta ratos largos para completarlos. Y el tiempo es como la memoria: cuanto más grande sea el chunk a reservar, más difícil es hacer el malloc.

Un ejemplo cotidiano

Una de las cosas que hacemos mi señora madre y yo es pintar ejércitos de Warhammer ajenos. Imagina más de 3500 puntos de bretonianos sobre la mesa.

Normalmente no podemos dedicar más de una o dos horas seguidas al asunto, lo cual es claramente insuficiente si queremos pintar el ejército entero en un tiempo razonable. Pero nos dimos cuenta de que, a lo largo del día, teníamos pequeños ratitos: mientras se hacen los macarrones, el descanso del partido de fútbol, mientras esperamos que llegue alguien que se retrasa, etc.

Si sumamos todo el tiempo de esos pequeños ratos, podemos conseguir fácilmente el doble de tiempo (o incluso más) para pintar el ejército. Entonces la cuestión se reduce a cómo aprovechar esos ratitos.

Lo que hacemos es tenerlo siempre todo listo para que, si tenemos cinco minutos libres, poder hacer algo, lo que sea, en esos cinco minutos. Aunque sea sólo pintarle el filo de la espada a un caballero andante. Para ello, dejamos todo el material en la mesa de la cocina, con los pinceles listos, botes con agua limpia, las miniaturas en las que estamos trabajando encima de la mesa, etc.

Así, además de aprovechar esos pequeños ratos, tenemos como ventaja extra que no da nada de pereza ponerse a la tarea y, a menudo, dedicas más de esos cinco minutos (y se te queman las tostadas).

Time to code!

Sí, vale, todo eso es muy bonito, ¿pero cómo se puede aplicar esto a programar? Pues siguiendo el mismo principio: dejando todo listo para poder aprovechar ratos de 10 ó 15 minutos. En mi caso, funciono muy bien simplemente haciendo dos cosas:

Esto me está ayudando bastante a programar el Demongrave, así que espero poder implementarlo también este curso a la hora de hacer las prácticas. Como siempre, cualquier otro consejo es bienvenido en los comentarios.

¡Un chiste, un chiste!

Permalink | Archivado en: Alma Geek, Programación

¿Cómo matarías a un elefante amarillo?

void Elephant::Kill() {
	YellowElephantsExterminatorGun gun;
	if(color == YELLOW) {
		gun.shoot(this);
	} else if(color == GREEN) {
		paint(YELLOW);
		gun.shoot(this);
	}
	this->~Elephant();
}

Syntax highlighting

Permalink | Archivado en: Alma Geek, Programación

Una de las cosas que tenemos que cuidar los programadores es la vista, ya que nos pasamos muchas horas mirando al monitor. Por eso es importante escoger una buena combinación de colores para el resaltado de sintaxis de nuestro editor. Comparto la que tengo actualmente (la captura es del editor del Blitzmax), me la puse hace poco pero me va muy bien:

Resaltado de sintaxis

En cuanto a la fuente, es la Monaco, aunque también me gusta mucho para programar la Lucida Console. Y eso sí, el anti-aliasing, imprescindible.

¿Qué esquema de colores utilizáis vosotros?

Poesía coder

Permalink | Archivado en: Alma Geek, Blogosfera, Programación

Sigo el meme de escribir poemas con lenguajes de programación. Intentadlo vosotros también, puede estar divertido. Aquí va el mío en C++:

//BenKo - demasiada Cafeína
#include <espronceda>
using namespace pirates;

void pirate_song() {
	Ship.AddCannons(10);
	Ship.AddCannons(10);
	Wind.Blow("stern","maximum");
	Ship.CutSea(false); Ship.Fly(true);
	Ship.Type("Velero bergantín");
}

FanScripts

Permalink | Archivado en: Alma Geek, Diseño y Desarrollo Web, Linux y software libre, PHP, Programación

Este es mi último proyecto para la dominación mundial. Voy a hacer unos cuantos scripts de PHP sencillitos y, ya que estoy, pues los comparto.

Los scripts están dirigidos hacia un público… Hum, ¿cómo decirlo? Friki. Me refiero, hay montones de webmistress (misteriosamente las chicas arrasan en esto, es algo que he de investigar) que mantienen un collective, shrines, fanlistings y demás. Gente como Lulu o Asuka, por ejemplo.

El primer script que ha visto la luz es Kaigakan y sirve para administrar una galería de imágenes, clasificadas por categorías. Por ahora es muy sencillo y no tiene ninguna killer feature (salvo, quizás, que el XHTML que escupe es válido y semántico).

Ah, esta es mi primera contribución al software libre. Sed magnánimos y condencesdientes con el código, anda. Mi PHP todavía es muy guarro :D

A favor del Unicode

Permalink | Archivado en: Alma Geek, Blogosfera, Programación

A la hora de almacenar archivos de texto, podemos elegir entre bastantes codificaciones, que viene a ser qué numerito (y de qué tamaño en bits) se asigna a cada carácter.

¿Qué es lo que pasa cuando abrimos un archivo en una codificación (por ejemplo, la Shift-JIS que es para japonés) y le decimos que lo lea con otra (la ISO 8859-1, o caracteres latinos)? Pues que obtenemos un montón de símbolos extraños. Esto pasa, por ejemplo, cuando alguien me envía un trackback con una codificación distinta a la que uso en el blog.

¿Pero qué pasa si se quiere hacer un documento multilingüe con distintos alfabetos? ¿Qué pasa si desde una aplicación quiero leer cualquier documento en cualquier lenguaje? Para esto existe una codificación de caracteres estándar, que es la Unicode. Sacado de su web:

Leer más »

¡Patentes rechazadas!

Permalink | Archivado en: Alma Geek, Programación

El Parlamento Europeo ha rechazado la directiva de las patentes de software en Europa. Es una grandísima noticia para todos los europeos. Todavía estoy alucinando y pegando saltitos de alegría.

Me enteré ayer gracias a th1nk3r, y casi no podía creérmelo. La verdad, estaba bastante desanimada porque no tenía ninguna confianza en la votación de hoy… pero en fin, un gran día el de ayer :)

Aprovecho para contar que ayer fui a Valencia a pasar el día, ya que el avión de Bea llegaba allí y no a Alicante, y me lo pasé bien. Allyenna hizo de BenKo-canguro (gracias, niña) y comimos con th1nk3r y dos chicos más muy majos. Luego Ally y yo nos fuimos a frikear y conseguí que se comprara una Moleskine (una más para la secta).

Ally, guapísima, te echo de menos :*** (y perdona el mood koala).

Diseñadores y programadores

Permalink | Archivado en: Alma Geek, Diseño y Desarrollo Web, Programación

Interesante post de Veerle en el que reflexiona sobre si el trabajo de los diseñadores es igual/mejor/peor que el de los programadores. En el primer párrafo dice esto:

[...]but in general like for instance a back-end programmer versus a designer of a website, I think about them as equal value. Of course price setting depends on the type of job, how much experienced and how talented you are.

Leer más »

Validación de formularios

Permalink | Archivado en: Diseño y Desarrollo Web, Programación

El tema de validar formularios probablemente resulte bastante obvio para aquellos que tengáis webs que usen bases de datos, pero es que las clases de PI me dejan de piedra a veces… Así que esto es un pequeño consejillo para webmasters novatos.

Eso de validar formularios significa asegurarnos de que el usuario ha introducido datos correctos. Por ejemplo, si en nuestra base de datos hemos reservado 255 caracteres para la dirección de e-mail, no queremos que el usuario ponga una dirección más larga. También queremos que la dirección que nos proporcione sea correcta (es decir, que tenga @, dominio, etc). Eso se controla con la validación.

Leer más »

Iconos

Permalink | Archivado en: Alma Geek, Diseño y Desarrollo Web, Programación

Esto fue una cosilla que comenté el otro día de pasada en la KDD, pero lo repito aquí.

¿Habéis intentado alguna vez diseñar vosotros mismos iconos para vuestras aplicaciones? Yo sí, y la verdad es que soy un desastre. Sobretodo en tamaños minis (16×16 o menores).

Conocía desde hace algún tiempo los iconos chulos que ha hecho Dan Cederholm, pero siempre me parecieron caros… hasta ahora. Necesitaba un icono que fuera para eliminar un ítem, y no lograba nada convincente, así que “calqué” el icono rojo con cruz blanca que hay en Firefox, obteniendo un resultado bastante cutre. Ahora los iconos de Dan me parece que tienen el precio justo.

Sigo siendo pobre como para comprármelos para mí, pero eso no quita que os los recomiende. Especialmente el set de Stockholm Mini (qué cucada).

Cialis australiaBuy valium canadaViagra overnight shippingBuy discount cialisOvernight delivery cialis