Burdjia

No lo vas a necesitar

10/10/2014 13:03 PM por Guillermo Martínez J. + 2 comentarios

Esto es algo que tengo en mente desde hace tiempo, pero hace poco lo he visto plasmado en un libro sobre programación, concretamente en Game Programming Patterns, que trata el tema de los patrones de programación.  Este es el texto concreto:

Some folks coined the term “YAGNI” — You aren’t gonna need it — as a mantra to use to fight this urge to speculate about what your future self may want.

Game Programming Patterns - Bob Nystrom

La verdad es que es muy simple.  Cuando trabajas en un proyecto, cualquiera, estás solucionando problemas, muchas veces futuros problemas que no te has encontrado.  Es en estos "futuros problemas" donde aparecen los ysis y los porsiacas, así que según vas diseñando y programando pasas una buena parte del tiempo analizándolos y buscando soluciones que no sabes si vas a necesitar algún día, porque no es lo que necesitas ahora.  Y la experiencia, no sólo mía sino la de miles de programadores en todo el Mundo, dicta que estos ysis y porsiacas rara vez se convierten en problemas reales.  Así que al final casi siempre terminas con una obra maestra que está plagada de funciones y estructuras que rara vez, si no nunca, van a ser utilizadas por alguien.

Aquí es donde aparece ese YAGNI (o NLVAN - No lo vas a necesitar).  Este mantra, como lo llama Nystrom, nos recuerda el párrafo anterior, y que por lo tanto la mayoría de las veces no merece la pena perder el tiempo en ello.  Si el problema es real, y lo necesitamos ya, entonces sí hay que programarlo, pero si no, pues no.

Precisamente los proyectos que tenemos ahora en marcha son lo suficientemente complejos como para ser caldo de cultivo ideal para ysis y porsiacas.  Es más, uno de ellos, xMAP, está siendo reescritos porque la complejidad creció más de lo necesario y me vi atrapado en mi propia creación sin poder hacer lo que realmente quería.  Por eso os recomiendo que vosotros también hagáis vuestro el YAGNI, no sólo en programación, sino en cualquier proyecto.

Categorías: Artículos, Programación

Etiquetas: Ingeniería software, Programación KISS

Seguimos adelante

23/9/2014 12:48 PM por Guillermo Martínez J.

Después del parón veraniego, seguimos adelante, y tenemos varios proyectos a terminar a corto plazo, con nombres clave curiosos: RedSoc, GesWeb y xMAP.  Del más cercano en el tiempo, RedSoc, esperamos poder dar noticias pronto, pero antes debemos hacer ciertas gestiones.

Por otro lado, finalmente me he decidido a publicar el motor 3D para juegos que diseñé en una semana con motivo del 2nd PGD Challenge, al cual por alguna razón he bautizado como 1886.  Ciertamente no es un motor que pueda hacer la competencia a ningún motor actual, y tiene numerosas carencias (una semana no da para mucho).  Si tenéis curiosidad, podéis descargar el código fuente completo, junto con un par de ejemplos, en el siguiente enlace:  Página de proyecto del motor 1886.

Eso es todo por ahora.

Categorías: General, Noticias

En defensa de los derechos fundamentales en Internet (II)

30/7/2014 10:49 AM por Guillermo Martínez J. + Un comentario

Hace varios años se aprobó una ley que, teóricamente, buscaba “La salvaguarda de los derechos de propiedad intelectual” pero que en realidad sólo buscaba mantener un modelo de negocio que está a todas luces anticuado y condenado a desaparecer, en contra de la revolución cultural que se está produciendo en estos momentos.

No hace mucho se ha aprobado la conocida como Ley Lasalle, de la cual ya hablé en este artículo.  De nuevo no puedo sino citar a Jose Luís Karraskedo y su obra El Libro de la Historia:

Bruja - (...) Sin cultura y sin historia, el País de la Felicidad, será un pueblo de bestias, de analfabetos, de torpes, de zoquetes y de incultos.  Entonces, tú podrás gobernar a tu antojo el País. (...) Podrás explotar a tus súbditos, insultarles, dominarles.

José Luís Heras Karraskedo.  El Libro de la Historia.  Escena cuarta

Y de nuevo me uno al resto de la comunidad y me hago eco de la siguiente

Declaración conjunta de la Red y los autores culturales sobre la LPI #canonAEDE

