viernes, septiembre 01, 2006

sábado, agosto 26, 2006

msn gateway

este blog esta cada vez mas geek pero como no lo lee nadie posteo lo que se me da la gana

escribi esta clase (no terminada) para poder conectarse al messenger mediante el puerto
80 mandando request http (como hace el gaim), osea que si tenes un proxy por el puerto 80 estas hecho, probablemente sea la unica implementacion para proxy en el emesene (la parte de proxy no esta implementada todavia :P).


import httplib
import urllib
import urllib2

#terminar
class Proxy:

def __init__( self , host , port , user , password ):

self.host = str( host )
self.port = port
self.user = str( user )
self.password = str( password )

class HttpMethod:

def __init__( self , host , port , path, proxy = None ):
self.host = str( host )
self.path = str( path )
self.port = port
self.proxy = proxy

self.response = ""
self.data = ""
self.headers = {}
self.headers[ "Accept" ] = "*/*"
self.headers[ "Accept-Language" ] = "en-us"
self.headers[ "Accept-Encoding" ] = "gzip, deflate"
self.headers[ "User-Agent" ] = "MSMSGS"
self.headers[ "Host" ] = "gateway.messenger.hotmail.com"
self.headers[ "Proxy-Connection" ] = "Keep-Alive"
self.headers[ "Connection" ] = "Keep-Alive"
self.headers[ "Pragma" ] = "no-cache"
self.headers[ "Content-Type" ] = "application/x-msn-messenger"
self.headers[ "Content-Length" ] = "18"

self.request = None
self.connection = httplib.HTTPConnection( self.host + ":" + str( self.port ) )

def send( self , message ):
self.headers[ "Content-Length" ] = str( len( message ) )
self.connection.request( "POST" , self.path , message , self.headers )

def recv( self ):
response = self.connection.getresponse()
self.response = response.read()

return self.response

if __name__ == "__main__":
h = HttpMethod( "gateway.messenger.hotmail.com" , 80 , "/gateway/gateway.dll?Action=open&Server=NS&IP=messenger.hotmail.com" )
h.send( "VER 1 MSNP9 CVR0\r\n" )
print h.recv()

miércoles, julio 26, 2006

Molestando un poco

dado que el emesene esta entrando en una etapa en la que no se que mas agregrale
decidi empezar a escribir una libreria para manejar el ultimo protocolo del MSN
(MSNP13) osea el que usa el windows live messenger, hasta ahora mis logros son los siguientes:

  • puedo loguearme ( aunque paresca una boludes es lo mas dificil )
  • cambiar mi estado
  • setear el nick
  • setear el mensaje personal ( la porqueria que esta al lado del nick que se parece al nick pero que no es el nick porque es gris :P )
  • responder los challenges ( no lo hice yo, lo tome prestado, aguante la GPL )
  • obtener lista de usuarios, grupos, si tienen MSN spaces, cuando fue la ultima vez que lo actualizaron y informacion totalmente paranoica sobre ustedes ;)
  • obtener lista de usuarios que ya borre ( no se para que servira )
  • obtener los de los celulares ( nunca me survieron para nada )
cabe aclarar que los amigos de microsoft ya estan rompiendo las bolas y van a sacar el MSNP14 que es el que va a permitir chatear con gente de yahoo, espero que no cambie mucho...

adjunto el screenshot obligado...


breve descripcion breve:
  • live messenger a la derecha
  • MSN protocol analizer al medio
  • super ventana de DOS en la que mi usuario esta en linea
documentacion interesante:

martes, julio 25, 2006

Poetas contemporaneos take one

Un bidon de kerosene

Mi vieja me compro un bidon de kerosene

y yo le regale un incendio

fui al almacen pedi un apio y kerosene

un poco de sumision en mi mente



Las cosas que voy a quemar

en cenizas te convertiras

las cosas que voy a quemar

en cenizas te convertiras

sábado, julio 22, 2006

Encontre EL editor de texto

buscando un editor de texto para java y python decidi probar Eclipse y le puse el plugin de python.

esto es lo que quedo:


  • resaltado de sintaxis
  • correccion de errores en vivo
  • autocomplecion
en resumen... un amor

jueves, julio 06, 2006

breve leccion de capitalismo breve...

un sujeto S

desarolla un labor L con un beneficio B
desea adquirir el producto P, que equivale a n*B.

debido a que n*B=P


S desarrollo L durante n por n*B para obtener P y es feliz.

*se lima*

viernes, junio 23, 2006

Bodas de plata

(gracias tuxmaniac)

Se despertaron al mismo tiempo como todas las mañanas. Se miraron con casi la misma cara de enamorados de veinticinco-años-y-un-largo-noviazgo atrás. Obviar el casi de la oración anterior es perdonar las arrugas, las cenas frías, las broncas, las mentiras, los silencios y tantas otras cosas...

Con la voz ronca propia de todo amanecer, pero con esa naturalidad que le era habitual, él le dijo:

- Si te hubiera matado en la noche de bodas, hoy salía en libertad.

Le besó la frente, se levantó y le preparó el desayuno como en cada aniversario.

algunos tests

para reirme un rato hice algunos, aca van los links y resultados:

are you a LOSER?

16% are cooler, and
84% are more of a loser than you.

What does this mean?

Definitely not a loser - You're cool by us




Are you a Computer Geek?
http://www.nerdtests.com/ft_cg.php?im

