Jul17th

Google Code Jam 2008

nibblesmx General Read on

Google Code Jam, es una competencia mundial de programacion hosteada por Google. Puedes escoger entre varios lenguajes de programacion (C, C++, Java, Python, ruby entre otros).

Ayer estaba leyendo un blog en planet python, y me entere de que la ronda para calificar al Google Code Jam era ese mismo dia, en unas cuantas horas.

Me registre, y vi los problemas de practica y honestamente me desilusione, estaban muy complicados. Y esque eso de estudiar ingenieria de sistemas tiene sus desventajas. Los Lic. en ciencias de la computacion inventan los algoritmos, los ingenieros los utilizan, decia una maestra.

Entonces decidi no participar… pero en la noche dije “que demonios” y entre a ver que onda con los problemas. Necesitaba 25 puntos para pasar a la siguiente ronda, eran 3 problemas de 25 puntos cada uno (si resolvias correctamente el problema con 2 sets de datos diferentes) ergo solo tenia que resolver uno para pasar a la siguiente ronda.

El primer problema estaba medio extraño. El segundo nunca lo entendi (pinches trenes), y para el tercero, me faltaban conocimientos de matematicas y probabilidad.

Total, me dedique a tirar codigo a ver si podia resolver el problema #1, y si pude :D y hasta eso el codigo quedo bonito.

Yo se que no tengo oportunidad de ganar en un concurso como estos, pero de jodido quiero la camiseta ;)

Estan interesantes los problemas, si tienen tiempo y ganas, aun pueden entrar (aunque quedan 4 horas, asi que apurenle).

Suerte!!!!

Jul4th

Ventilando frustraciones

nibblesmx General Read on

Este post es sobre cuestiones personales y no sobre tecnologia y/o software. Pueden ignorarlo por completo y no se habran perdido de nada improtante en sus vidas.

Los ultimos dias de mi vida han sido un completo asco. Primero, regresando de un vuelo de negocios, la aerolinea Lufthansa (si, lo escribo para ver si les da verguenza) perdio mis maletas con TODA mi ropa. Y cuando digo toda, no es una exageracion. Literalmente tenia toda mi ropa. Tengo 3 dias usando lo mismo. Guacala.

Total, regreso a mi amado mexico, y el primer dia me da gripa y dolor de estomago. Y sigo pagando consecuencias de esas 2 enfermedades. Total, resulta que aqui en la oficina me habian comprado una laptop nueva, porque la que tenia ya estaba bien jodida.

Total, me dan la laptop (que esta muy nice) y la prento y tiene windows vista. Jamas en mi vida habia usado windows vista, y de verdad apesta. 750 megas ocupados de RAM solamente al iniciarla. Asco. Total, me decidi a quitarle el mugrero que traia de fabrica, y ponerle linux y windows XP (necesito el windows a webo, por cuestiones de la chamba), no sin antes hacer el backup, el cual me hecho a perder 4 DVDs porque el software no funcionaba correctamente.

Total, me puse a bajar ubuntu (porque perdi el CD) y borre la computadora. La instalacion estuvo bien, aunque me di cuenta que no funcionaba ni mi tarjeta inalambrica ni el video. Ya una vez instalado, la parte del video fue facil, pero la maldita tarjeta de red inalambrica me tomo 1 pinche dia completo para que quedara jalando.

Al final termine de instalar linux, y me dispuse a instalar windows XP con un cd que tenia por ahi. Resulta que como mi computadora es de 64 bits, el disco que tenia da un error bastante feo al iniciar la instalacion, y no puedo hacer nada. Ahora tengo que conseguir otro pinche windows XP pero ahora de 64 bits. A ver de donde.

Y aqui viene lo peor…

Hoy deberia mandarle un proyecto terminado a un cliente por correo. Resulta, que ayer vencio nuestro dominio y no tenemos ni pagina ni servicio de correo, ni nada de nada. Ahorita es un desmadre lo de los correos en la oficina. Pero bueno, regresando al problema, hoy deberia de enviarle un correo con el proyecto terminado.

Resulta que ayer estaba trabajando en el escritorio de mi casa en la laptop viejita, terminando el proyecto y deje la laptop en el escritorio y me retire a dormir. Y tambien resulta, que ayer llovio toda la noche aqui en mi ciudad, y mi laptop quedo empapada. DE NUEVO. Ahora ya no tengo el proyecto que debia de enviar hoy, ni la cuenta por donde mandarlo. Perdi toda mi musica y mis peliculas, y mis fotos, y los proyectos anteriores. Tengo un backup de algo, pero se perdio la mayoria.

Estoy muy frustrado. Estos ultimos dias no han sido nada agradables.

Jun7th

Pidgin con soporte de voz y video

nibblesmx General Read on

Al parecer ahora pidgin va a tener soporte de videoconferencia, una de las cosas que han estado solicitando a sus desarrolladores desde el hace varios anios.

Al parecer estas nuevas caracteristicas se van a integrar al trunk de pidgin en la proxima version de este cliente de mensajeria.

Conozco a mucha gente que prefiere usar aMSN (que la verdad esta bastante feo, culpa de tcl/tk 8.4) porque tiene soporte de voz y video sobre pidgin.

Espero esta nueva version con ansia.

Pidgin Voz y Video

Apr17th

Logger en C#

nibblesmx Programacion Read on

Estoy haciendo un logger para una aplicacion que estoy desarrollando. El logger es muy sencillo, dice fecha y hora, tipo de mensaje (informacion, error o warning), el mensaje del error, y el metodo de cual clase lo mando llamar.

