19 de noviembre de 2008

Hace mucho escribía artículos de matemática...

En esta página hay una muestra http://www.geocities.com/xhantt/, no eran buenos, ni nuevos, pero a mi me parecian interesante escribirlos.

Update: Desde que publicé este mensaje Yahoo! decidió cerrar GeoCities por así que todas páginas desaparecieron. Afortunadamente algunas páginas todavía sobreviven, por ejemplo “The Immortal Game” por Adolf Anderseen http://www.geocities.com/lifemasteraj/a_ander.html.

11 de julio de 2008

Libros

Libros que en este momento tengo cerca, lo que quiere decir que los estube/estoy/estaré leyendo
  • Brevisima historia del tiempo, Stephen Hawking: Lo escribi en un post anterior, es un libro de divulgación. Los capitulos que leí eran bastante interesante, aunque si uno lo que busca es profundidad saben a poco.
  • Cronica del pajaro que da cuerda al mundo, Harumi Murakami: Todavía no lo mire.
  • Tsugumi, Banana Yoshimoto: Lo miré un poco, pero no puedo decir mucho.
  • Out, Natsuo Kirino: Un policial bastante crudo y realista, en la contratapa dice que la autora se la conoce como la reina japonesa del Crimen, hasta ahora no me decepciona.
  • Nieve de primavera & El templo del Alba, Yukio Mishima: Forma parte de la tetralogía El Mar de la Fertilidad, las otras novelas son Caballos desbocados, La corrupcion de un angel. Tengo que conseguir las otras dos novelas de la tetralogía.
  • Crónica de una muerte anunciada, Gabriel Garcia Márquez: Uno de los mejores libros que leí, tiene un cierto aire de realismo que me hace acordar a A sangre fria de Capote, pero es muy distinto es claramente un exponente del realismo mágico.
  • El día de los Trifidos, John Wyndham: Ciencia ficción de la época dorada. Pero el mundo es muy distinto 50 años después de que fue escrita, me pasó lo mismo cuando vi El ciudadano, son obras maestras pero me siento fuera de contexto.
  • Ciberiada, Stanislaw Lem: Una colección de historias buenísimas, es un libro que no quiero terminar de leer. Son las historias de dos constructores que se involucran en situaciones totalmente desopilantes.
  • La trilogía de New York, Paul Auster: Es un policial, todavía no lo leí.
  • El coleccionista de mundos, Ilija Trojanow: Biografía novelada de Richard Burton, un incansable aventurero.

4 de julio de 2008

Revelation (kind of)

And I stood upon the sand of the sea, and saw a beast rise up out of the sea, having seven heads and ten horns, and upon his horns ten crowns, and upon his heads the name of blasphemy. And they worshipped the dragon which gave power unto the beast: and they worshipped the beast, saying, Who is like unto the beast? who is able to make war with him?
The Book of Revelation, St. John, 13:1,4

12 de junio de 2008

GTH parte II.

Para el ejercicio 3 habia que saber algo de redes, como se rutean mensajes entre computadoras, y no mirar el grafo! El ejercicio 4 era el que tenia base matematica, igual no mucha. Habia que buscar varias secuencias de numeros primos consecutivos cuya suma tambien sea primo. Era mucho mas facil de lo que me habia imaginado al principio. Una posible solucion es crear una tabla de primos grande (107 por ejemplo), y luego poner las condiciones mas fuertes primero, y luego las mas debiles.

9 de junio de 2008

Sayonara Kubuntu.

Until last year I was a happy Kubuntu user. I started as an occasional user with HoaryHedgehog and Dapper Drake, first with the normal Gnome version later switching to KDE. Almost two years ago with the release of Edgy Eft I've switched my main desktop to Kubuntu, I remember this version was a bit sloppy, because it was a rushed version with only 4 months of development, but in general was a good release.

