Skip to content

personal

Pixel-Art, y algo más

Hace unos días abrió sus puertas PIXEL-SPAIN, un foro en castellano dedicado al Pixel-Art.

Como me parece una muy buena idea que exista un sitio de estas características me he decidido a colaborar con la web desempolvando algunos de mis antiguos trabajos (no siempre he visto la vida desde la perspectiva de un coder, eh!).

Como muestra un botón (currado pixel a pixel):

Goku

En el foro he puesto otras imágenes, así que no dejeís de visitarlo y poner vuestras propias aportaciones. A ver si crece y empieza a reunir material interesante. Hay muchos pequeños temas que deben resolverse a la hora de crear imágenes y siempre es interesante ver la opción que toma cada cual. A mi siempre me falló la creatividad, siempre copiaba de imágenes en papel, tebeos normalmente. Ahora sigo haciendo lo mismo, pero con remakes de programas: Mahjong, Solitario, Colors, Sudoku, …

Creo que yo también debería hacer un foro, para que los “Game Designer” expusieran sus ideas a partir de pequeños retos que plantease la gente, como por ejemplo hacer un juego que se base en hacer sonar una bocina, o en el que protagonista sea un número, o que NO pudiera jugarse con ratón, … Aunque en vez de retos también podría funcionar para proponer, refinar o mejorar conceptos, diseños, jugabilidad, …

El próximo proyecto que quiero abordar es un pequeño juego para móviles utilizando J2ME (mi primera vez XDDD). Algo pequeño, sin mucha parafernalia gráfica, que pueda hacerse en 3 ó 4 semanas utilizando sólo tiempo libre, y que no resulte demasiado complejo. Pero no quiero hacer otro remake, asi que … ¡necesito ideas!

¿Algún interesado en ver materializada su idea en forma de programa?

Estándares

Muchos programadores creen que los estándares de codificación no deberían existir, que utilizar espacios en vez de tabuladores, o escribir los nombres de las variables y métodos siguiendo un determinado estilo, es realmente innecesario, que lo que realmente importa es que el programa funcione y cuanto antes mejor. Y si bien la dinámica de trabajo actual de la mayoría de las empresas de software, con sus grandes objetivos y ajustados calendarios, favorecen este tipo de pensamiento pragmático, lo cierto y verdad, es que a la larga, no utilizar estos estándares puede resultar altamente perjudicial, no sólo económicamente hablando sino también personalmente.

Para entender esta afirmación creo que lo mejor es irse a uno de los extremos y observar la situación desde ese punto de vista. La pura y cruda realidad es que las empresas se crean para ganar dinero, y nuestro objetivo como empleados es hacerla ganar cuanto más dinero mejor. La escritura de código no puede plantearse como una forma de realización personal, como una oportunidad de creación de nuestro particular estilo. No escribimos código sólo porque nos guste, sino porque nos pagan por ello. Y para conseguir que la empresa gane más dinero con nosotros tenemos que escribir código que resulte fácil de entender y mantener. ¿Y que mejor forma de hacerlo que generando un código uniforme?

Esto no significa que en el trabajo no deba existir margen para la creatividad. Nadie propone volver a las cadenas de montaje de la revolución industrial en la que se anulaba la personalidad de los individuos mediante la realización de tareas repetitivas. Los estándares deben aplicarse de manera firme, pero deben definirse de manera flexible para adaptarse a distintas formas de hacer las cosas. El concepto de “propiedad” que tienen los programadores de su código es bastante alto, porque es el fruto directo e inmediato de su trabajo, y no puede despreciarse a la ligera su importancia.

Uno de los problemas de fondo es que normalmente el uso de estándares se confunde pensando que consiste en escribir código de forma aburrida, pero es una idea equivocada, se trata de escribir código de una forma práctica. Empezar la semana un lunes por la mañana utilizando un guión bajo para los nombres de los parámetros, en vez de usar una “p” como se había hecho hasta la fecha puede resultar una buena idea en ese momento, pero un verdadero dolor de cabeza cuando haya que depurar, y ejecutando paso a paso, de método en método, veamos como la nomenclatura cambia en cada fichero de código. Este es el tipo de comportamiento que consigue que incluso los mejores programadores se muestren muchas veces reticentes a la hora de acometer cambios en el software construido por otros. Porque ven trozos de código que piensan que hay que agarrar con pinzas y entrarle con la mascarilla antigás puesta, simplemente porque no entienden su disposición y estilo. Todo resulta extraño y confuso. Naturalmente, otras veces simplemente ocurre que el código es realmente malo.

