Programación
Ejecutar Finder desde Terminal en MacOS X
by dGil on Dic.31, 2008, under MacOS X, Programación, Python
Una de las cosas que mas me molestó cuando migré a MacOS X hace ya algunos años es que a diferencia de otros sistemas operativos, como GNU/Linux con GNOME, no pudiera ejecutar el gestor de archivos (Finder) desde la consola. Hasta hoy, nunca me preocupé de buscar una solución, pero hoy me harté e intenté solucionarlo.
Para ello he creado un pequeño programa en Python que nos permite ejecutar desde la Terminal el Finder. (continue reading…)
Instalar y configurar SSHFS en MacOS X Leopard
by dGil on Dic.27, 2008, under Shell, Tutoriales
En este artículo vamos a explicar como instalar SSHFS en Leopard y cómo configurarlo. El procedimiento es igual para la mayoría de sistemas *nix, por lo tanto, también funcionará para GNU/Linux. (continue reading…)
Instalar PyQt 4 en MacOS X Leopard
by dGil on Dic.24, 2008, under Python, Qt, Tutoriales
Como ya comentamos en un post anterior, Pynigma funcionará sobre Python y Qt (PyQt), así que necesitaba tener en el Mac PyQt. He tenido varios problemas para conseguir que funcionara en Leopard, y como la información sobre PyQt para MacOS es escasa, he hecho un resumen de cómo hacerlo.
Al final de este post tendremos instalado:
- Qt 4.4.3
- Python 2.5
- SIP 4.7.9
- PyQt 4.4.4
Hexadecimal y Binario en Python
by dGil on Dic.20, 2008, under Programación, Python, Tutoriales
Python, como la mayoría de lenguajes, permite trabajar con hexadecimal (base 16), decimal (base 10), octal (base 8) y a partir de la versión 2.6 también se puede usar binario (base 2). Aunque parezca raro que no se implementara base binaria hasta la versión 2.6, normalmente el uso de binario se puede substiuir por hexadecimal. Aún así, se agradece que podamos escojer nosotros.
Para insertar un número en hexadecimal se utiliza el 0x delante del numero en hexadecimal:
numhex = 0x2f print numhex # 47
En python, siempre que se haga un print y no se indique lo contrario, se imprimen los números en base 10.
Ejemplo de inserción de binario y octal (para identificar un número como binario tiene que empezar con 0b y en el caso de octal por 0):
numbin = 0b1101 print numbin # 13
numoct = 011 print numoct # 9
Para poder imprimir los números en cada base tendremos que hacer lo siguiente:
# Hexadecimal print "%x" % 10 # 0xA print hex(10) # 0xA # Octal print "%o" % 10 # 012 print oct(10) # 012 # Binario print bin(10) # 0b1010
Para finalizar, comentar que al usar hex(), oct() o bin() retornan un string, no un int.
Presentación del CAAS-8
by dGil on Dic.03, 2008, under Algoritmo, Programación, Pynigma, Python, Seguridad
Como ya hemos comentado en anteriores ocasiones en éste blog, vamos a diseñar un programa llamado Pynigma programado en Python que encriptará y (esperamos) desencriptará usando un algoritmo propio. Bueno, como es lógico, primero tenemos que tener el algoritmo. Así que me he puesto manos a la obra y ya tenemos la primera versión del CAAS-8. El nombre está diseñado por Kaizo y son las siglas de Casadevall Awesome Algorithm System (Casadevall es mi apellido) y, como os podéis imaginar, es una coña. Pero como parece muy pro, nos da más credibilidad, así que lo hemos cogido como válido :P.
Cómo la mayoría de algoritmos, el ocho del nombre son los bits con los que trabajamos (bloques de 2 Bytes) y ciframos con una palabra de 32 bits.
En el siguiente post espero poderos enseñar ya de forma detallada sobre el algoritmo. De todas formas aclarar que nosotros somos estudiantes de ingeniería, y el objetivo de este proyecto no es otro que aprender. Si al final sale algo útil, pues nos alegraremos.
Ahora mismo estamos intentando corregir algunos problemas, pero creo que no podremos –al menos esta versión- y como el objetivo es ir aprendiendo, está claro que la primera versión no será la definitiva ¡ni mucho menos!