Overall, you scored as follows:

29% scored higher (more computer geeky),
1% scored the same, and
70% scored lower (less geeky).

Compared to those in the same age group as you:

31% scored higher (more computer geeky),
1% scored the same, and
68% scored lower (less geeky).

What does this mean? Your computer geekiness is:

Mid-Level Computer Geek.




My computer geek score is greater than 70% of all people in the world! How do you compare? Click here to find out!

Are you a nerdy?

Overall, you scored as follows:

44% scored higher (more nerdy), and
56% scored lower (less nerdy).

What does this mean? Your nerdiness is:

Somewhat nerdy.

I am nerdier than 56% of all people. Are you nerdier? Click here to find out!

Weird Quotient:

Thanks for taking the Weird Quotient test

Your score is:

82

Of all the weird test takers:

93% are more weird,
4% are just as weird, and
3% are more normal than you!

domingo, junio 18, 2006

hallazgo arqueologico

En el laburo encontre estas cosas que datan de eones... deleitense.


Manual de usuario de MS-DOS en su empaque original :P


el mismo manual con certificado de autenticidad y diskettes de 5 1/4


caja de novel netware 4


Caja de diskettes de 5 1/4 en su empaque


Caja de diskettes de 5 1/4 en su empaque

domingo, junio 04, 2006

jueves, mayo 25, 2006

emesene en sourceforge

https://sourceforge.net/projects/emesene/
http://emesene.sourceforge.net/

recien estoy aprendiendo a usarlo asi que no esta todo bien puesto pero igual ya subi una version de emesene y algunos screenshots.

corran la voz!

aMSN/kopete/Gaim watch out! :P

tambien le cree un blog/pagina a eMeSeNe: emesene.sourceforge.net

sábado, mayo 20, 2006

emesene alpha release!

esta a punto de salir la primera beta de emesene que realmente no le importa a nadie pero que se le va a hacer.
cuando salga la primer beta lo voy a postear en sourceforge.
Nuevas cosas:
  • smilies!
  • agregar amigo
  • eliminar amigo
  • bloquear amigo
  • desbloquear amigo
  • agregar grupo
  • borrar grupo
  • renombrar grupo
  • cambiar de nick!
eh aqui los screenshots obligados:



jueves, mayo 18, 2006

cosa en python


class ndef:

def __init__( self , method ):
if callable( method ):
self.method = method
else:
raise 'method is not callable'

def dummy( self , *args ):
pass

def when( self , condition ):
try:
if eval( condition ):
return self.method
else:
return self.dummy
except:
return self.dummy


def __call__( self , *args ):
return self.method( *args )

def ejemplo( str ):
print "Hola " + str + "!"

ejemplo = ndef( ejemplo )
ejemplo.when( "1 + 2 == 3" )( "mundo" )
ejemplo.when( "1 + 2 == 4" )( "pepe" )


esto permite ejecutar un metodo cuando la condicion se cumple
me podrias decir que con un if se soluciona pero muetra la potencia de python
y lo util que es que todo sea un objeto ( para los de java: TODO! )

lunes, mayo 08, 2006

domingo, mayo 07, 2006

llameme seminarista

a lo que habremos llegado en este pais para que yo de un seminario de algo :P


Lo subrayado es mi seminario en la pagina principal de la facultad
( Universidad tecnologica nacional , Facultad regional Cordoba )


Un cartel en la facultad....


Un cartel mas grande en la facultad

sábado, mayo 06, 2006

sacar XUL en TurboGears

para que los .kid de turbogears saquen xul hay que hacer lo siguiente:
creas el proyecto, vas a la carpeta config del proyecto y descomentas la linea:

kid.outputformat="html"

del archivo app.cfg y cambiarlo por:

kid.outputformat="xml"

despues hacer un .kid en xul y en el archivo controllers.py

escribir @expose(template="xul.templates.xul" , content_type="application/vnd.mozilla.xul+xml")
( el template puede tener otro nombre )

es mas un post para acordarme como se hace pero si a alguien le sirve me gustaria saberlo porque
no encontre nada en internet...

lunes, mayo 01, 2006

Amo a laura





HAGAMOS JUNTOS, ESTE CRUCIGRAMA
APLAZEMOS LO OTRO PARA UN MAÑANA
CANTAR CONTIGO ME LLENA DE ALEGRIA
SHALALALA SHA LALALALA
DEJEMOS TODO LO DEMAS PARA OTRO DIA
QUISIERA BESARTE PERO SIN ENSUCIARTE
QUISIERA ABRAZARTE SIN DEJAR DE RESPETARTE
AMAR ES SABER ESPERAR
ES SABER ESPERAR

(coro)
AMO A LAURA PERO ESPERARE HASTA EL MATRIMONIO
AMO A LAURA PERO ESPERARE HASTA EL MATRIMONIO
NO VOY A ARRANCAR ESA FLOR QUE LA DESTRUYA
NO SERE YO

JOVEN :
RECUERDA QUE EL AMOR NACE DEL RESPETO
QUE NO HAY NADA MAS HERMOSO EN UNA PAREJA
QUE SABE ESPERAR JUNTOS
ESE MOMENTO MARAVILLOSO QUE ES LA CONSUMACION DE UN AMOR
TU PACIENCIA TENDRA RECOMPENSA

(coro)


este es el segundo corte del disco! ( para john! )

Seguidores

Archivo del Blog