The same goes for the next versions, but unfortunately they keep releasing sloppy versions. A change here, a change there, and little bits of pieces were broken, really nothing too serious, but when you take a look from a distance you find that you have to solve same problems over and over again, and it start to look ridiculous. All started with this bug report Can't init Maxima session withing TeXmacs, to have a better startup times Ubuntu have switched the defaul shell from Bash to Dash, these change broke a large number of scripts that relly on the assumption that sh=bash. These bug report have a workaround, it is not elegant but works, but in the three versions since them (Feisty, Gutsy and Hardy), the packages are broken. I can live with these, it's annoying, but since I use my box mostly to develop, I've to make the change so sh points to bash, or else a lot of configure scripts don't work as expected.

But the worst bug is this DDC report some ridiculous physical screen size, but it was reported previously as Large font in Gdm login text and the oldest related report I can find of Gdm login text field shows overly large characters. In Gnome the only affected is Gdm, if you can correctly type your username and password you get the desktop and everything is normal. But in KDE the whole desktop is a mess and you really can't work, one ugly workaround is adding a line Option "DDC" "False" in your xorg.conf. These bug was not fixed in Gutsy, but the intel driver was optional and you can have it installed alongside the old i810 driver. But the default driver in Hardy is now intel.

Another fault of Gutsy was that it included D3lphin as default filemanager instead of Konqueror. It is a good filemanager but the KDE 3 version is no longer supported, because most of the resources were focused in the KDE 4 release. So d3lphin was a spinoff while KDE4 was not released, and huge problem for me was that it didn't support # in filenames or folders, the fix mentioned in the forums was to rename such folders. But I can't rename filenames inside a CDR!

Here is another problem with Ubuntu, once a final version is released the packages are frozen, no more updated versions, only critical and security bugfixes. If you want a new version you have to request a backport and wait if a developer is interested enough, or compile your own version (which I think is the fastest way). But I know that some packages are allowed to break this rule, ie Firefox. Other problem is that between versions you have to do a full upgrade and can't do a partial upgrade. Well if you are lucky enough you can upgrade a simple package if it doesn't have a complex set of dependencies, but you have to install it manually.

I know Ubuntu is moslty done by volunteers, I've talked to several of them in the IRC channels, they are passionate, dedicated and good persons. You can't blame them, they work really hard, just a Linux distribution like Ubuntu require a lots of people to work together to make a release, and they are not enough. Perhaps Ubuntu is a victim of it own success, having a large user base also implies there are a large number of bugs reported, this in turn requires a better organization as a whole, a more formal QA process and more involvement from Canonical.

8 de junio de 2008

Cine: Los crimenes de Oxford.

Hace algún tiempo comentaba sobre el libro Crímenes imperceptibles de Guillermo Martínez, el libro tiene un par de vueltas interesantes, mezcla de género policial con algo de matemáticas (a veces demasiada), y si les gusta el género policial resulta una lectura recomendable, pero si les gusta la matemática hay partes que no les va a gustar. Luego me enteré de que se estaba planeando una película sobre el libro, y que iba a ser dirigida nada más y nada menos que por Alex de la Iglesia, todo presagiaba una buena película. Bueno ahora que vi la película mi conclusión es que deja bastante que desear. Hay muchos cambios respecto a la historia del libro:
  • El protagonista principal es norteamericano y se llama Martin, en el libro es argentino y se llama Guillermo.
  • La introducción de los personajes es bastante apresurada y parece forzada, en el libro es más casual.
  • El personaje de Beth tiene una actitud activa y decidida, en el libro es más sumisa y se deja llevar por las circunstancias.
  • El protagonista juegan squash, en el libro en cambio juega tenis.
  • Cuando Seldom esta dando su clase, el contenido del pizarrón no coincide con el tema.
  • El protagonista llega a Oxford y no tiene director, en el libro cuando llega si tiene una directora de tesis.
Y así hay cambios a lo largo de toda la película que no los pongo por si les interesa verla. No me gustan los juego de palabras pero en este caso la película es un crimen (de buen gusto) bastante perceptible.

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>

16 de marzo de 2008

Educación Matemática.

