Usar Javascript desde Python

Python

Python

Desde la web de Caja GRANADA se pueden enviar 30 SMS al mes si se tiene acceso a la caja electrónica.

Cuando estoy en casa y envío un SMS desde el iPhone usando la conexión wifi es realmente incómodo. La web de Caja GRANADA es… increíble. Y lo digo en el más irónico de los sentidos, o no. Es frame sobre frame, tabla sobre tabla, una encrucijada de código que al iPhone se le atraganta un poco.

Se puede llegar a usar pero para colmo tiene un contador de caracteres mientras se escribe el mensaje para el SMS que quita el foco al campo de entrada. Como consecuencia el teclado virtual se esconde con cada letra y no hay manera de escribir unas palabras sin desesperarse.

Por otro lado hay algo en esta web que hacen bien en mi opinión, y es cuidar la seguridad. Sin entrar en detalles diré que la clave que escribes para entrar no es enviada, sino que se envía el resultado de un cifrado triple des de la misma. Hace unos meses usaban tan solo des y gracias a una librería en python conseguí el mismo resultado. Esta vez no sé por qué por más parámetros que probé no conseguía el mismo resultado así que tenía básicamente dos opciones:

Implementar el código javascript de caja granada en python

Me daba mucha pereza y quise buscar algo más antes de ponerme manos a la obra.

Ejecutar javascript desde python

Aquí es donde entra en juego python-spidermonkey. La instalación consiste en seguir los pasos indicados en la web para ello, bajando la versión de SVN. Su uso es muy sencillo de modo que esto es básicamente lo que hice:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from spidermonkey import Runtime
def js_des(clave, pin):
    runtime = Runtime()
    context = runtime.new_context()
 
    context.eval_script("var mod3 = function() {}")
    context.eval_script("""
        mod3.prototype.des = function(hexKey, message, encrypt, mode, iv, padding) {
            // código de la función pegado literalmente del js de cajagranada
            // ...
    """)
    context.eval_script("""
        mod3.prototype.des_createKeys = function(key) {
            // blah blah blah...
    """)
    # ...
    return context.eval_script("m = new mod3(); m.des('%s', '%s');" % (clave, pin))

Y finalmente para usarlo tan solo habrá que hacer algo similar a lo siguiente:

1
2
3
4
import md3
 
# [...]
pin_cifrado = mod3.js_des(clave, credenciales.PIN)

Y de este modo la variable pin_cifrado tomará el valor devuelto por la función en javascript.

Etiquetas: , :: Archivado en JavaScript, Programación, Python

Sony Ericsson apuesta por Android

El 9 de diciembre de 2008 Sony Ericsson anunció su adhesión a la Open Handset Alliance, la unión de empresas que ha permido el desarrollo de Android.

Se trata de una excelente noticia teniendo en cuenta que Sony Ericsson siempre ha sido mi marca de móviles preferida por prestaciones y calidad tanto de teléfono como de cámara de fotos.

La noticia original en inglés se puede leer aquí.

Etiquetas: , , , :: Archivado en hardware

Wordpress 2.7

Se ha hablado mucho sobre el tema, la semana pasada fue de lo más comentado, y por fin he actualizado a la versión 2.7 de WordPress. La interfaz de administración es lo mejor que han hecho en esta versión: es cómoda, configurable, rápida…

Enhorabuena a los padres de la criatura.

Etiquetas: , , :: Archivado en Software

Iconos de plurk navideños

Después de Plurk Icons For Everybody 2.0 os presento la versión 2.2 con los siguientes cambios:

  • Corregido bug que hacía que no aparezcan los nuevos iconos para la casilla grande de plurkear.
  • Reestructuración interna que permite añadir tantas solapas como se deseen, refactorización de camino a la actualización automática.
  • ¡Emoticonos navideños!
Conjunto de iconos navideños para Plurk

Conjunto de iconos navideños para Plurk

Como las otras veces, clic aquí para actualizar o instalar. Felices fiestas y feliz plurkeo.

Editado 10/12/2008 - 11:29: Se ha corregido un bug que hacía fallar algunas funciones de plurk como editar el perfil o ver imágenes en grande. Gracias a draxus por el aviso.

Etiquetas: , , , :: Archivado en CSS, HTML, JavaScript

Quinta temporada de Lost

Un video preliminar de la quinta temporada de Perdidos que encontré en alt1040:

Cuando lo vi temía que me fastidiasen algo, pero si has visto la cuarta temporada completa no te va a desvelar cosas que no sepas o puedas imaginar. Como dice esta gente, is up to you!

Etiquetas: , :: Archivado en Video

PlurkIconsForEverybody 2.0

Plurk.com es como twitter pero con una línea temporal y respuestas ordenadas: un sistema de microblogging dentro de las redes sociales. Hace unas semanas publiqué un complemento para GreaseMonkey que añadía iconos adicionales pero ahora han cambiado la web de plurk.com y había dejado de funcionar como debía.

Debido al nuevo formato me han ahorrado parte del trabajo que había pensado, han separado los iconos en varias solapas por lo que ahora añado una solapa con iconos personalizados. Esto hace que la carga sea menos pesada y la lista de iconos esté más limpia.

Plurk Icons For Everybody 2.0

Plurk Icons For Everybody 2.0

Para instalar PlurkIconsForEverybody 2.0 tan solo hay que instalar greasemonkey y finalmente hacer clic en el siguiente enlace, dando a instalar cuando sea necesario:

Editado: Se ha corregido un bug que hacía que no se pudiese usar a veces si la primera vez después de cargar la página se utilizaba el recuadro grande de plurkear. Vuelve a instalarlo para actualizar a la última versión.

Etiquetas: , , , , :: Archivado en CSS, HTML, JavaScript

Linux en el iPhone

Mientras iba el sábado a disfrutar de un estupendo y maravilloso fin de semana estaba dando un repaso a las noticias y encontré que han conseguido portar Linux al iPhone. Sin duda es una noticia muy buena pensando en que aunque sea por jugar, existe la posibilidad de que algún día tengamos Android funcionando en nuestro cacharro.

Lo que han conseguido hasta ahora ha sido:

  • Framebuffer driver
  • Serial driver
  • Serial over USB driver
  • Interrupts, MMU, clock, etc

Aún faltan muchas cosas importantes para tener algo funcional, como:

  • Soporte de escritura en la NAND
  • Conexión inalámbrica
  • Pantalla táctil
  • Sonido
  • Acelerómetro
  • Soporte telefónico

Y para terminar, una tira cómica sobre el tema (en inglés).

Etiquetas: , , , :: Archivado en GNU/Linux, hardware, iPhone OS

Google Street View en Granada

Llevamos aproximadamente un mes viendo en el pueblo al coche de Google Street View pero hasta ahora no pudimos sacarle unas fotos:

Street View 01

Todavía  no sabemos lo que tarda Google en publicar la versión de la ciudad desde que hace las fotos pero lo que está claro es que en breve tendremos a todo Granada y pueblos de alrededor disponibles en Street View.

Etiquetas: , , :: Archivado en Software, Video