El problema era ese, no queria que tuvieras que poner a mano la clase y el metodo, asi que me puse a investigar y se resuelve asi:

StackFrame sf = new StackFrame(1, true);
MethodBase method = sf.GetMethod();

La clase StackFrame esta dentro del namespace Systm.Diagnostics y la clase MethodBase esta en System.Reflection.

Para saber la clase utilizamos method.DeclaringType.Name y el nombre del metodo es con method.Name.

Apr13th

Cual es tu comentario mas extraño?

nibblesmx General Read on

Pues, se me acaba de ocurrir este “meme” (asi se llama, no?). Bueno, de lo que se trata es de mostrar cual es el comentario mas extraño que han recibido en su blog.

El mio es este:

Rodríguez Zapatero quiere “exterminar” cristianos. Rodríguez Zapatero tiene odio en su Alma. Rodríguez Zapatero no sabe Amar.

Que esta en este post.

Cual es el suyo?

Apr13th

Google App Engine

Google App Engine, es un proyecto que se habia estado cocinando en Google desde el pasado junio.

Es una plataforma de desarrollo que ofrece todo lo necesario para la creacion de una aplicacion web. Aqui lo interesante no es tanto el servicio de hosting (500MB de espacio, y ~ 5 Millones de hits por mes), sino las herramientas que ofrecen para el desarrollo.

Google ofrece sus propias herramientas (las de uso interno) para que la creacion de aplicaciones sobre su plataforma sea rapida, escalable, y de facil administracion. Entre las herramientas para el desarrollo (y que son parte del stack de la plataforma) son BigTable, GFS y Django.

Este servicio viene a competir directamente con los servicios de Amazon para desarrolladores, que ya tiene mucho tiempo en la escena (EC2, SimpleDB y S3).

Aqui lo interesante, y lo que mucha gente esta pensando es que google no te ofrece mucha versatilidad en las opciones de desarrollo sobre su plataforma. A mi muy humilde punto de vista:

Lo Bueno

  • Python como lenguaje de desarrollo (existen peticiones para incluir otros lenguajes)
  • Django como framework de desarrollo
  • Herramientas de desarrollo de Google, que han probado ser muy *MUY* robustas
  • Facil integracion de los otros servicios de Google como autenticacion de usuarios, o email mediante APIs
  • Hosting gratuito, con un espacio considerablemente bueno

Lo Malo

  • Solamente 10,000 invitaciones, las cuales se extinguieron a los 5 minutos

Ya para rematar, Guido van Rossum en el lanzamiento de Google App Engine:

Apr4th

Pasando parametros a un Thread en C#

nibblesmx General Read on

Es una notita rapida, mas bien como un recordatorio a mi mismo.

En C# (especificamente en la version 2.0 del framework de .Net) para poder pasar parametros a un thread, se utilizan delegados.

ThreadStart foo = delegate { foobar(baz); };
Thread bar = new Thread(foo);
bar.Start(); //Esta linea esta chistosa
Apr2nd

“Share Folder” Desaparecido en Hardy

nibblesmx Linux Read on

Si estan probando una distro beta, que utilice Gnome, y de repente desaparecio “Shared Folders” del menu de Systema -> Administracion, y al hacer boton derecho sobre una carpeta, la opcion de “Share Folder” no aparece, es porque ya no se llama asi xD

Al parecer, se sustituyo shares-admin (que era el paquete que gestionaba lo anteriorment mencionado) por “nautilus-share”.

sudo apt-get install nautilus-share

Nautilus share, presente una interfaz parecida a lo que era “Share Folder” y te permite compartir archivos en una red.

Para compartir archivos en una red Windows y *Nix, necesitas el servicio Samba y NFS, respectivamente

sudo apt-get install samba nfs-common

Un Saludo!

Apr2nd

Adobe Air y Flex en Linux

Pues si. Adobe es otra de las empresas que se ha unido a la Linux Foundation, que es una organizacion para promover el crecimiento de Linux como plataforma.

Que sea bueno, o malo solo el tiempo lo dira. Por el momento, podemos disfrutar de Air y Flex para linux. Esto permite que aplicaciones que antes solo corrian para Mac o Windows, ahora pueden instalarse y utilizarse en Linux, y esta vez, de verdad funciona.

Para muestra, el widget de Pownce corriendo sobre ubuntu:

Para descargarlo, click Aqui. Pronto estare poniendo una guia de como hacer un programa sencillo en Air.

Un Saludo!

Feb11th

Exploit malpedo

nibblesmx General Read on

Hoy me encontre con la noticia de que hay un exploit que casi-casi garantiza una cuenta de root en una maquina local, que afecta a los kernel 2.6.17 hasta el 2.6.24.

Aqui esta el codigo del exploit, al parecer le pega a un modulo del kernel que se llama vmsplice, asi que a desactivarlo!! al parecer no hay un fix “oficial”, pero existe uno provicional aqui.

Nomas para que vean que cosa tan espantosa, chequen esto:

nibblesmx@lappy:~$ whoami
nibblesmx
nibblesmx@lappy:~$ ./exploit
-----------------------------------
 Linux vmsplice Local Root Exploit
 By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7da5000 .. 0xb7dd7000
[+] root
root@lappy:~# id
uid=0(root) gid=0(root) groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),104(scanner),108(lpadmin),110(admin),115(netdev),117(powerdev),1000(nibblesmx)
root@lappy:~# whoami
root
root@lappy:~#

Calendar

  • July 2008
    M T W T F S S
    « Jun    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  

Recently