Posts Tagged ‘asd’

msn_slp.py

Friday, February 1st, 2008

Me estoy “robando” el placer de rewritear un parser/generador de mensajes MSNSLP, protocolo casi identico a SIP. ¿Por qué placer?

  • Python
  • Estoy sacando muchisimas lineas repetidas y redundantes del otro módulo msn_p2p.py, que antes tenía unas 1487 lineas de codigo, y ahora va por 982 (y sigue bajando)
  • La api queda muy muy bella:

# crea un objeto de mensaje SLP vacío
vacio = SLPMessage()

# crea otro objeto basado en un objeto de sesión (self)
mensaje = SLPMessage(self)

# setea un par de fields necesarios
mensaje.method = SLPMessage.BYE_METHOD
mensaje.content_type = SLPMessage.CONTENT_SESSION_CLOSE

# agrega un campo al body
mensaje.body['SessionID'] = self.session_id

# devuelve el string listo para mandar al socket
str(mensaje)

Extra: una serie de funciones (que se comportan como classmethods pero decidí dejarlas como funciones) a nivel de módulo, como “invite”, “ok”, “decline” y “bye”, devuelven objetos SLPMessage listos para usar, pidiendo solamente el parametro “session” (en los ejemplos anteriores, “self”)

Volviendo. ¿Por qué robando?

  • Lo había propuesto en un thread de por ahi, a futuro
  • No debería estar haciendo esto, mas bien debería hacer el bridge TCPv1 para direct connection*
  • It Just Works™, me arriesgo mucho refactoreando así. Pero el requesteo de avatares y los dialogos de Exception que agregué hace poco me hacen facil agarrar regresiones rápido. Si, ya sé, necesito unit tests.
  • Lo podría hacer otro, pero no, tenía que ser yo, OTRA VEZ, el que se lleva la porcion mas grande y mas rica de ASDASDASD.

Si, me siento un poco culpable. Voy a evitar pensar a qué me hace acordar esta mezcla, por Dios.

*eso mismo, voy a hacer DC ahora sin branch. Bien yo contradiciendome eh.

Distros

Thursday, January 17th, 2008

Me di cuenta que nunca escribí acá mis cambios de SO/distro. Ahi va:

- Diciembre 2006: Ubuntu 6.06

- Mayo 2007 (creo): Ubuntu 7.04

- Junio/Julio/Agosto 2007 (todo: revisar logs) Fedora 7

- Diciembre 2007: Fedora 8

- Enero 2008: Arch linux (don’t panic / dumpy core, pero a quien le importa?)

Listo. Ah, Fedora 8 no duró nada porque rompió el sonido, el disco reiserfs y otras cosas

Foro de emesene

Thursday, January 17th, 2008

Ultimamente vengo haciendo posts interesantes e informativos (?) en el foro de emesene (subforo development->emesene). Debería hacerlos en el blog pero tienden a ser bastante técnicos.

gobject fun! hacks deliciosos con gobject.

Fact on msn p2p (!) sobre un detalle que encontré implementando un handler para DC

[e3] More layers for msn p2p tips para mejorar nuestra implementación de p2p. La primera parte es bastante general, pero necesitaría confirmar que esté correcto. Lo posteé hoy. Es un poco denso pero conciso a la vez.

Si no se dieron cuenta ya, están en inglés. Disfruten.