Kementeus Blog

Bienvenidos a kementulandia!

Friday, October 20, 2006

Me voy de blogger

Bueno, como a algunos les había comentado, me cambié hoy de blog provider, siento que aunque Blogger es suficiente para el usuario promedio de blogs (entiendase alguien como yo que escribe de vez en cuando) me decepcionó el hecho que por estar ahora en su versión “beta” ya me es imposible usar herramientas de posting como el Live Writer (luego escribiré mas de esto).

Aunque he encontrado varios shortcuts para poder migrar mis datos de Blogger Beta a Wordpress, ninguno de esos ha resultado como esperé, y luego de intentar volver a postear cada una de mis entradas (como no eran muchas dije que me arriesgaba a hacerlo) me decepcioné de mi falta de cultura de blogging, entonces me dije “nah, mejor con las dos ultimas que he hecho”. Y heme aquí en mi nuevo blogging.

Me ha sorprendido la facilidad de WordPress y el soporte increíble que tiene para plugins, de hecho hasta el momento estoy feliz con mi nuevo blog.

Espero verlos por mi nuevo blog http://kementeus.wordpress.com , saludos!

Thursday, October 19, 2006

Bugs Muere!!!

No se ustedes pero a mi me caian mal la mayoría de los "buenos" en las comicas de WB, siempre esperé que el coyote atrapara al correcaminos y nunca me explicaba como era posible que el coyote gastara tanto en instrumentos e inventos marca Acme y no pudiera comprar una pizza! Digo yo que eran las ganas de chingar y de no tener nada mas que hacer.

El otro caso era el del Conejo Bugs, me caía mal, especialmente cuando andaba por ahi vistiendose de mujer y besando a Elmer o a Sam. Además nunca entendí tampoco porque el cazador Elmer nunca pudo hacerle nada a Bugs a pesar que andaba con su escopeta de ahi para allá.

Bien, esos tiempos de espera y preguntas han terminado, aquí estan las respuestas a todas mis dudas de la relación de Bugs y Elmer. Sólo me toca esperar a ver si el coyote al fin hace lo suyo con el correcaminos.

Labels:

Wednesday, October 18, 2006

Regalo libros de .NET 1.1 y VB.net

Tengo las fotocopias o mejor dicho, lo que dan las malas empresuchas estas de training en Guatemala en VB.net en mi casa ocupando espacio. Es todo el ciclo de .NET y VB.net 1.1 por si alguien los quiere.

Si para la otra semana nadie pasa buscando los libros tendre que regalarselos al señor que recoge la basura.

Cualquier cosa ya saben como contactarme

Labels:

El misterio del Messenger User ID

Hace un tiempo mi novia me pregunto cómo hacer un backup de los emoticons en el messenger, dispuesto a averiguarlo decidí buscar en mi Windows donde guardaba los emoticons y datos similares.

Dando vueltas encontré la carpeta en cuestión (quizás en otra entrada les diga donde es) y revisé que efectivamente estan todos los datos de usuario en ese lugar. Me topé con la característica que hay un monton de carpetas o directorios con un número en específico. Interesante, como lo sospeche se trataba de un Hash numérico del nombre de passport del usuario, número el cual el Messenger utiliza para varios menesteres, entre esos el crear la carpeta para guardar emoticons, winks, fondos y similares.

Aunque encontre cual era la carpeta en mi computadora para mi usuario passport mi siguiente pregunta y reto era como transformar de un nombre passport a un Hash de usuario de Messenger (digo de esta manera y no al revés ya que quien está familiarizado con los Hashes como md5 sabran que se puede de una via, no de ambas; bueno, en realidad se puede con análisis numérico pero esos son otros veinte pesos).

Luego de mucho tiempo de estar buscando en internet y evitar las típicas páginas de idioteces como "baja tu emoticon" y foros de usuarios sin sentido llegue a un lugar donde explicaban en VC++ code como crear el hash, con editor en mano y mi Python 2.5 decidí crear la clase que se encargara de eso. Me topo con el primer inconveniente y la primera idiotes a mi parecer que tiene el algoritmo del que llamaré el "Hash de Messenger", el algoritmo usa y depende de overflow de los números. Para quien no está acostumbrado a cosas como estas es cuando por ejemplo trato de meter un número de punto flotante en un entero, como recordaran un entero usa menos espacio que un número de punto flotante por lo tanto en el entero solo entraran ciertos bits del número de punto flotante. En lenguajes como C/C++/C# es relativamente sencillo ya que se pueden hacer overflows de números de forma sencilla y el compilador se encarga de todo, el problema es q en lenguajes de scripting donde no son tipificados la variable automáticamente se adapta a la nueva longitud del valor.

