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

Decir también que para el preprocesado de la música (convertirla al formato adecuado) usaré SoX, así que no me pararé con eso, el comando es este:

===============================================================================

sox  -c 1 -t raw -r 1500 -1 -s 

===============================================================================

El -c es para especificar el número continue.

untagged

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 ]

No tiene gran cosa, se compila con:

===============================================================================

gcc colorinchos.c -o colorinchos -Wall -lglut -lGL -lGLU

===============================================================================

Y los controles son estos:

===============================================================================

[Enter]: Entra y sale de modo automático [U]: Hace zoom in [J]: Hace zoom out [F]: Salta a pantalla completa [W/S/X]: Cambia el patrón de colores [Espacio]: restaura los colores originales

===============================================================================

Lo único digno de mención es que la rotación en modo automático no tiene ningún temporizador, así que no es continue.

untagged

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...

include

/ Une los identificadores /

define _3(a,b,c) a ## b ## c

define _4(a,b,c,d) a ## b ## c ## d

define _6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f

define continue.

untagged

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 continue.

untagged

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. Disclaimer: el script no es demasiado fiable para grabar cosas, wodim falla si el nombre está entre " (¿?), de todas formas, si el nombre del archivo es erroneo, no se grabará... En resumen, que no debería haber ningún problema si el nombre del archivo (y el path) no tiene ningún espacio :) . Antes de empezar: puede que requiera permisos de root, si no lo lanzas con "sudo" continue.

untagged

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.

Una descargado y descomprimido el_código_fuente, se abre el proyecto (el .sln) y se intenta "construir" (F8), el error que salta es este:

Obviamente, lo que pasa es que la ruta está escrita para Windows, usa \ como separador, y el nombre de la imágen está en minúsculas (en realidad es WTF.jpg) y Gnu/Linux es case-sensitive:

Se arregla...

Se construye, y ya está =)

My continue.

untagged

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: ===============================================================================

!/usr/bin/env python

-- coding: utf-8 --

import sys try:     f = open(sys.argv[1], "rb") except:     print >>sys.stderr, "Uso:", sys.argv[0]," "     exit(1) f.seek(38) # Indica el tipo de particion FAT (12/16/32) sig = ord(f.read(1)) if (sig == 0x28) or (sig == 0x29) :     init = 43 else:     init = 71 f.seek(init) # Posicion del nombre FAT print f.read(11).strip() # Tamaño del nombre en FAT                         

El strip es porque se rellena con espacios

=============================================================================== Esos es todo, hasta otra

untagged

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.

!/usr/bin/env bash

names="rm_temp" # File name prefix

block_size=1048576000 # Size of individual files (1G)

r=0

i=0

while [ $r -eq 0 ];do

head -c $block_size /dev/urandom > $names""$i

r=$?

i=$(($i + 1))

done

rm -f $names*

No es rapido, pero puede ser útil.

Hasta otra.

untagged

BClock, un reloj binario en 510 bytes (autobootable)

Hoy presento un código en la línea del BGame, es decir, algo completamente inútil, hecho solo para quitarse el mono de ensamblador en ring 0.

Simplemente muestra un reloj binario (puro o en BCD, según le venga en gana al RealTimeClock =S ), con: S: Segundos m: minuto H: Hora D: Día M: Mes Y: Año

Todo con colorines y tal (para los años cuenta los últimos 2 digitos, al mas puro estilo Y2K) :

Zip con el código, Makefile (usa nasm) y la imagen ensamblada [bclock.zip]

Y con esto y un bizcocho, hasta mañana a las 0o10

[Referencia] http://wiki.osdev.org/

untagged

De heuristicas, antivirus y malware

Antes de nada, ningun ordenador fue infectado por malware en el proceso y lo que viene a continuación se hizo con el único fin de pasar el rato, si lees esto con la esperanza de saber como infectar más ordenadores o algo por el estilo, lo siento (... en realidad no) pero no estas en el lugar indicado, ve con root.

Pues presento un programa que genera otros programas ensamblando componentes (una shell inversa, un proxy SOCKS4 , un bot IRC... ), al principio no tenía ningun propósito pero parece que los módulos por separado pueden servir para echarle un vistazo a la euristica de los antivirus.

La primera continue.

untagged

Previous » « Next