Entradas para el mes Octubre de 2006

Nuevo sistema operativo para MSX y Amstrad

Lunes 30 de Octubre de 2006 a las 23:46

Como comenté en un post anterior hoy en día se sigue desarrollando para MSX. Y no solo juegos, sino que sorprendentemente también un sistema operativo multitarea.

Este sistema operativo se está desarrollado no solo para MSX sino también para Amstrad. El padre de la criatura es un tal Jörn Mika, el cual comenzó a desarrollarlo en el año 2000 y aunque esta muy avanzado todavía le faltan por finalizar algunos módulos.

No es simplemente un interfaz de usuario con ventanas, sino que es un sistema operativo con su propio kernel, sistema de gestión de ficheros, memoria, etc.

La página web del proyecto es la siguiente:
http://www.symbos.de/

Hay gente que además de talento tiene mucho tiempo libre :-)

Estadísticas

Domingo 29 de Octubre de 2006 a las 23:57

Para contar las visitas del sitio estoy utilizando dos sistemas: Statcounter y Google Analytics. Cada uno de los dos tiene sus ventajas y ambos son gratuitos. La ventaja de Statcounter es que se contabilizan las visitas en tiempo real, mientras que para las de Google hay que esperar un día aproximadamente para poder verlas. Las estadísticas de Google son más completas y tienen la ventaja de que se conservan todos los datos indefinidamente mientras que las de Statcounter se guardan algunos datos (los más importantes como el número de visitantes únicos, páginas visualizadas y visitantes que regresan) permanentemente pero de la mayoría solo se guardan los de las 100 últimas visitas.

Desde que estoy contando las visitas con statcounter que es desde el inicio del blog a finales de Julio he tenido 1.784 visitantes únicos y se han visualizado 3.683 páginas. Excluyendo, naturalmente, mis visitas ya que ambos sistemas permiten excluir las visitas provenientes de una determinada dirección I.P.

Los días que publico un nuevo post tengo entre 30 y 50 visitas diferentes aproximadamente y entre 50 y 100 páginas visualizadas. El resto de los días tengo entre 5 y 20 visitas únicas y entre 15 y 40 paginas vistas. Aunque hay algún día que ni llego a esas cifras o excepcionalmente las excedo.

SPAM

Miércoles 25 de Octubre de 2006 a las 23:49

Como no estoy cansado de recibir SPAM en el email ahora lo recibo también en los comentarios de los post del blog. Parece que un robot ha encontrado el blog y le ha gustado.

Espero no haber borrado ningún comentario valido por accidente al borrar los comentarios que son SPAM. Si no es así disculpad el error. Como medida inicial he configurado el wordpress para que no publique directamente ningún comentario que contenga más de un enlace y que tenga yo que autorizarlo manualmente.

Tengo intención de implantar un sistema de captcha para evitar el SPAM, espero que esta sea la solución definitiva al SPAM, aunque conlleva pequeñas molestias para los que quieran escribir un comentario. Si alguno lo usáis ya, por favor, dadme información al respecto.

Un gran día

Martes 24 de Octubre de 2006 a las 23:51

Hoy es un gran día. Por fin, después de echarle muchas horas al interprete del lenguaje de script que he creado, sin que se pudieran palpar resultados visibles, hoy he ejecutado las dos primeras sentencias correctamente. Simplemente ha sido la declaración de una variable y la asignación a esta del resultado de una expresión.

variable numerica j .
j = 1 + 2 * 3 + 4 .

Tras darle al botón ejecutar de la interfaz gráfica, el interprete ha realizado el análisis léxico, el sintáctico, el semántico y al no detectar en ninguna de dichas fases ningún error ha procedido a generar las instrucciones y posteriormente a ejecutarlas. Finalmente la variable j ha recibido el valor 11.

Un segundo script más complicado también ha sido ejecutado correctamente:

escribirEnConsola ( “a” + “b” + numericaACadena ( 3 + 2 ) ) .
variable numerica j .
constante numerica k = 3 .
j = 4 + 7 - 4 * k + 1 .
j = 1 + 2 * j + 4 .
j = 1 + 2 * ( j + 4 ) .
variable logica a .
a = ( 2 < 4 ) y ( 3 != 5 ) .
si a entonces
     j = 4 + 7 - 4 * k + 1 .