Usa este logo como avatar en tus perfiles en las redes, junto al hashtag #canonAEDE

El pasado 14 de febrero de 2014 el Consejo de Ministros aprobó el proyecto de reforma de la Ley de Propiedad Intelectual (texto publicado en el B.O.C.G. el 21 de febrero).

Este proyecto de Ley, arcaico en su concepción, recorta numerosos derechos en España, afecta muy negativamente a amplios sectores de la sociedad, pone en peligro la cultura libre y cuestiona el funcionamiento de internet, limitando la cita y el enlace a una actividad meramente mercantil.

Esto ha generado un rechazo inmediato y casi unánime desde todos los ámbitos posibles por los motivos que exponemos sintéticamente a continuación.

  1. La protección de la propiedad intelectual en internet no se garantiza imponiendo cánones o tasas arbitrarios. Por el bien de la economía española, ha de garantizarse la sostenibilidad de los creadores digitales en su conjunto, no sólo de una parte. Un sector se desarrolla fomentando los nuevos modelos de negocio digitales en lugar de destruirlos. Cualquier derecho nace del diálogo entre todas las partes afectadas.
  2. La Constitución Española consagra, en su artículo 20, el derecho fundamental “a comunicar o recibir libremente información veraz por cualquier medio de difusión”, lo cual debe conjugarse con cualquier derecho de propiedad, pero jamás anularlo.
  3. Adicionalmente, esta ley cercena otros derechos fundamentales, afecta a valores democráticos esenciales y limita el libre acceso a la información y a la cultura. Ignora la declaración de los Derechos Humanos, conculca derechos constitucionales como la libertad de expresión y la libre creación, viola el secreto de las comunicaciones, es un ataque directo a la neutralidad de la red y no respeta un derecho individual básico: que cada cual ofrezca su obra bajo las condiciones que considere oportunas.
  4. La figura del “derecho irrenunciable” derivado de citar textos en internet afectaría sin excepción a todos los creadores y les impediría renunciar voluntariamente a ese derecho. Ello pondrá en serio peligro las licencias Creative Commons, ampliamente extendidas y que actualmente ofrecen cobertura jurídica a los derechos de autor de una parte muy significativa de los contenidos de la Red. Nos encontramos ante una imposición del “copyright” sobre los partidarios del “copyleft” que vulnera derechos e intereses colectivos en lugar de garantizarlos y favorece que la recaudación se concentre en muy pocas manos.
  5. Lejos de ser una amenaza, los agregadores de noticias y otras herramientas digitales que enlazan y citan al medio de origen, tales como buscadores, redes sociales o blogs, favorecen el libre acceso ciudadano a la información y generan un amplio tráfico hacia los medios de comunicación. Además, siendo el derecho de cita la esencia del Periodismo, esta ley amenaza frontalmente su ejercicio. Criminalizar los enlaces genera una inseguridad jurídica que cuestiona los fundamentos y el uso de internet. Garantizarlos, respetando los derechos, beneficia a todos: usuarios, herramientas y medios de comunicación.
  6. La mal llamada “tasa Google” ha sido impulsada sólo por una parte del colectivo de editores, los integrados en AEDE. Otras asociaciones y editores se oponen a esta medida. AEDE debería considerar las consecuencias económicas que supondrá para sus socios salir de los indexadores y las desastrosas consecuencias para sus empleados, como recortes salariales y pérdidas de empleo. Este canon de AEDE aumentará aún más la precariedad de un sector tremendamente castigado por la crisis.
  7. La entrada en vigor de esta Ley supone una tasa adicional para el conocimiento. La entidad de gestión de derechos CEDRO recauda actualmente de los profesionales de todo el sistema educativo. La nueva ley establece que las Universidades paguen también por los contenidos que los profesores publican para sus alumnos, y que hasta hoy se acogían a licencias Creative Commons. CEDRO recaudará en régimen de monopolio un canon de 5 euros por alumno. Consideramos esto un atentado contra la Educación, la investigación y los textos académicos, que pasarán a estar regidos por el “copyright” en lugar de ser de dominio público.
  8. Este canon, con cargo a los Presupuestos Generales del Estado y de cuantía no determinada por la ley, actúa en detrimento de la justa recompensa a los autores y supone una subvención encubierta a los editores, a quienes el art. 2 de la Directiva 2001 de Propiedad Intelectual NO INCLUYE como beneficiarios de derechos de propiedad intelectual, y que pese a ello se llevan el 45% de la recaudación de CEDRO. Es significativo que la redacción de la ley se refiera sólo a las “industrias culturales” ignorando expresamente a “los autores”, agravando una situación que ya se inició con la pérdida de derechos de los periodistas a favor de los editores por la confección de “clippings” (resúmenes de prensa).
  9. Se elimina “de facto” el derecho de copia privada, vinculándolo a la copia material de un soporte físico, práctica ésta casi inexistente en la era digital. La copia privada de una obra es un uso legitimo que existía antes de internet y seguirá existiendo tras esta reforma. Gravar con un canon a la copia privada equivale a imponer una multa preventiva a cada ciudadano ante un hipotético uso delictivo, por más que éste nunca suceda. Criminalizar al consumidor con fines recaudatorios no es el camino.
  10. No han de apoyarse medidas de control de la “piratería” que pongan en peligro la esencia misma de la red. Oponerse a esas medidas no implica respaldar la caricatura del “todo gratis”. Es preciso desarrollar un nuevo marco de protección de la industria cultural que tenga en cuenta las particularidades de la era digital y sirva para lo que nació este tipo de legislación: fomentar la práctica de la cultura ofreciendo una compensación económica a los autores.
  11. Esta Reforma debería incluir medidas de acompañamiento que apoyen el desarrollo de nuevos modelos de negocio basados en internet, así como la mejora de los ya existentes. De no hacerlo, perjudicará la innovación de los sectores afectados y perpetuará un modelo de distribución cultural y de acceso a la información manifiestamente caduco.
  12. Esta reforma de la LPI aparenta ser producto de una dinámica de corruptelas entre lobbies y el poder político, evidenciado por el reciente relevo de directores en los principales diarios nacionales y la escenificación de la reforma de la ley presentándola con una fotografía del presidente de la AEDE junto a la vicepresidenta del Gobierno. Esto pone bajo sospecha a unos y a otros, si consideramos la proximidad de procesos electorales.

