27 de mayo de 2008

GTH

Mi solución del ejercicio 1 (en python):
prod=lambda v:reduce(lambda r,s:r*s,v) prod(range(NN+1,NN+MM+1))/prod(range(1,MM+1))
reemplazar NN y MM por los valores de los lados del rectangulo menos 1. Este era fácil porque es un ejercicio bastante conocido de combinatoria :P . Mi solución del ejercicio 2 (unix shell):
find . -name '*.XX' -print0 | xargs -0 awk '{ if(FNR == NN) print }'
reemplazar XX por la extensión del archivo y NN por el numero de linea a extraer. Mire el ejercicio y dije 'find', el resto fue encontrar alguna otra utilidad que permita extraer lineas, como es la primera vez que uso awk seguro se pueda mejorar la solución 2, por ejemplo no tener que hacer la suma y/o el producto a mano.

16 de mayo de 2008

Ciberiada!, Ciberiada!, Ciberiada!


Este es el resultado de mi paso por la Feria del Libro.

Al unico que puede leer más detenidamente es Brevisima Historia del Tiempo de Stephen Hawking, es un libro de divulgación sobre los temas más avanzados de la Física moderna, no hay ecuaciones pero si muchas referencia y gráficos. Me parece que lo voy a disfrutar bastante.

Los libros de Lem, ni siquiera dude cuando los ví, los agarré y me fuí a la caja, eran bastante salados para ser una edición de bolsillo.

4 de mayo de 2008

El arte de [no] resolver problemas.

Las bounding boxes son una técnica que permite evitarse realizar un trabajo cuando se sabe que el mismo no es necesario, esto muchas veces hace una diferencia importante en la resolución de problemas. A veces la utilizamos sin darnos cuenta, por ejemplo si queremos consultar sobre reglas gramaticales buscamos en los libros de literatura, pero nos salteamos los libros de matemática y ciencias naturales. Cuando enfrentamos cotidianamente a la tarea de resolver problemas, con el tiempo y la experiencia desarrollamos alguns técnicas heurísticas que permiten atacar problemas de manera mécanica, y hasta a veces resolverlos completamente. Estos conocimientos a veces se pueden expresar como reglas y hasta es posible trasmitirlos, no se pueden utilizar en el 100% de los casos pero a veces ayudan a simplificar un problema. Lo que es dificil de trasmitir es aquello que debemos evitar hacer para resolver un problema. Ultimamente aplico esta frase: si la solucion a un problema es demasiado compleja entonces no encontramos la solucion correcta.

2 de mayo de 2008

Not so smart systems

While it has been a long time wish to have smart machines being able to do our jobs that are boring, dangerous, or repetitive. Still we are very far from that. Blogger editor try really hard to understand what I'm typing is text or markup code. For most of the uses it guesses correctly, but when I'm quoting a xml fragment it always mess up switching between HTML and the WYSIWYG, and is really hard try to figuring out what will en in the frontpage. But blogger is not alone there, recently I've to edit an entry in a Wordpress Blog and I've being greeted with the same behaviour. So I ended not trusting whether I edited but what it was being show when the blog is published. But what is worst is that this smart system were replacing or removing some tags.

1 de mayo de 2008

Fixing Community Repositories for KDE Live CD for OpenSuse 10.3

When you install OpenSuse 10.3 from KDE Live CD and try to use Community Repositories from YaST to add a repository you are greeted with the following message:
Unable to download list or repositories or no repositories defined.
You can fix it by editing /etc/YaST2/control.xml, and changing:
<external_sources_link>http://seven-swords.net/Repos/openSUSE_10.3/testing_list_of_repositories.xml</external_sources_link>
to
<external_sources_link>http://download.opensuse.org/YaST/Repos/openSUSE_103_Servers.xml</external_sources_link>