Leyendo el blog The n-Category Café no es tan difícil tener una buena eduación matemática.
Recuerdo que hace algunos años, mientras daba clases en el ingreso a la facultad para carreras de Ingeniería o Ciencias Exactas, me sorprendia cuando algunos aspirantes se habían olvidado las operaciones básicas como dividir o multiplicar, e incluso no sabían como utilizar una calculadora para hacer los ejercicios, o no sabían interpretar los resultados (por ejemplo 1.234E-23).
Todavía me sorprendió mas enterarme que a algunos colegios secundarios no dictaban matemática en el último año. Por lo que estos estudiantes ingresaban a la Universidad estando un año sin hacer nada que los prepare en matemática. Un amigo les decia a los alumnos que se olviden lo que le habian enseñado en matemática en el colegio, que era mejor que use los manuales de primaria para repasar que estaban mejor explicados y los temas eran mas cercanos a los que dábamos en el ingreso.
La matemática probablemente sea una de las materias más difíles de aprender correctamente, pero los resultados que se obtienen ciertamente merecen la pena aun cuando uno elija una profesión que en principio no tenga nada de matemática.

17 de febrero de 2008

C++ y Python.

Es común que se destaquen ciertas virtudes cuando se comparan lenguajes de alto nivel con los de bajo nivel.
Por ejemplo tener un manejo automático de la memoria (garbage collection en inglés) nos evita tener que preocuparnos por saber cuando tener que liberar memoria de un objeto, y si podemos estar haciendo referencia a un objeto que ha sido liberado.
Pero esto también tiene problemas, un programa con que usa garbage collection requiere más memoria que uno programa que maneja memoria de manera explícita.
Si creamos gran cantidad de objetos de manera dinámica el proceso encargado de manejar memoria (garbage collector en inglés) se va a ejecutar más frecuentemente y vamos a hacer perder rendimiento.
Otro problema más sutil, es que objetos con una interfaz de eventos ya no son usados, pero sus eventos todavia estan registrados lo que evita que estos objetos sean liberados. Una solución a este problema son las referencias débiles (weak references en inglés).
Mi punto aquí es que C++ no es peor lenguaje que Python por no tener garbage collector, simplemente son dos lenguajes que implementan formas distintas para manejar memoria. En algunos casos C++ es un mejor lenguaje para determinada tarea en otros Python es mejor.
Por ejemplo para proyectos medianos prefiero C++, pero para proyectos mas chicos Python es mucho mejor.

14 de enero de 2008

Computación vs. Matemática.

Después de tres años de estar trabajando en el área computación tengo un par de reflexiones relacionadas con mi anterior trabajo en matemática: Contras:
  • Menos vacaciones, solo dos semanas, en comparación antes tenia vacaciones por lo menos un mes y medio en verano y otro en invierno.
  • La burocracia en proyectos, por ejemplo le pido a A cierta especificación, A habla con B, después de varios dias A dice que no esta lista que va a estar en una semana, después de dos semanas A envia un borrador de especificación, etc.
  • El cantidad de trabajo es muy fluctuante, hay épocas con varios proyectos con diferente prioridades y fechas límites muy cercanas y que exigen información constante, y otras con un sólo proyecto interno sin una fecha fija.
  • Cuando tengo un mail que dice XX no funciona, tiene que estar arreglado ASAP lo más pronto posible. Creo que en mi empresa (y en cualquier otra del ramo) la sigla ASAP debe ser la más odiada.
A favor:
  • Mucho mejor pago seis veces mi anterior sueldo (si 6 “veces”).
  • Recompensa según trabajo realizado, si hago un buen trabajo las recompensas pueden ir desde una felicitación hasta un aumento o bonus.
  • Ciertos problemas exigen soluciones creativas, esto me gusta porque los conocimientos son aplicados a problemas reales.
Neutro:
  • Más controls sobre los proyectos que manejo, es bueno porque me manejo con mis tiempos, no es tan bueno porque exige cierta responsabilidad cuando calculo tiempos.
  • Estar en una oficina con aire acondicionado, sentado varias horas, mirando constantemente una pantalla. Puede sonar bien en un principio pero no es el trabajo demasiado saludable.
Luego en otro post escribo porque se podría pensar que la industria de la informática es un robo.