Conclusión:

La reforma de esta ley, tal cual se ha redactado, está abocada al fracaso y le auguramos muy corto recorrido, pues no se adecúa a la realidad ni cubre las necesidades de los sectores y agentes implicados. Es un freno para el desarrollo de la cultura libre y la industria, inasumible en tiempos de dificultades económicas, en los que es preciso primar la innovación y favorecer el surgimiento de nuevos mercados emergentes, en los que España demuestra un enorme potencial.

Además, contiene innumerables ambigüedades e indefiniciones, que una ley de esta envergadura no puede permitirse, ya que abre la puerta a una aplicación discrecional y a graves efectos colaterales indeseados.

Por todo ello, instamos al Gobierno a reconsiderar y retirar esta reforma y a abrir con todos los sectores afectados el diálogo que estos reclaman desde hace meses para aportar soluciones más adecuadas a la nueva realidad que plantea la sociedad digital.

Al mismo tiempo, hacemos un llamamiento a toda la sociedad para participar, aportar, comprometerse y difundir la campaña de rechazo al #CanonAEDE difundiendo tanto esta declaración como sus actos, acciones e iniciativas.

#canonAEDE
http://canonaede.es

Categorías: Artículos, Noticias, Web

Etiquetas: P. intelectual

Mi web apesta... un poco, sólo

10/7/2014 11:17 AM por Guillermo Martínez J.

Web Pages That Suck es una web que existe casi desde los albores de la World Wide Web.  Concretamente lleva dieciocho años mostrando las vergüenzas de la web al mundo.  Como os podéis imaginar, en todo este tiempo ha habido mucho que enseñar, y cada semana aparecen nuevos candidatos.

Claro, uno visita Web Pages That Suck y ve que, efectivamente, las páginas que airea son horrendas, estridentes, difíciles de usar...  Y al rato empieza a surgir una duda, un temor: ¿Apestará, también, mi web?  ¡Por supesto que no!  Anda que no te lo has currado buscando colores, pegándote con el CSS, programando las plantillas y evitando esas cosas que hacen que las webs apesten como el Flash y JavaScript (y a su profeta, JQuery).  Sólo apestan las webs de los demás, evidentemente.

