domingo, 27 de febrero de 2011

Un tracker BitTorrent en un .php y una tabla MySQL

Esto lleva un rato sin actualizar, así que traigo una cosilla que puede resultar interesante, un tracker de BitTorrent que solo ocupa un archivo .php de 250 líneas y que necesita únicamente una tabla en una base de datos MySQL, además logicamente del servidor web [ announce.php ]

martes, 22 de febrero de 2011

Haciendo un iterador a medida en Python

Mientras no van llegando cosas que requiren más tiempo aquí va algo que puede resultar interesante, vamos a hacer nuestro propio iterador dinámico, que permita modificar su comportamiento desde el propio script, por ejemplo, si hacemos:

for i in my_iterator(1,1000,"<<1"):
    print i


my_iterator( inicio, límite, paso ) Mostraría esto:

1
2
4
8
16
32
64
128
256
512


viernes, 18 de febrero de 2011

Como evitar que un hilo de pyGTK bloquee a los demás [ tip ]

Si alguien ha intentado programar un script que use pyGTK lanzándolo en un hilo aparte se habrá dado cuenta de que bloquea  a todo el proceso, lo que es bastante molesto. La solución es hacer esto desde ese hilo antes de levantar la interfaz:

gtk.gdk.threads_init()


Hay más sobre hilos y pyGTK ( esto en concreto no ) en: http://unpythonic.blogspot.com/2007/08/using-threads-in-pygtk.html

Saludos

jueves, 17 de febrero de 2011

Adivinando las contraseñas de la Wifi desde Android

Después de mucho pelearse con Netbeans y Eclipse, presento la primera aplicación para móviles de este blog :D, una que a partir de la SSID ( el nombre de la red ) y la BSSID puede en algunos casos "adivinar" la clave por defecto de la red:


La aplicación aún está en pañales, no he tenido la ocasión de probarla con redes reales, de ahí que exista la opción de introducir datos manualmente ( obviamente la forma normal de hacerlo es seleccionar la red en la lista que muestra ) , para realizar pruebas, y falta por implementar el algoritmo de las redes SpeedTouch ( aunque es bastante lento, ya que hay que hacer fuerza bruta contra SHA ).

Otra cosa que queda por acabar, es la lista de redes, por ahora se marcan las que se pueden adivinar con un "[o]" al final, o con la contraseña entre '[]' si se adivinó, además los datos sobre las redes adivinadas se guardan en una Base de Datos SQLite que está desaprovechada ( quizá se podría añadir la opción de guardar todo en un TXT para guardarlo ).

lunes, 14 de febrero de 2011

Descargando el manual 'La guía definitiva de PNG' con bash

