sábado, 22 de diciembre de 2012

¡¡¡Feliz Navidad!!!

La felicidad es hacer lo que se desea
y desear lo que se hace.

No sueñes tu vida, vive tus sueños. 


¡Feliz Navidad!
(Gustavo y fossie)

un poco de música navideña...


martes, 18 de diciembre de 2012

SMS mJoy v1.07

Os dejo una nueva versión de SMS mJoy ya que un usuario me ha comentado que el formato de los teléfonos moviles alemanes pueden ser del tipo +4915712345678 pero SMS mJoy lo rechazaba así que tras realizar algunas pruebas y validar que la web de mJoy si permite el envio a dichos números he modificado la aplicación aunque no conozco a nadie en Alemania así que no he podido verificar que lleguen los mensajes correctamente.

Como sabéis, en la web de mJoy, se menciona que se pueden enviar mensajes a cualquier parte del mundo  ¿vosotros habéis tenido exito con mJoy o con SMS mJoy enviando SMS a otros países? ¿cuales?


Notas para la actualización / instalación:
Si ya disponéis de una versión de SMS mJoy solo tenéis que descomprimir el fichero zip sobre la versión que tengáis (se respetará vuestra agenda y configuración). Si es la primera vez que descargáis SMS mJoy podéis descomprimirlo en cualquier carpeta de vuestro ordenador.

Cualquier consulta o sugerencia siempre es bienvenida.

mJoy!

Actualización:
SMS mJoy v0.06 disponible (Android)

Descargar SMSmJoy
Descargar Código Fuente (VB.NET2005)

domingo, 9 de diciembre de 2012

Intercambiar teclas del teclado

Hace unos dias Daisy derramó un poco de agua sobre el teclado de su portatil y pese a que lo secó lo más rápido que pudo las teclas mayusculas izquierda y mayusculas derecha dejaron de funcionar aunque, por fortuna, el resto del teclado si respondia correctamente.

Cuando este tipo de cosas suceden lo mejor es tratar de secar el teclado rápidamente, incluso abrirlo y limpiarlo por dentro pero, aún así, es posible que algún circuito se haya dañado y a no ser que seamos unos manitas en electrónica la solución será pasar por caja y adquirir un nuevo teclado pero siendo un portatil tenía pinta de ser algo caro así que tocaba ingeniarselas de alguna otra forma.

Una opción válida para salir del paso es utilizar el telcado en pantalla que suele llevar el sistema operativo (Win7 en este caso) pero no me parece una opción muy interesante a largo plazo ya que es algo incomodo de utilizar así que pense que algo más práctico seria darle la funcionalidad de las mayusculas a otra tecla del teclado y recordé unas prácticas que se solian hacer en los primeros cursos de programación que consistian en modificar la interrupción del teclado a bajo nivel precisamente con esta finalidad aunque eso de volver a ponerme a programar en ensamblador no me llamaba mucho la atención así que me puse a buscar y vi que ya hay varios programas que permiten el mapeo de teclas, es decir, intercambiar teclas para este tipo de casos como por ejemplo MSKLC (Microsoft Keyboard Layout Creator) o SharpKeys.

Programa SharpKeys

Este último me gustó bastante porque es muy completo, es de código abierto y se ha desarrollado en Visual C#.NET lo cual me animó a profundizar un poco más en el tema y aprender como se realiza el mapeo de teclas en Windows.

Básicamente cada tecla del teclado tiene asignado un número (un código de 2 bytes) y cada vez que se pulsa una tecla este código se le envía al sistema operativo para que sepa que tecla se ha pulsado y actue en consecuencia así que lo único que hay que hacer es decirle a Windows que cada vez que pulse la tecla X entienda que se ha pulsado la tecla Y.

Como en el teclado de Daisy lo que no funciona son las mayusculas lo que vamos a hacer es sustituir la tecla CONTROL DERECHA (que si funciona correctamente) por el código de las mayusculas. Mirando en el código de SharpKeys podemos ver la lista de los códigos asignados a cada tecla pero a nosotros solo nos interesan las mayusculas (00 2A) y la tecla CONTROL DERECHA (E0 1D)



Así que ahora lo único que hace falta es saber donde poner estos códigos para que Windows sepa lo que tiene que hacer y nuevamente recurrimos al código de SharpKeys donde podemos ver lo siguiente.


Básicamente lo que hace es introducir un valor en el registro de Windows (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout) con los mapeos que se hayan definido en SharpKeys aunque nosotros solo vamos a usar uno.

Según se entiende en el código de SharpKeys, se define un array de bytes con una estructura fija 8 bytes a cero luego otros 4 bytes que representan el número de mapeos a realizar, luego 4 bytes que representan el mapeo propiamente dicho y despues otros 4 bytes a cero. Como curiosidad hay que indicar que el mapeo los códigos se deben poner invertidos, es decir, si nuestra tecla es 00 2A en la estructura se debe escribir 2A 00 quedando algo así:


Con todo lo que ya sabemos no es difícil crear un archivo para incluir esa información en el registro de Windows y hacer efectivo el mapeo que hemos definido. Solo debemos guardarlo con extensión .reg, hacer doble click sobre él y confirmar que deseamos realizar las modificaciones en el registro. Para que los cambios surtan efecto se debe reiniciar el sistema (o volver a abrir la sesión)


Por si queréis realizar otros mapeos diferentes os dejo la lista completa de códigos que aparecen en SharpKeys.



Quisiera agradecer desde aquí a Randy Rants por el buen trabajo que ha hecho con SharpKeys y por compartir el código para que todos podamos aprender y, aunque os invito a utilizar su aplicación, yo prefiero hacer las cosas a mano.

miércoles, 5 de diciembre de 2012

Covers y guitarras

Siempre me ha encantado la música, podría decir que casi de todo tipo, desde clásica, hasta hard-core (bueno esto sería más bien ruido) pasando por Jazz, Rock, Pop, Heavy... 

Ahora, por el fluir de la vida, no me es posible disftutar de tanta como en tiempos de adolescencia y posteriores escuchaba. Eran otros tiempos, el cassette dominaba nuestras vidas y las dobles-pletinas eran nuestras mejores amigas. Los locutores de radio mataban el inicio o el final de las canciones para que no pudiéramos grabarlas completamente en nuestra cinta TDK D90 quema-cabezales si eran de hierro o mejorcillas si eran de cromo. Estas cosas cotidianas dieron a luz, por ejemplo, la canción de Gigatrón - Grábame el de Slayer parodiando a Bon Jovi...

Bueno, que me voy... realmente este post no es para todo esto. Ya me estoy haciendo el viejo que va contando batallitas jejeje. Mi padre toca la guitarra, siempre me ha gustado escucharle. Tuvo un grupo musical cuando contaba veinte años que cantaban canciones de la época en castellano y esas mismas me las cantaba a mi en casa cuando yo era pequeño. De ahí que yo aprendiera a tocar algún punteo de los que él sabía como un rock and roll típico, la Bamba o el bajo de Stand by me

Lo último que he visto en internet son las llamadas "covers" y lo que dan de sí. Guitarra en estado puro. En fin, algún día aprenderé, de verdad :)

Mientras tanto os dejo con un par de videos. El primero es de la BSO de Piratas del Caribe, es la famosa canción He's a pirate que suena a menudo en televisión.




La siguiente canción, es un video en el que se puede ver hasta donde puede llegar el Canon de Pachelbel.
Me encanta lo que ha hecho el taiwanés Jerry C con ella (sí, lo sé, soy un macarrón de cuidado). Ha creado escuela y todo. Miles de seguidores han hecho su propia versión, de la versión de Jerry en Youtube!