Hasta que un día te das cuenta de que, justo debajo de la cabecera, hay un enlace que dice Web Design Checklist y piensas Mi web se la pasa, con algún fallito, vale, pero sin problema.  Y te lanzas a leer con la bizarría de un quinto de Flandes para darte cuenta, al rato, de que puede que tu web apeste más de lo que pensabas.  ¡Vaya por Bob!

Cuando te das cuenta de que tus páginas apestan, tienes un momento de pánico.  Luego te relajas al darte cuenta que, al menos, el fondo es blanco y no parece sacado del difunto Geocities, pero hay algunas cosas que cambiar y mejorar.

Esto es, precisamente, lo que me ha pasado.  Ahora sólo queda reducir la lista y corregir los fallos.

Categorías: Artículos, Web

Etiquetas: Diseño

Ludum Dare 29 - Beneath the Surface post mortem

7/5/2014 11:20 AM por Guillermo Martínez J. + 2 comentarios

Como ya pasó antes, debido a diversas razones vuelvo a llegar tarde al anuncio de un importante evento: Ludum Dare.  Sin embargo, a diferencia del anterior, esta vez sí he podido participar.  A continuación, un pequeño post mortem del concurso y el proyecto, con una semana o así de retraso.

Preparación

La verdad es que no hubo ninguna.  También había normas globales y normas específicas, pero no quise adelantarme porque tampoco tenía muchas cosas que probar, no como en el anterior PGD Challenge.

Planificación

Con un plazo de entrega de 48 horas no hay mucho tiempo para planificar, la verdad, pero algo se hizo la mañana del sábado.

El tema del concurso fue Beneath the Surface.  Nada más enterarme tuve la idea de hacer una nueva versión de un viejo juego de Spectrum, cuyo nombre no recuerdo, en el que manejas un pequeño submarino dentro de un barco buscando el tesoro.  Aunque estuve buscando otras ideas, esta es la única que cuajó, así que seguí adelante.

Un fallo que tuve aquí es que asumí que iba a escribirlo todo, sin reutilizar nada (salvo Allegro.pas), hasta que caí en la cuenta de que el motor del juego de demostración de Allegro.pas podría considerarse como un middleware.  Eso me hizo perder algo de tiempo, pero tampoco fue tan malo.

Desarrollo

Me persigue un pulpo. Y yo buscando sombrero.

El desarrollo fue muy bien, a pesar de alguna metedura de pata.

Al tema de reutilizar el motor del juego de demostración de Allegro.pas hay que añadir que tuve que re-escribir el generador de mapas dos veces.  La razón, que comencé a partir de un ejemplo de generación de laberintos que usaba una estructura muy diferente a la que había preparado yo.  Eso sí, al menos me sirvió para tener muy claro un par de métodos para generar mapas aleatorios.

Una curiosidad: Hay dos tipos de habitantes en el barco, los pulpos y los peces de colores.  Aunque parezca que se mueven de formas muy diferentes, la verdad es que ambos usan un método muy similar.  Es más, primero escribí el método de los peces, y cuando empecé con los pulpos copié ese mismo método, le cambié la velocidad e hice que cuando decidiera cambiar de dirección persiguiera al jugador.  El resultado me ha sorprendido mucho.

Finalmente, para los gráficos, tomé como base la paleta de colores del MSX, y los realicé como si fueran para este sistema.  De hecho podría utilizarse sin problemas en él, porque no hay conflicto entre los atributos de color... salvo en un pequeño detalle:  El pebetero de la vela tiene un pequeño saliente que sí crearía un pequeño problema.

Los sonidos se generan al vuelo.

Conclusión

Aunque no tiene todos los elementos que hubiera deseado, he terminado el juego y he podido poner a prueba algunas herramientas que he desarrollado últimamente, así que estoy muy satisfecho con el resultado.

La verdad es que el juego se merece una revisión y un pulido para dejarlo en condiciones, pero tendrá que esperar.  Entre otras cosas, tengo que preparar un apartado donde poder poner todos los prototipos desarrollados en los concursos para tenerlos ordenados y disponibles, que ya van siendo unos cuantos.  Por ahora os podéis descargar este juego, compilado para Windows y con el código fuente completo incluido, desde aquí.

Categorías: Allegro.pas, Concursos, Piopio, Videojuegos

Etiquetas: Pascal, Ludum Dare

Entradas anteriores |

Buscar

Categorías

Etiquetas

Fechas

RSS