Pues eso, hoy va a ser algo corto, el "problema" es simple, tenemos estos ingredientes:
- Un manual sobre el formato PNG [ http://www.libpng.org/pub/png/book/toc.html ]
- Una conexión a Internet intermitente, así que no es una posibilidad leerlo online
- Pereza suficiente para no ponerse a descargarlo a mano
- Ganas de trastear con bash

Y la receta, comentadita [ vacuum.sh ] o coloreado:

domingo, 13 de febrero de 2011

Introducción a NetKit ( IV ): Un puente a Internet


Pues llegamos a la última parte de esta introducción a NetKit, donde simplemente veremos como hacer un laboratorio con una máquina que se conecte a el anfitrión ( y con ello a Internet ), queda como ejercicio para el lector añadir y configurar otras máquinas a la red que aprovechen esa conexión.

viernes, 11 de febrero de 2011

Compilando en entornos hostiles: Dia

No, no penseis nada raro, con "compilar en entornos hostiles" me refiero a hacerlo donde no tenemos a mano las librerías necesarias para compilar un programa en concreto, ni permisos para instalarlas, la idea es mostrar como se puede hacer para quien necesite usar algún programa cuando solo dispone de una cuenta con acceso mínimo.

Pero volvamos al principio, Dia es un software para hacer diagramas desarrollado por el proyecto Gnome, supongamos que quremos usarlo en una máquina, una opción sería descargar el paquete ya compilado y ejecutarlo, pero... sorpresa! , utiliza una librería que no esta instalada ( libxml2 en este caso) .

jueves, 10 de febrero de 2011

Gráficos de tortuga sobre imágenes en Python

Pues hoy traigo una mini-libraría que se apoya en PIL para hacer gráficos de tortuga directamente sobre imágenes [ imgturtle.py ]:
Dibujado con este script [  dragon.py ]

miércoles, 9 de febrero de 2011

Introducción a NetKit( III ): switches y enrutado


Bueno, pues seguimos con esto, como dijimos la última vez, ahora lo que queremos es crear una red de 4 máquinas, dos switches conectados entre sí y cada uno a otra máquina, y que se puedan comunicar entre ellos sin problemas, el esquema en general sería este:
 No es tanto un problema con NetKit ya que se puede hacer con lo que ya sabemos, como un ejercicio sobre como hacer tablas de enrutado.


martes, 8 de febrero de 2011

A un día de la 'Ley Sinde'

Mañana, día 9  de febrero se vuelve a votar la "Ley Sinde" en el Senado, después de no pocas protestas por parte de los cuidadanos. Aunque la ley fue rechazada en el congreso volvió al Senado después de un pacto entre el PSOE, PP y CiU.

No tiene sentido otro post aquí cuando gente que sabe más del tema ya ha escrito sobre ello, en cualquier lugar que se dedique a las noticias se encontrará mucho material relacionado con el tema, pero ahí van links que me parecen recomendables:

http://xmailer.hacktivistas.net/
http://red-sostenible.net/

Solo me pregunto esto ¿ quién después de descargarse una canción dijo que es obra suya ?, ¿ no estarán confundiendo ( ¿ a propósito ? ) derechos de autor y derechos de explotación ?, ¿ no se estarán utilizando a los artistas como escudo ?

Saludos y suerte...

lunes, 7 de febrero de 2011

Introducción a NetKit( II ): creando redes

Introducción a Netkit( I ): Instalación

Lo dicho es hecho, y a lo hecho...  seguimos con la segunda parte de la introducción a NetKit, ahora veremos como crear y configurar laboratorios pequeños ( sin routers, que es lo mismo pero hay que enrutar ), las conexiones hacia internet se demorarán probablemente hasta el fin de semana ya que se necesitan permisos de root en el host :P .


domingo, 6 de febrero de 2011

Arkanoid con Pygame

Este juego lo había escrito para un concurso de programación hace varios meses, pero no conseguí que las colisiones funcionaran bien, ahora que ya he conseguido arreglarlo minimamente y he añadido un par de cambios, este es el resultado:

viernes, 4 de febrero de 2011

PyIC ( Librería IRC para python ) 0.2

Pues eso, habemus nueva versión de PyIC ( una librería para clientes IRC ), ya está subida en GitHub [ https://github.com/kenkeiras/PyIC ]

Se puede ver como quedan las funciones en el README, pero los cambios básicamente son estos:

jueves, 3 de febrero de 2011

Nueva versión de GUIml, añadido Tktinter

Pues eso, que ya está listo el soporte para Tkinter en GUIml:
Desluce un poco al lado de los otros,¿verdad?

Solo resaltar una cosa, da "X Window System error" cuando las ventanas de "About" no se cierran antes que el programa principal ( no pongais about's y todos contentos ), esto se arreglará cuando sepa que lo provoca.

Se puede descargar desde aquí: guiml02.zip

ps: está en camino una batería de nuevas versiones, stay tuned

Hasta pronto.

martes, 1 de febrero de 2011

Disionario morrasense en fortunes [ desvario ]

Bue, hoy vamos a dejar de hablar de programación y si me apuras vamos a hacer un cambio temporal de público objetivo, que no creo que nadie de la 5ª provincia lea esto :P así que...

Presentamos la fortune del "Disionario da revolusionaria academia morrasense da lingua: morrasense - jodechincho".

El archivos es este: disionario ( dadle a "download" )
Para instalarlo hay que seguir estos pasos: