General & Web lrmedel on 12 Jun 2008
CanvasEngine & Desarrollo & Javascript & Juegos & Web lrmedel on 21 May 2008
Juega al Tetris en tu navegador
Lo sé. No es impactante. Ya hay miles de juegos que se pueden ejecutar desde el navegador.
Lo que siempre me ha fastidiado de esos juegos es que, o bien requieren Flash, o bien Director (u otras mamarrachadas por el estilo) o bien están implementados realizando auténticas barbaridades con las capas del documento (moviendo miles de capas a la vez para simular sprites) o están hechos en Java…en fin. Que no hay muchos juegos que se apoyen en una tecnología que venga incluida en una instalación estándar de un navegador. Al final, si quieres jugar, necesitar tener tal o cual plugin instalado.
Todo el mundo necesita un rato de diversión y yo no soy una excepción. Precisamente ayer, en un rato de aburrimiento, comencé a escribir una biblioteca para programar juegos en Javascript que se apoya en la etiqueta Canvas que implementan algunos navegadores (y que el resto hará pronto), por lo que no se requieren plugins de ningún tipo para poder ejecutar los juegos.
Aunque aún no he liberado la biblioteca por no estar finalizada (al menos tanto como a mí me gustaría) hoy he programado el primer juego para ver qué tal se portaba; tras 2 horas y media tenía ante mí un pequeño clon de Tetris que podréis encontrar en este enlace.
Espero que tengáis tiempo para echar una partidita y podáis avisarme si encontráis algún error ![]()
Encuentros & General lrmedel on 09 May 2008
I Encuentro Rural de Blogs
El amigo pacoxxi está organizando en Abla (Almería) lo que será el I Encuentro Rural de Blogs. Durante los días 17 y 18 de Mayo se reunirán un buen número de bloggers rurales (y no rurales) que desde sus blogs abanderan la innovación, desarrollo y e-cultura.