Además, hay otro beneficio que aporta el uso de estándares que raramente se tiene en cuenta, y es que reducen el stress de los programadores a la hora de enfrentarse a su tarea de elaboración de código, porque no hay que empezar a pensar en todos los pequeños detalles de nomenclatura o identación, sólo en el problema a resolver. Es más, los estándares permiten partir de plantillas predefinidas y dejar la verificación de su cumplimiento a posteriori, posiblemente de forma automatizada mediante pequeños scripts que hagan uso de expresiones regulares.

Foro Único

Me gustan los foros especializados, pero no me gusta perder el tiempo buscándolos. Me gustaría tener un único sitio web (o unos pocos, para fomentar la sana competencia) en el que pudiera hacer una pregunta, y esa pregunta se colgara automáticamente en los foros adecuados. No me bastan con los buscadores que proporcionan links, porque no proporcionan una respuesta concreta a una pregunta concreta, que es lo que yo quiero. Y por supuesto, también quisiera que las respuestas llegaran automáticamente a mi cuenta. Por pedir, que no quede.

Esta ¿utopía? sería posible si los foros se preparasen para admitir que un programa, y no un humano, pudiese abrir threads automáticamente. Algo que rechazan todos los sitios actuales para evitar la publicidad no deseada (aka spam), y que podría intentar solucionarse mediante alguna clase de programa de afiliación, de forma que sólo los foros que realmente lo quisieran recibieran estas preguntas, pudiendo limitar el número de preguntas, la aparición de algunas palabras concretas, etc.

Aunque realmente, la idea que más me atrae sería la posibilidad de que no fueran los foros los que esperasen recibir “pasivamente” preguntas como lo hacen actualmente, sino que actuaran de forma “activa” en busca de preguntas.

¿Existe algún servicio así?

Desviar la atención

Cuando hablo con alguien al que acabo de reparar el ordenador, por culpa generalmente de algún virus, dialer o cualquier otro tipo de spyware, me queda siempre la sensación de que se sienten culpables. Antes o después me acaban formulando la misma pregunta: ¿qué he hecho mal?. Mi respuesta suele ser más o menos siempre la misma, digo que utilizar un ordenador hoy en día no es fácil, que se requieren ciertos conocimientos, que los libros de instrucciones hay que leérselos, y en definitiva, que los ordenadores todavía no son electrodomésticos, desgraciadamente. Bastante preocupaciones ofrece ya la vida diaria como para sentirse culpables además de algo que ni tan siquiera llegamos a comprender.

Aunque también existe otros que reaccionan de forma distinta. Estos le echan la culpa directamente al sistema operativo. Es sistemático. No voy a negar que a veces lo sea, pero tampoco admito que sólo por eso uno se sienta autorizado a escribir el nombre del fabricante utilizando el símbolo del dólar, y concluir que cualquier producto de la compañía, sólo por ser de quién es, no puede funcionar bien.

Creo que ambas actitudes son equivocadas, que pierden el verdadero origen del problema. El problema son las personas que programan esos virus, esos dialers, y todo ese tipo de spyware. No hay que buscar en ningún otro sitio, ellos son el único y verdadero problema. Lo que me parece realmente increíble es que nunca nadie parece acordarse de ellos. Tratan de engañarnos, y nosotros nos echamos la culpa a nosotros mismos o intentamos matar al mensajero.

Los verdaderos culpables parecen conseguir pasar desapercibidos muy fácilmente. Y es que, después de pensarlo un rato, he llegado a la conclusión de que esto en realidad es bastante más fácil de conseguir de lo que parece. Porque si yo fuera uno de estos malintencionados, siempre dedicaría parte de mi jornada a escribir en todos los foros que conociera frases como “…creo que he roto el ordenador…”, “…sabía que lo estaba haciendo mal…”, “…la culpa es mía…”, “…la culpa es del @#!$% de Window$…”, “…menudo coladero…” o “…cómo puede ser tan malo…”. O sea, me dedicaría a desviar la atención.

“El mayor logro del demonio fue hacernos creer que no existe”

Por el buen uso del CVS

No entiendo por qué algunas personas se empeñan en dejar grandes cantidades de código comentado cuando se está usando un sistema de control de versiones. No tiene sentido. Cuando se sube una nueva versión de un fichero, la versión anterior permanece tal y como estaba, de forma que se pueden bajar las dos para compararlas. No hay necesidad de ir arrastrando TODO el código original de una versión a otra.

Puedo entender que se deje una línea con un comentario cuando la modificación es algo difícil de ver, para evitar volver a generar un mismo error por ejemplo, pero para lo que no veo justificación alguna es para la manía de dejar todo el código antiguo.