vt.h - Permite posicionar el cursor, borrar la pantalla, cambiar el color del texto, etc, sin necesidad de utilizar la librería curses ya que envía directamente los comandos VT100 via printf. Mas sencillo imposible.
raw_keyboard.h - Permite acceder a bajo nivel y de forma no bloqueante al teclado. De esta forma podemos también leer las teclas no ASCII y, además, hacerlo de forma no bloqueante. La función raw_keyboard_read() devuelve -1 si no hay ninguna tecla pulsada y, en caso de que haya alguna pulsada, el código ASCII o, en su defecto, alguna de las constantes KEY_XXXXXX.
Junto a esta dos pequeñas librerías, he puesto un prqueño programa llamado setled.c que permite controlar los leds del teclado mediante ioctls. Para más info sobre la programación de la consola:
http://www.w00w00.org/files/articles/conioctls.txt
[ añadir comentario ] ( 1840 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 2153 )
¡Quién lo iba a decir! :-). David, el guitarra el grupo tiene, ni más ni menos, que una mítica TR-626: Una caja de ritmos que comercializó Roland en 1987 y la primera basada totalmente en instrumentos muestreados a 12 bits (toda una revolución para la época). Esta máquina hizo las delicias de los grandes clásicos de la música de baile de aquella época.
Todo un lujo vintage :-). Los sonidos son ochenteros total pero suena muy bien. El mecanismo de edición de patrones y pistas es bastante arcaico lógicamente y se basa en combinaciones de teclas, el uso de la tecla "shift", pulsar algunas teclas simultáneamente, etc. De todas formas, una vez le coges el tranquillo haces patrones de ritmo como churros, sobre todo gracias a la función step write. El manual sólo está disponible gratuitamente de la web de Roland Bélgica (http://manuals.roland.be) en francés y holandés. Afortunadamente se trata básicamente de una TR-505 con mejores sonidos y de esta última si que hay manuales y tutoriales en inglés por un tubo y en un montón de webs. Lo dicho, un lujo para los nostálgicos.
Más info sobre la TR-626 aquí.
[ 1 comentario ] ( 1666 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3 / 2205 )
En la sección soft he puesto la primera versión de un sistema de backups cliente/servidor basado en scripts bash y xinetd que estoy desarrollando. Es super minimalista y sólo se requiere la instalación de un script bash en el cliente y de otro script bash en el servidor junto con un fichero adicional de configuración para xinetd.
nanoBackup utiliza las capacidades de conexión mediante sockets de la shell bash, realiza copias de seguridad cíclicas y permite lanzar scripts pre-envío y post-envío en el cliente. El servidor almacena las copias de seguridad en una estructura en disco y son los clientes los que, de forma periódica, envían las copias comprimidas al servidor.
La restauración de las copias es sencilla, puesto que los ficheros que se almacenan en el servidor tienen un formato estándar tar.gz. Para más info, echarle un vistazo al fichero README que se incluye.
nanobackup-0.2.tar.gz - Nueva versión con control MD5.
[ 1 comentario ] ( 8688 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | enlace relacionado | ( 3 / 2212 )
El 29 de abril en el marco de la RU de MSX de Barcelona se pondrá a la venta el nuevo número de la revista Call MSX. Entrevistas, nuevos artículos, análisis de juegos, trucos y mucho más :-D. Uno de los artículos, sobre compresión Huffman, lo redacté yo así que ya saben, a pillársela ;-)
Se puede ver un pequeño avance del contenido de la revista en la página oficial http://callmsx.gabiot.com.
[ 1 comentario ] ( 1396 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | ( 3.1 / 2544 )
La shell bash que todos los linuxeros tenemos en nuestras flamantes distribuciones no deja de sorprenderme. Resulta que es posible abrir sockets cliente mediante un único comando desde la misma shell:
# abrimos el socket
exec 5<>/dev/tcp/www.google.es/80
# enviamos la cadena GET
echo -e "GET www.google.es/ HTTP/1.0n" >&5
# nos traemos la página
cat <&5
# cerramos el socket
exec 5<&-
Con este código podremos traernos la página principal de http://www.google.es ¡¡desde la shell!!. Bien es cierto que para poder utilizar esta capacidad de la bash es necesario que haya sido configurada para ello, pero también es cierto que sólo he visto una distro de Debian que no tiene compilada esta opción. En el resto de distribuciones que he probado (Fedora Core, Mandrake y Gentoo) este código funciona sin problemas :-)
Más info sobre sockets en bash aquí.
Por otro lado, en la sección soft he actualizado el fichero TrucosSwing.tar.gz y le he añadido una nueva clase: JComboBoxButton.
JComboBoxButton es un componente que hereda de JComboBox y que muestra un botón en lugar de la etiqueta cuando no se encuentra desplegado. Muy util para implementar botones multifuncionales. aquí y aquí se puede ver el componente en acción.
[ añadir comentario ] ( 1324 visualizaciones ) | [ 0 trackbacks ] | enlace permanente | enlace relacionado | ( 3 / 2235 )