Bueno, con esto en mano decidí crear una mi solución sencilla que quizás a alguien más le pueda servir en el caso de emular overflows de números en Python, Ruby o inclusive PHP y Java (en este último a pesar de ser fuertemente tipificado si se trata de hacer el overflow obtendremos una excepción).


def overflow(number) :
if number > 4294967296 :
return number % 4294967296
return long(number)

class UserID :
__passport = None
def __init__(self, passport) :
self.__passport = passport.lower()

def getHash(self) :
sum = long(0)
for item in self.__passport :
buffer = sum * 101
buffer += ord(item)
sum = overflow(buffer)
return sum

if __name__ == '__main__' :
passport = UserID('someuser@hotmail.com')
print passport.getHash()

Lastimosamente no he encontrado aun la forma en que blogger pueda crear bonitas entradas para código fuente con resaltado y similares a las que existe en pasteit (http://www.rafb.net/paste) o bueno, quizas un dia encuentre como hacerlo :P

Otro día les publico o explico como hacer el backup de los emoticons y similares, aun no decido si sigo haciendo mi programita en Python :P

Saludos

Labels: ,

Thursday, June 01, 2006

jejejejejejeje prueba

probando 123

Saturday, February 04, 2006

el nuevo ie7

Es increible, pero me sorprende Microsoft, no xq ha salido un producto totalmente nuevo u original como IE7, sino por la capacidad de adaptación de la compañía y sus productos. Agarremos la navegacion por tabs de Firefox y Opera, el RSS feed de FF, la interface limpia de Opera y el skining y nueva apariencia de Windows Vista y voila! IE7.

No veo nada nuevo en él, es comparable aunque aun menor a Opera en la velocidad de rendering, mucho mas rápido que Firefox 1.5, la interface gracias a Dios es mucho más limpia que la de su predecesor y en lo personal me agrada bastante, aun parece que tiene un par de problemitas con algunos plugins, especialmente con el QuickTime 7, ya que cuando entramos a una pagina en vez de embeber el objeto en la pagina le da un play en el player por separado.

Para los que se esten preguntando como conseguir IE7 no se preocupen, ya pueden bajarlo del sitio de Microsoft, claro, deben validar su copia de Windows antes.

De regreso a mis tiempos de GBA!

Es increible! hacia tanto tiempo que no veia un juego de GBA! hace poco consegui un mi par de ROMS de mi juego favorito de GameBoy, Pokemon en todas sus versiones, y llevo ya unas 6 horas jugando con VisualBoyAdvance el Pokemon Red, rayos, creo que regrese a mis tiempos de adicto en GBA...

De hecho recuerdo que hace mucho tiempo encontre una webpage con las direcciones y un tutorial de como "emular" juegos, no me malinterpreten, no me refiero a un "tutorial de como cargar un ROM en un emulador" sino de como hacer un emulador para sus ROMs, buscando he encontrado una cantidad increible de paginas que refieren al viejo arte de develping para GB. Me parecen sumamente interesante, ahi les voy a enviar un par de links sobre developing en GB y emulacion.

Los dejo, apenas voy por Pewter City!

Tuesday, January 31, 2006

mi amor a la .NET Framework

Aunque a muchos les intrigue, creo que pronto escribire algo sobre la .NET framework, cada dia que pasa y la uso mas descubro que me gusta mas y mas y estoy convencido que cualquier alegato en contra de .NET y Mono o similares es netamente un berrinche y ganas de hacer ruido solamente.

No entiendo YUM

En serio, llevo tanto tiempo usando YUM y aun no lo entiendo, no puedo creer un sistema de instalacion de paquetes que necesite conectarse a los repositorios cada momento, a hacer que? acaso no es lo suficientemente inteligente como para darse cuenta que en 5min no ha cambiado el repositorio?.

Encima de todo lento, y si el repositorio no funciona valiste, a volver a reiniciar la operacion.

Creo que desde hace buen tiempo YUM necesita un overhall completo.

Saturday, January 21, 2006

Lo dificil de la comida a domicilio

No puedo creer que tengo casi 30 minutos de querer pedir comida china a domicilio y asi no tener que salir de la oficina y no he podido? No aparecen restaurantes que la brinden en la zona 14 o que? Llamo a informacion y no saben nada, cuando al fin encuentro uno o no responden el telefono o simplemente me dejan esperando! que acaso aqui no existe la cortesia al cliente cuando pide a domicilio! (creo que mis ganas fueron frustradas y tendre que bajar a comer a mc donalds)