"Scratch es un lenguaje de programación que hace fácil crear tus propias historias interactivas, animaciones, juegos, musica y arte -- y compartir tus creaciones en la red.Eso es lo que dicen de este proyecto en su web, solo cabría añadir que fue desarrollado en el MIT y que el código está basado en "bloques" de instrucciones, no en texto, haciendolo muy visual y evitando errores sintácticos.
Cuando la gente joven crea y comparte proyectos de Scratch, aprenden importantes ideas sobre las matemáticas y la computación, mientras aprenden también a pensar de forma creativa, razonar systematicamente y trabajar colaborativamente."
domingo, 31 de octubre de 2010
Probando scratch
Etiquetas:
scratch
sábado, 30 de octubre de 2010
Un autómata celular para generar números pseudo-aleatorios
La idea no es la primera vez que se oye, creo que fue Wolfram quién lo propuso en su momento, pero el concepto no deja de ser curioso, y el otro día trasteando con Golly me encontre con que una pequeña variante del juego de la vida de Conway, con la diferencia de que una "célula" también puede "nacer" si tiene 4 vecinos (y no solo 3) llamado "3-4 life", que hace que patrones sencillos crezcan indefinidamente quedando el contenido en su interior algo aleatorio, esta es una simulación de las 250 primeras generaciones [http://videobin.org/+2be/2ly.html].
Etiquetas:
automata celular,
C,
pseudo aleatorio
SniperlCat 0.3, suma y sigue
Pues nada, nueva versión de sniperlcat, los cambios son:
- Los avisos los hace un script a parte, eliminando GTK de las dependencias y haciendo que no haya que trastear en el código para que haga algo distinto con los avisos.
- Corregido al bug que lo volvia paranoico al cerrar el dispositivo...al final solo había que reabrirlo =)
- Añadida la opción de poner a la escucha un puerto cualquiera para detectar los scanners que se conectan a el, si se utiliza varias veces se escuchan varios puertos (cada uno en un hilo distinto).
- Los avisos los hace un script a parte, eliminando GTK de las dependencias y haciendo que no haya que trastear en el código para que haga algo distinto con los avisos.
- Corregido al bug que lo volvia paranoico al cerrar el dispositivo...al final solo había que reabrirlo =)
- Añadida la opción de poner a la escucha un puerto cualquiera para detectar los scanners que se conectan a el, si se utiliza varias veces se escuchan varios puertos (cada uno en un hilo distinto).
Etiquetas:
Perl,
redes,
sniperlcat
viernes, 29 de octubre de 2010
Invertir los canales de sonido
Otro script más que engrosa las listas de lo programado solo por programar [http://pastebin.com/FzQmDxKP].
Recibe como parámetros el archivo original y el nombre del que se creará y copia el sonido del primero en el segundo cambiando el canal de la derecha por el de la izquierda y viceversa.
Meh... pues si que quedo pequeño el post =P.
Recibe como parámetros el archivo original y el nombre del que se creará y copia el sonido del primero en el segundo cambiando el canal de la derecha por el de la izquierda y viceversa.
Meh... pues si que quedo pequeño el post =P.
Etiquetas:
audio,
pasando el rato,
python
miércoles, 27 de octubre de 2010
Como generar una onda de Audio para archivos WAV (PCM)
Como en su momento no encontré nada sobre este tema, aquí va una pequeña explicación de como generar audio modulado en PCM, lo que usa por ejemplo, el formato WAV.
martes, 26 de octubre de 2010
[Offtopic] Thunderbird te avisa si te olvidas de adjuntar algo
Parece que thunderbird añadió la característica de avisar al usuario de que falta algo por adjuntar si observa algo en el mensaje que indica que se debería haber hecho (algo como nombrar un tipo de archivo común)
Etiquetas:
offtopic,
pasando el rato
lunes, 25 de octubre de 2010
Mostrar el voltaje actual de la batería en gambas
Con el tiempo el hardware deja de funcionar todo lo bien que deberia, esto se nota sobretodo (al menos eso creo) con los portátiles, que al parecer tienen una marcada tendencia a fallar en la batería y en el cargador, piezas que se supongo que resienten especialmente en un uso prolongado.
La última "manifestación" que vi de estos problemas es de vez en cuando la potencia de la corriente que viene del adaptador AC cae por debajo de cierto valor, lo que hace que poco a poco la batería se vaya descargando(¿?). Esto hace que haya que comprobar frecuentemente el voltaje de carga para poder tomar precauciones antes de que se quede sin energía, una forma fácil de hacerlo es con una sencilla línea de bash
La última "manifestación" que vi de estos problemas es de vez en cuando la potencia de la corriente que viene del adaptador AC cae por debajo de cierto valor, lo que hace que poco a poco la batería se vaya descargando(¿?). Esto hace que haya que comprobar frecuentemente el voltaje de carga para poder tomar precauciones antes de que se quede sin energía, una forma fácil de hacerlo es con una sencilla línea de bash
miércoles, 20 de octubre de 2010
Improvisando un cifrado de flujo/generador de números aleatorios
A veces hay que hacer un pequeño sistema de cifrado para la ocasión que no tiene porque ser criptográficamente seguro, una chapuzilla vamos, veremos como improvisar uno.
Etiquetas:
cifrado,
cifrado de flujo,
criptografia,
pasando el rato,
pseudo aleatorio,
python
domingo, 17 de octubre de 2010
Música con el WiiMote y python
Antes de nada, gracias a Vishkey por prestarme el mando para poder seguir con estas cosas :D
Enfin, que hay avances en el código para manejar el Wiimote, conseguí reproducir música de 8-bits en el, el resultado a penas se entiende con sonido "normal", pero con música electrónica a lo binärpilot, se escucha relativamente bien. El formato usado es PCM a 8 bits con signo (no como wav), con un framerate de 1500Hz
Enfin, que hay avances en el código para manejar el Wiimote, conseguí reproducir música de 8-bits en el, el resultado a penas se entiende con sonido "normal", pero con música electrónica a lo binärpilot, se escucha relativamente bien. El formato usado es PCM a 8 bits con signo (no como wav), con un framerate de 1500Hz
jueves, 14 de octubre de 2010
Colorinchos
Hoy presento un programilla que muestra triángulos de colores a lo caleidoscopio (que era la primera intención, pero de SDL se pasó a OpenGl y de texturas a triángulos y ya la armamos)[colorinchos.c].
El efecto es este (videobin mola :P) [ http://videobin.org/+1zv/2ac.html ]
El efecto es este (videobin mola :P) [ http://videobin.org/+1zv/2ac.html ]
El hola mundo con el alfabeto fonético
La idea original era hacer define de las letras "fonéticas" a su equivalente normal y despues unirlas, todo con el preprocesador, pero parece que este funciona al reves, primero cambia las funciones y después lo demás, ademas no se puede usar la recursividad (que un archivo se incluya a si mismo), porque cada nivel vuelve a ver el archivo original. Así que habrá que conformarse con esto, que es bastante menos elegante, pero enfin...
Etiquetas:
C,
pasando el rato
domingo, 10 de octubre de 2010
Interactuando con el WiiMote desde Python
El mando de Wii es a día de hoy un cachivache muy capaz de interactuar con el PC, tanto por que funciona a través de bluetooth, como porque sus capacidades impolsaron a la scene a estudiarlo.
El detalle es que después de ver un problema recurrente con estas consolas, que hacían falta pilas para usar el mando incluso cuando al final para jugar solo se utilizaran los que se conectan por cable a la consola, decidí escribir un script que permitiese conectarse a la consola y que, al menos, moviera el cursor y pulsara el boton principal [A] para poder solventar estos casos.
Nota: Hay una librería C para interactuar con el mando, llamada libcwiid
Aunque dicho script aún no está escrito, es más fácil conseguir un mando para trastear y explorar la forma con la que se comunica con la consola que una consola directamente, con ese motivo se escribió este código [pymote.py]. Conecta el dongle/pincho/chuzo bluetooth y comenzemos...
El detalle es que después de ver un problema recurrente con estas consolas, que hacían falta pilas para usar el mando incluso cuando al final para jugar solo se utilizaran los que se conectan por cable a la consola, decidí escribir un script que permitiese conectarse a la consola y que, al menos, moviera el cursor y pulsara el boton principal [A] para poder solventar estos casos.
Nota: Hay una librería C para interactuar con el mando, llamada libcwiid
Aunque dicho script aún no está escrito, es más fácil conseguir un mando para trastear y explorar la forma con la que se comunica con la consola que una consola directamente, con ese motivo se escribió este código [pymote.py]. Conecta el dongle/pincho/chuzo bluetooth y comenzemos...
viernes, 8 de octubre de 2010
Script para grabar CD's y guardar la imágen ISO
Hoy presento un pequeño script que permite extraer una imágen ISO de un CD, o grabar una fácilmente. El script se puede descargar aquí [bashBurn.sh], funciona usando Zenity para la GUI, wodim para grabar y dd para recuperar las ISO.
lunes, 4 de octubre de 2010
Portando LOIC a Gnu/Linux
Empezando por el principio, Anonymous está atacando a los lobbies del copyright, la noticia no es nueva, ya llevan un rato así, y me entero de que aún estan portando LOIC (el DOSer que utiliza esta comunidad) a Gnu/Linux. Portarlo es trivial, usaré MonoDevelop porque lo hace más facil y apenas ocupa 20 Megas, sino solo hay que editar el código a mano, cosa más que fácil.
Script para saber etiqueta de un dispositivo FAT
El aburrimiento de pasar unas horas en el tren sin conexión hace estragos, y para muestra un botón script, indícale al script un dispositivo FAT (vas a necesitar permisos de root) y dirá el nombre:
Etiquetas:
python
domingo, 3 de octubre de 2010
Script para limpiar archivos borrados del disco duro
Hoy presento un código que acaba con el problema de los archivos ya borrados pero que siguen rondando por el disco duro. No es gran cosa, y seguramente forme parte de muchas colecciones de scripts, pero sigue pudiendo ser útil.
Simplemente genera archivos nuevos con contenido aleatorio (de /dev/urandom, /dev/random se eternizaría) hasta llenar el espacio de la particion, y despues los borra.
Simplemente genera archivos nuevos con contenido aleatorio (de /dev/urandom, /dev/random se eternizaría) hasta llenar el espacio de la particion, y despues los borra.
Suscribirse a:
Entradas (Atom)