sino
     j = 3 .
fin si .
escribirEnConsola ( numericaACadena ( j ) ) .

variable numerica i .
i = 0 .
mientras i < 5 hacer
     escribirEnConsola ( “i = ” + numericaACadena ( i ) ) .
     i = i + 1 .
fin mientras .

Los tiempos consumidos en realizar esta segunda compilación y que devuelve la salida del compilador son los siguientes

Análisis léxico realizado correctamente en 78,125 milisegundos (0,078125 segundos)
Análisis sintáctico realizado correctamente en 140,625 milisegundos (0,140625 segundos)
Análisis semántico realizado correctamente en 15,625 milisegundos (0,015625 segundos)
Compilación realizada correctamente en 234,375 milisegundos (0,234375 segundos)

Y la salida de la consola:

ab5
-2
i = 0
i = 1
i = 2
i = 3
i = 4

El -2 puede extrañar a simple vista. Pese a lo que pudiera parecer el resultado es correcto, la cuestión es que se ha definido la asociatividad por la derecha en vez de por la izquierda.

Desarrollos para MSX

Lunes 23 de Octubre de 2006 a las 23:59

Hoy en día se sigue desarrollando para MSX, aquel ordenador con el que tanto disfrute. Existe incluso un concurso internacional de desarrollo para dicha plataforma.
Me parece interesante que se siga desarrollando para una plataforma tan antigua.

La empresa española nerlaska también esta desarrollando en la actualidad un par de videojuegos para MSX, que presentará en el msxdev’06.

Más información en castellano sobre el concurso: http://es.msx.org/MSXdev06.newspost3667.html

Estado del proyecto a 22/10/2006

Domingo 22 de Octubre de 2006 a las 23:58

He realizado los siguientes avances en el proyecto:

He incorporado al script la posibilidad de que un operando de una expresión (y por lo tanto un parámetro de una función ya que los parámetros son expresiones) sea una función. Que a su vez podría tener como parámetros otras funciones y expresiones, y así indefinidamente.

He creado el generador de instrucciones que a partir del árbol semántico genera las instrucciones que serán ejecutadas por el “Motor en tiempo de ejecución”.

También e incorporado varias funciones al motor que serán accesibles desde cualquier script, como funciones para convertir datos de unos tipos a otros, escribir en consola, etc.

Voy a dejar abierto el módulo de los scripts para que puedan ser utilizados independientemente del proyecto por otras aplicaciones y que estas puedan exponer sus propias funciones para hacerlas accesibles desde un script.

Terminé la aplicación de gestión

Sábado 21 de Octubre de 2006 a las 0:56

Por fin terminé la aplicación de gestión que he estado realizando estos últimos días. He tardado más horas de las que había previsto en un principio (esto suele ser normal en los desarrollos) y le he podido echar al día menos horas de las que esperaba. Es muy triste constatar el poco tiempo libre del que disponemos a diario.

Ahora ya me podré poner con el motor de aventuras gráficas. Ya tenía mono de programar cosas interesantes :-)

Aplicación de gestión

Domingo 8 de Octubre de 2006 a las 23:58

Últimamente tengo muy abandonado el blog, hace más de una semana que no escribo nada. Ahora mismo estoy liado con una aplicación de gestión que estoy realizando por encargo en mis ratos libres. Ya la tengo bastante avanzada y espero terminarla antes del puente de Octubre. Estoy deseando terminarla para ponerme de nuevo con el motor de aventuras gráficas.

El desarrollo de aplicaciones de gestión es tremendamente aburrido, es una tarea realmente monótona. Apenas requiere hacer uso del cerebro y supongo que se podría llegar a entrenar a chimpancés para que hicieran este tipo de aplicaciones.
Es tan sencillo y monótono que se puede automatizar el desarrollo de gran parte de las aplicaciones. He desarrollado varios generadores de aplicaciones que crean el 80% del código, incluyendo los procedimientos almacenados. La creación de un generador de aplicaciones es una labor bastante interesante.