martes, 24 de julio de 2007

Gambas tutorial

Gambas is an IDE ("Integrated Development Environment") oriented towards RAD ("Rapid Applications Development"), like the popular propietary programs Microsoft Visual Basic or Borland Delphi.You may read the tutorial here: Gambas Tutorial.

Partida interminable

Una partida interminable de Xgalaga ;-)

El truco: iniciar Xgalaga en linea de comandos pasándole un -level muy, muy alto.

[youtube NkGBAUPCEc8 nolink]

lunes, 23 de julio de 2007

Pitch & Tunning Studio

Pitch & Tunning Studio es un pequeño programa que sirve para evaluar las diferencias que hay entre los distintos sistemas de afinación de la música occidental (pitagórico, temperado y natural, entre otros).



Está desarrollado con el lenguaje Tcl/Tk y la librería Snack [1]

Por cierto, creo que es el último programa que escribo con este lenguaje.

No llega a 400 líneas de código y he acabado mareado con la sintaxis extraña de Tcl. En mi opinión y para mi gusto, sirve para programas cortos y scripts sencillos, pero no me veo a mí mismo escribiendo (y manteniendo) algo que tenga más de 1000 líneas de código con Tcl.

Además, el aspecto de los "widgets" es horroroso ;-)
A ver si encuentro algo parecido a Snack pero que no esté "atado" a un "toolkit" determinado. Y si lo puedo usar con Python, mejor que mejor.

Nota 1: realmente es impresionante lo que se puede llegar a hacer con Snack. En la distribución estándar vienen bastantes ejemplos (en Windows, en el directorio c:tcldemosSnack y en Linux, bajo /usr/share/doc/libsnack2/examples). Mis preferidos son generator2.tcl y formant.tcl, un generador o sintetizador de ondas estéreo y un sintetizador de formantes:


Como decía más arriba: ¡qué pena que Snack esté tan ligado a Tk!

Tira nº 55: censura



Penti está haciendo un poco el ridículo, pero no es el único.

miércoles, 11 de julio de 2007

WinMMA

Como comentaba en otras entradas, utilizo bastante el programa MMA. Al ser un programa en línea de comandos y con un fuerte "sabor UNIX" los usuarios de Windows pueden encontrarlo un poco árido y difícil de utilizar.

El proyecto WinMMA pretende ayudar a los usuarios de Windows que quieren utilizar MMA. Actualmente consta de un instalador que incluye MMA, documentación, un editor de texto (SciTE) preconfigurado y un editor "visual" (LeMMA) y otros archivos de soporte (intérprete de Python, librerías, etc).

miércoles, 4 de julio de 2007

Tira nº 53: el anuncio de un regreso



Hola de nuevo.
Esto es un nuevo intento de continuar con "La tira de Penti y Atlo".
Intentaré que al menos sea quincenal, pero no prometo nada ;-)

domingo, 1 de julio de 2007

Depurar PHP con Eclipse

Curioseando un rato ya encontré la forma de depurar PHP con Eclipse. Eso de saber por dónde va el código a base de sentencias echo y var_dump no es muy serio.

La empresa Zend proporciona un "plugin" basado en PDT que incorpora un producto llamado "Zend Debugger". En el momento de escribir ésto la versión "estable" de PDT es la 0.7, si bien existe una versión 1.0 que sólo funciona con Eclipse 3.3. El plugin que proporciona Zend se basa en PDT 1.0, pero funciona con Eclipse 3.2.

La instalación es muy fácil, en la página de Zend se describe. Sobre una instalación de Eclipse sólo hay que irse al "Update Manager", poner la URL de Zend (http://downloads.zend.com/pdt) y listo.

Al grano. Veamos cómo se depura.

Tenemos un script muy sencillo (hola.php):

<?
$uno = "Hola, ";
$dos = "mundo";
echo $uno . $dos . "!";
?>

Veamos cómo se depura. Creamos un "PHP Project" y un archivo "PHP file".

Haciendo doble click en el margen del editor de código se añade un punto de interrupción.

Añadir punto de interrupción

Con el botón derecho, damos al menú "Debug as PHP Script". Se nos cambia a la perspectiva de PHP Debug y empieza la fiesta: podemos examinar y modificar el contenido de variables, poner más puntos de interrupción, saltar funciones, lo típico en un depurador.

Ejecución interrumpida a voluntad Ejecución interrumpida a voluntad

Lo que todavía no he conseguido es depurar las peticiones enviadas por el navegador ("Debug as PHP Web Page"). Estamos en ello ;-)