Un evento que, viendo el programa, se presenta más que interesante. Contará con la participación de Diego Sevilla, Juan Pablo Seijó y Sonia Blanco entre otros. En la página oficial podéis encontrar más información así como el formulario de inscripción.
Sin duda, un plan excelente para un fin de semana.
Desarrollo & Web lrmedel on 06 May 2008
lmcstyle: Una plantilla para DokuWiki
Tras varios meses utilizando “de prestado” la plantilla Sandy para DokuWiki , me he decidido a intentar crear una propia para utilizarla tanto en el wiki, como en el blog. De momento tengo las versión para DokuWiki lista y funcionando y, en cuanto tenga un poco de tiempo, haré lo propio con la versión para WordPress.
Si utilizas DokuWiki y necesitas una plantilla, puedes probar lmcstyle y decirme qué te parece.
Desarrollo & Opinión & Seguridad & Web lrmedel on 28 Apr 2008
Inyección SQL masiva
Leyendo mis toneladas de feeds atrasados, veo una noticia en Kriptópolis que me llama bastante la atención: recientemente ha habido un ataque masivo de inyección SQL contra servidores IIS corriendo SQL Server que provoca la inyección de código JavaScript malicioso en todas las páginas servidas que contengan datos provenientes de la base de datos.
Leyendo a fondo el artículo de F-Secure veo que hay alrededor de 500.000 sitios afectados. El ataque en sí no aprovecha ninguna vulnerabilidad específica de IIS, sino que se aprovecha de la negligencia e ineptitud de algunos desarrolladores desaprensivos para ejecutar en el servidor SQL Server un script que modifica todos las columnas de tipo texto que encuentra.
Los culpables, ya lo comenté en mi charla sobre seguridad, son, por un lado las empresas, que suelen poner a gente sin los mínimos conocimientos al frente de los desarrollos web y, por otro, los desarrolladores incompetentes que desconocen una parte fundamental de su trabajo (no todo se reduce al saber buscar el último Nero en el eMule, amigos)
Por mi parte, tras leer los artículos anteriores, me interesaba saber qué sitios relacionados de alguna manera con Almería se habían visto afectados por el ataque. Una pequeña búsqueda (¡no entréis en ninguno de esos enlaces, por favor!) me daba un resultado espeluznante: La página de los juegos Almería 2005.
Sacad vuestras propias conclusiones.
Desarrollo & General & Python & Software Libre & Web lrmedel on 24 Apr 2008
simplesession: Control de sesiones para Google App Engine
![]()
Hace ya algunos días os hablaba del lanzamiento del servicio Google App Engine. Pues bien, el mismo día de su aparición comencé a jugar con el SDK mientras esperaba pacientemente la llegada de mi invitación para probar el servicio -en un principio, el servicio se ha limitado a 10.000 desarrolladores.
Por cierto, hace algo más de una semana que tengo mi solicitud aceptada y estoy finalizando algunos retoques de la primera aplicación que voy a subir
La cuestión es que, como era de esperar, no todo es maravilloso. Como seguramente ya sepáis, los chicos del Googleplex han decidido incluir como único sistema de control de sesiones su API de gestión de usuarios, con lo que obligan a todo el que quiera utilizar nuestra aplicación a ser primero usuario de Google y estar validados en el sistema antes de acceder a nuestro servicio.
Existen multitud de módulos escritos en Python que permiten esta tarea y portarlos a la plataforma de Google no supone mayor problema. Pero qué caray, lo divertido es hacerlo uno mismo, ¿verdad?
Ni corto ni perezoso, me he puesto manos a la obra y en poco más de un cuarto de hora he conseguido tener listo un pequeño módulo, llamado simplesession, que se adapta perfectamente a Google App Engine -usa BigTable como almacenamiento- y que requiere muy poco proceso en cada solicitud (recordad que el tiempo de CPU del que disponemos es limitado)
A partir de ahí he creado un sistema de cuentas de usuario bastante aceptable (otro día lo subiré) con lo que no necesito para nada el API “oficial” que me proporciona Google. Aunque simplesession está escrito teniendo en cuenta mis necesidades, espero que pueda ser de utilidad para todos los interesados en desarrollar bajo esta plataforma.
Como siempre, en la sección de artículos está el enlace al desarrollo y el fuente de simplesession.
IES AL-Andalus & Jornadas SLCENT & Software Libre & Web lrmedel on 10 Apr 2008
Charla sobre seguridad en desarrollos web
Como ya os comenté, ayer tuve la oportunidad de dar una pequeña charla sobre seguridad en desarrollos web. El ambiente fue estupendo y los que estuvimos allí lo pasamos a lo grande.
Al finalizar la charla hubo gente que me pidió la presentación, así que he montado un apartado en el Wiki desde donde os la podéis descargar (para que realmente sea de utilidad tengo pendiente hacerme con el vídeo de la charla y montarlo junto con las diapositivas).
Podéis acceder a la presentación desde aquí.
Desarrollo & Google & Opinión & Python & Web lrmedel on 09 Apr 2008
Google App Engine
Ayer a primera hora me desperté con una agradable noticia. Google ha lanzado Google Apps Engine. Se trata de un nuevo servicio de “cloud computing” que nos permitirá ejecutar aplicaciones escritas en Python -está previsto añadir más lenguajes- en los propios datacenters de la compañía.
Aunque lo pueda parecer, no se trata de un simple servicio de hospedaje con posibilidad de correr Python: se trata de un entorno destinado al proceso masivo datos -al menos así lo entiendo yo-. De hecho, no existe posibilidad de escribir datos en disco (y algunas otras limitaciones que ahora veremos).
El sistema cuenta con el runtime Python 2.5 y para almacenamiento de la información han desarrollado una API de acceso a BigTable, la tecnología de almacenamiento distribuído que ha desarrollado Google. Además, existen distintas APIs para envío de correo y acceso a URLs externas.
Entre otras cosas, tenemos la ventaja de que, en caso de necesitar cada vez más recursos, el sistema escalará automáticamente sin necesidad de que tengamos que preocuparnos por los aspectos técnicos.
Aunque en un principio se trata de una versión inicial cerrada para 10000 desarrolladores -estoy esperando que llegue mi turno para probarlo- han prometido abrirlo pronto para el público en general con unas condiciones bastante interesantes: habrá posibilidad de pagar por esos servicios (a precios competitivos, dicen) y también crear cuentas gratuitas que contarán con algunas limitaciones (las podéis ver en detalle aquí):
- 3 aplicaciones por desarrollador
- 500 MB de almacenamiento
- En los accesos al datastore tendremos un tope de 1000 registros en cada consulta y un máximo de 2.500.000 accesos diarios.
- Podremos hacer uso de 200 millones de megaciclos de CPU diarios.
Además de lo anterior, las cuentas gratuitas no podrán ejecutar procesos fuera de una transacción HTTP (procesos planificados) ni podrán tardar más de un tiempo determinado en devolver una respuesta. De todas formas supongo que si necesitamos más recursos siempre los podremos pedir amablemente
El anuncio de este servicio me ha llegado en un momento en el que me encontraba mirando en la dirección de Amazon y sus fantásticos Amazon Web Services para desarrollar un pequeño proyecto personal basado en un datawarehouse y que preveo que, por su naturaleza, crecerá bastante en poco tiempo.
De momento me he descargado el SDK para jugar un poco y lo que estoy viendo me va gustando (con sus “peros”, seamos sinceros).
Habrá que esperar un poco a ver qué ofrecen Larry y Sergey para decidirme qué servicio contratar.
General & IES AL-Andalus & Software Libre & Web lrmedel on 04 Apr 2008
IV Jornadas SLCENT en Almería
Los días 9, 10 y 11 de Abril se celebrarán las IV Jornadas sobre Software Libre, Cultura Emprendedora y Nuevas Tecnologías en el Instituto Al-Andalus. Se trata de una iniciativa muy interesante que por suerte se está consolidando y nos brinda una oportunidad excepcional para aprender y charlar sobre los temas que nos interesan a muchos de nosotros.
Este año me han ofrecido la oportunidad y daré una pequeña charla sobre seguridad en desarrollos web el miércoles día 9 que espero disfrutéis los que podáis estar allí disfrutando de las jornadas.
Si deseáis acudir, el día 9 será día de puertas abiertas y os podéis registrar como visitantes en la página del instituto.
En barrapunto se han hecho eco de la celebración de las jornadas esta misma mañana ![]()
Desarrollo & General & Web lrmedel on 28 Mar 2008
15 años de imágenes
¿Cuál ha sido la clave del éxito de Internet? ¿La posibilidad de compartir conocimiento con el resto del mundo? ¿Quizás la supresión de las distancias gracias al uso del correo electrónico?
En mi opinión, el éxito se ha debido a que la gran masa -esa que, dejando de lado los aspectos técnicos, decidió que VHS prevaleciera sobre Beta, que OT era un programa de calidad o que alguna película de Almodóvar fuese merecedora de algún premio- la gran masa, como decía, pudo ver las capacidades que la Red tenía. Y todo comenzó el día que a alguien se le ocurrió incluir una nueva etiqueta en el, por entonces, primitivo HTML.
Hace la friolera de 15 años, el 25 de Febrero de 1993, a las 21:09, Marc Andreessen publicó el siguiente mensaje:
I'd like to propose a new, optional HTML tag:
IMG
Required argument is src="url".
This names a bitmap or pixmap file for the browser to attempt to pull
over the network and interpret as an image, to be embedded in the text
at the point of the tag's occurrence.
An example is:
<img src="file://foobar.com/foo/bar/blargh.xbm" />
(There is no closing tag; this is just a standalone tag.)
This tag can be embedded in an anchor like anything else; when that
happens, it becomes an icon that's sensitive to activation just like a
regular text anchor.
Browsers should be afforded flexibility as to which image formats they
support. Xbm and Xpm are good ones to support, for example. If a
browser cannot interpret a given format, it can do whatever it wants
instead (X Mosaic will pop up a default bitmap as a placeholder).
This is required functionality for X Mosaic; we have this working, and
we'll at least be using it internally. I'm certainly open to
suggestions as to how this should be handled within HTML; if you have
a better idea than what I'm presenting now, please let me know. I
know this is hazy wrt image format, but I don't see an alternative
than to just say ``let the browser do what it can'' and wait for the
perfect solution to come along (MIME, someday, maybe).
Let me know what you think.........
Cheers,
Marc
--
Marc Andreessen
Software Development Group
National Center for Supercomputing Applications
marca@ncsa.uiuc.edu
(Recomiendo que leáis el hilo de discusión completo porque resulta bastante interesante)
Tras esto, sólo hubo que poner de acuerdo a algunos colegas y la industria del porno hizo el resto.
