Código Microsoft & GPL: Nada es imposible?

August 5, 2009

Hola a todos. Oh si! esta vez no podré evitar escribir acerca de la gran noticia del momento: “Microsoft aporta código al kernel de Linux“. Así que aquí va mi post acerca de este sorprendente e inesperado titular (bueno, inesperado al menos para mí).

Microsoft creando y donando código fuente bajo licencia GPL? para el kernel de Linux? Bueno, diariamente cientos de noticias merodean el mundo de la tecnología, pero _esto_ es historia! No hay duda al respecto, solo echa un vistazo a Internet y encontrarás miles y miles de artículos y posts al respecto. ¿Será este código incluido en la rama oficial del kernel? Qué tan bien está escrito? Cuál será la siguiente movida de Microsoft? Mucha gente está hablando al respecto, sobre el presente y sobre el futuro.

Por supuesto, este tema es complejo y enredado y aún tengo mucho que aprender, por lo que he decidido mirar hacia el pasado para entender un poco por qué esta noticia es tan sorprendente, así que empecé mi investigación acerca de la relación entre Linux, Microsoft y la licencia GPL hace algunos años atrás. El procedimiento inicial fue sencillo: Puse estas tres palabras en Google, y de inmediato un montón de enlaces aparecieron en mi pantalla; de esos resultados, busqué las entrevistas y conferencias realizadas por gente de Microsoft en donde hablaran sobre la GPL y Linux. Después de leer por horas, esto fue lo que encontré:

Cita #1:

to emphasise the competitive threat, and in some senses the competitive opportunity, that Linux represents. Linux is a tough competitor. There’s no company called Linux, there’s barely a Linux road map. Yet Linux sort of springs organically from the earth. And it had, you know, the characteristics of communism that people love so very, very much about it. That is, it’s free.

Steve Ballmer, 2000

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

Para enfatizar la amenaza competitiva, y en algunos sentidos la oportunidad competitiva, que Linux representa. Linux es un duro competidor. No hay una compañía llamada Linux, hay apenas un plan a seguir de Linux. Linux aún parece surgir orgánicamente de la tierra. Y tuvo, usted sabe, las características del comunismo que las personas adoran tanto acerca de él. Esto es, que es gratis.

EMHO: Estuve hablando con mi profesor de secundaria sobre esto y me dijo que algunas personas acostumbran a relacionar conceptos políticos con otras ideas para generar desaprobación de parte de la opinión pública. Además, me dijo que en algunos países, si algo es considerado “comunista” entonces es considerado malo. Es aquí donde yo me pregunto: ¿Cómo puede ser el software comunista? Cómo se le puede dar contexto político a las cosas? Un celular puede ser comunista? Quizás un carro? Esto no tiene sentido para mi. Quiero decir, la gente puede ser capitalista o comunista… pero el software? Linux es ampliamente utilizado en USA y Rusia también, así que no tiene un color político. Mi conclusión: Ballmer trató de desinformar al público.

Cita #2:

Linux is a cancer that attaches itself in an intellectual property sense to everything it touches

Steve Ballmer, 2001

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

Linux es un cáncer que se adjunta a si mismo en términos de propiedad intelectual a todo lo que toca

EMHO: El cáncer es una enfermedad, algo malo que destruye. Si miles de desarrolladores alrededor del mundo deciden unirse en un mismo proyecto (Linux, por ejemplo) para construir software de código abierto para cualquiera que desee utilizarlo, ¿Cómo podría ser algo malo? Si Linux es un cáncer, entonces compartir es un cáncer. ¿Qué clase de mundo queremos construir cuando compartir cosas con otros es una enfermedad? Quizás solo tengo 18 años y soy demasiado joven para entender lo que el señor Ballmer quiso decir, pero esto luce muy triste para mí. Si Linux se convierte en un importante competidor para Microsoft, eso significa que Linux es una enfermedad para el mundo? Lo que represente una amenaza para Microsoft también es una amenaza para el planeta? No lo creo.
No sé si la propiedad intelectual sea un elemento esencial para la humanidad, pero la verdad es que no habían abogados ni patentes cuando los primeros humanos crearon la rueda o el martillo o cualquiera de las primeras herramientas. De lo que logro entender, el hambre de dinero de algunas compañías no tienen nada que ver con innovación o con hacer mejores productos, sino mas bien con evitar la competencia. Irónicamente, estuve investigando y encontré que el capitalismo está basado en la libre competencia, una característica que Microsoft no tolera del todo. Así que finalmente, ¿Quién es el cáncer? Mi conclusión: El señor Ballmer estuvo tratando de desinformar a la gente.

Cita #3:

there are problems for commercial users relative to the (GNU General Public License), and we are just making sure people understand the GPL.

Gates said Microsoft’s stance on open source “has been misconstrued in many ways. It’s a topic that you can leap on and say, ‘Microsoft doesn’t make free software.’ Hey, we have free software, the world will always have free software. I mean, if you characterize it that way, that’s not right. But if you say to people, ‘Do you understand the GPL?’ (then) they’re pretty stunned when the Pac-Man-like nature of it is described to them.

There are people who believe that commercial software should not exist at all–that there should be no jobs or taxes around commercial software at all,” Gates said. While that’s a small group, “the GPL was created with that goal in mind. And so people should understand the GPL. When people say open source, they often mean the GPL.

Bill Gates, 2001

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

Hay problemas para usuarios comerciales relacionados con la GPL (Licencia Publica General), y nosotros estamos precisamente haciendo que la gente entienda la GPL.

Gates dijo que la posición de Microsoft acerca del open source “fue malinterpretada de muchas maneras. Es un tema que usted puede pasar por alto y decir, ‘Microsoft no hace software libre.’ Hey, nosotros tenemos software libre, el mundo siempre ha tenido software libre. Quiero decir, si usted lo pone de esa manera, no es correcto. Pero si usted le dice a la gente, ‘Usted entiende la GPL?’ (entonces) ellos quedan bastante asombrados cuando su naturaleza de Pac-Man les es descrita.”

Hay gente que cree que el software comercial no debería existir del todo– que no deberían existir trabajos o impuestos alrededor del software comercial,” dijo Gates. Mientras es un grupo pequeño, “La GPL fue creada con ese objetivo en mente. Y así la gente debería entender la GPL. Cuando la gente dice open source, ellos a menudo quieren decir GPL

EMHO: El software libre hace que los trabajos y los contribuyentes de impuestos desaparezcan? Veamos: ¿Cuánta gente trabaja para Novell? o Canonical? o Red Hat? Estas compañías no pagan impuestos? Por favor! Los ingresos anuales de Canonical están llegando a los 30 millones de dólares. Esta bien, no soy un contador, pero esa cantidad de dinero debería significar ganancias e impuestos para alguien. Ocho años después de esta declaración, creo que la viabilidad económica del software libre o de código abierto está plenamente demostrada, luego el modelo de licenciamiento privativo que el señor Gates defiende para sostener su monopolio es absolutamente innecesario. Estuve revisando el libro “El caldero mágico” (escrito por Eric Raymond) y encontré que existen una gran cantidad de modelos de negocio basados en software libre, así que la teoría y la práctica en esta ocasión coinciden. Mi conclusión: el señor Gates estuvo tratando de desinformar a la gente.

Cita #4:

Then you get to the issue of who is going to be the most innovative. You know, will it be capitalism, or will it be just people working at night? There’s always been a free software world. And you should understand Microsoft thinks free software is a great thing. Software written in universities should be free software. But it shouldn’t be GPL software. GPL software is like this thing called Linux, where you can never commercialize anything around it; that is, it always has to be free. And, you know, that’s just a philosophy. Some said philosophy wasn’t around much anymore, but it’s still there. And so that’s where we part company.

And the farmers will go home at night and work on the source code

Bill Gates, 2002

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

Entonces tienes el asunto de saber quién va a ser más innovador. Tú sabes, será capitalismo, o será sólo gente trabajando en las noches? Siempre ha existido un mundo de software libre. Y usted debería entender que Microsoft piensa que el software libre es una gran idea. El software escrito en las universidades debería ser libre. Pero no debería ser software GPL. El software GPL es como esta cosa llamada Linux, donde usted nunca puede comercializar nada al respecto; esto debido a que siempre tiene que ser gratis. Y, usted sabe, sólo es una filosofía. Alguien dijo que la filosofía ya no está a nuestro alrededor, pero aún está allí. Y es ahí donde nosotros no estamos de acuerdo.

Y los granjeros irán a sus casas en la noche y trabajarán en el código fuente

EMHO:…esa cosa llamada Linux, donde usted nunca puede comercializar nada al respecto?” Oh seguro! Díganle eso a Red Hat, a Novell o a Canonical! Necesito decir algo más sobre esto? No lo creo. Mi conclusión: la misma.

Cita #5:

The GPL violates the U.S. Constitution, together with copyright, antitrust and export control laws, and IBM’s claims based thereon, or related thereto, are barred.

SCO Group, 2003

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

La GPL viola la constitución de los Estados Unidos, junto con los derechos de autor, las leyes de control de exportación y anticompetencia, y las declaraciones de IBM basadas en ella, o relacionadas a ella, están tras las rejas.

EMHO: Esta cita no es de Microsoft, pero logra mostrar como las compañías pueden intentar atacar algunos proyectos, cuando estos se encuentran en contra de sus intereses (léase D-I-N-E-R-O). La GPL es inconstitucional? compartir es inconstitucional? Qué clase de abogado podría utilizar un argumento como ese? Mi conclusión: Algunas veces, me sorprende el mundo en que vivimos :S

Linux uses our intellectual property and Microsoft wanted to get the appropriate economic return for our shareholders from our innovation.

Steve Ballmer, 2006

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

Linux utiliza nuestra propiedad intelectual y Microsoft quiso obtener el apropiado retorno económico para sus accionistas a partir de nuestra innovación.

EMHO: Perdón? Oh! Señor Ballmer, puedo asegurarle que los desarrolladores de Linux están ansiosos por implementar
“La pantalla azul de la muerte” en el kernel. Este sujeto Ballmer es una verdadera joya de la corona, no lo crees? Me estoy poniendo de mal humor, pero no me dejaré seducir por el lado oscuro de la fuerza. Mamá me enseñó que cuando participas en una discusión, las ideas claras son más importantes que los sentimientos personales, así que hablemos de argumentos, hablemos de innovación: ¿Cuál fue el primer navegador para Internet? IE? No! Mosaic ¿Qué hay de la interfaz de Windows Vista y Windows 7? Se ven bastante parecidas al OSX (de Mac)! ¿Qué hay del soporte multi-pestaña de Firefox? Ahora está disponible en IE y por supuesto, la lista sigue. Así que, señor Ballmer, qué hay de toda la propiedad intelectual que Microsoft utiliza de otras compañías y comunidades alrededor del mundo? Mi conclusión: este sujeto tiene un serio problema de ego :P.

Cita #6:

There’s free software and then there’s open source,” he suggested, noting that Microsoft gives away its software in developing countries. With open source software, on the other hand, “there is this thing called the GPL, which we disagree with.

Open source, he said, creates a license “so that nobody can ever improve the software”

Bill Gates 2008

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

Hay software gratuito y hay software de código abierto,” él sugirió, haciendo notar que Microsoft da su software a paises en via de desarrollo. Con software de código abierto, de otro lado, “existe esa cosa llamada GPL, con la cual no estamos de acuerdo

Open source, él dijo, crea una licencia “de tal forma que nadie puede mejorar el software”

EMHO: Nadie puede mejorar el software??? Esta bien, veamos las cuatro libertades de la licencia GPL:
* Libertad para ejecutar el programa, para cualquier propósito (libertad 0).
* Libertad de estudiar como funciona el programa, y cambiarlo para hacer lo que usted desee (libertad 1). Acceso al código fuente es una pre-condición para esto.
* Libertad para redistribuir copias, así usted puede ayudar a su vecino (libertad 2).
* Libertad de mejorar el programa, y publicar sus mejoras (y versiones modificadas en general) al publico, así la comunidad completa se beneficia (libertad 3). Acceso al código fuente es una pre-condición para esto.

De lo que puedo entender, la libertad 1 permite a cualquiera modificar (incluyendo mejorar) el código fuente. Si el software bajo licencia GPL no puede ser mejorado, entonces no debería haber diferencia entre la primera versión del kernel de Linux (310,950 líneas de código) y la ultima (11,637,173 líneas de código). Pero hay montones de mejoras! Solo dale un vistazo a los archivos de cambios :)
Mi conclusión: la campaña de desinformación de Microsoft continúa.

Cita #7:

Linux is proving to be a stronger competitor than Apple for Microsoft

Steve Ballmer, 2009

Mi traducción (a riesgo de errores, correcciones son bienvenidas :P):

Linux está probando ser un competidor más fuerte que Apple para Microsoft

EMHO: Que curioso, ocho años después la gente de Microsoft está admitiendo que Linux a alcanzado un importante lugar en el mercado. Primer ellos se rieron de la comunidad de software libre, después de un tiempo atacaron a las compañías detrás de Linux, luego les temieron y los respetaron como competencia, y ahora escriben código GPL para Kernel de Linux. Mundo extraño, no lo crees?
Mi conclusión: no existen los enemigos pequeños. La historia me ha mostrado que la arrogancia de una gran compañía puede ser su propia destrucción.

Después de leer estos artículos, quedé exahusto (quiero decir, muuuy exhausto) pero siento que he aprendido bastante acerca de la industria del software: es engañosa, es deshonesta, carece de ética pero al final, te da algunas lecciones de vida muy importantes, por supuesto, tú escoges lo que quieres aprender y a que equipo quieres unirte.
Curiosamente, la última cita que encontré sobre este tema no vino de Microsoft, sino de Linus Torvalds, y resulta bastante profunda para mí. Échale un vistazo:

Cita #8:

Soy un gran creyente en la “tecnología sobre la política”. No me importa de quien viene, siempre que existan razones sólidas para el código, y siempre que no haya que preocuparse por cuestiones de licencias, etc.
Puedo hacer bromas acerca de Microsoft, a veces, pero al mismo tiempo, creo que el odio a Microsoft es una enfermedad. Creo en el desarrollo abierto, y que en gran medida no sólo implica hacer la fuente abierta, sino también no excluir a otras personas y empresas.
Hay ‘extremistas’ en el mundo del software libre, y eso es una gran razón por la cual yo no llamé lo que hago “software libre” nunca más. No quiero que se me asocie a la gente para la cual OSS es acerca de exclusión y odio.

Linus Torvalds, 2009

Creo que esta es la lección más importante que puedo aprender de toda mi investigación. Microsoft ha estado atacando el movimiento del software libre/código abierto por años, usando estrategias deshonestas. Esa es la forma en la que ellos quieren competir y seguramente, esa es la razón por la cual tanta gente los odia. Pero después de todo, el odio no es algo bueno. Puedes escoger ser como ellos o actuar como ellos, pero yo no. EMHO, el código GPL escrito por Microsoft es bienvenido a la rama oficial del kernel (nada es imposible!) :D

Tal vez soy demasiado joven para entender lo que se viene en el futuro. Pero al menos, estudiando el pasado ahora entiendo un poco mejor el presente.

Hora de dormir, quedé muerto después de tanto leer! :S

Microsoft GPL Code: Impossible is nothing?

July 30, 2009

Hello guys. Oh yes, this time I couldn’t avoid to talk about the headline of the moment: “Microsoft stuns Linux world, submits source code for kernel“. So, here is my little post about this surprising and unexpected news (well, unexpected at least for me).

Microsoft creating and donating GPL code? for the Linux kernel? Ok, daily hundreds of news surround the technology world, but _this_ is history! No doubt about it, just look around the Internet and you’ll find thousands and thousands of articles and posts about it. Will this code be included in the official kernel source? How good or bad is this code written? What’s the Microsoft’s next move? A lot of people is talking about it, about the present and the future.

Of course, this topic is complex and messy and I have too much to learn yet, so I decided to look toward the past to understand a little why this news is so amazing. Then, I started my investigation about the relation between Linux, Microsoft and the GPL license some years ago. The initial procedure was easy: I picked up these three words in Google, then a lot of links appeared on my screen, so I looked for interviews and conferences about Microsoft people talking about GPL and Linux. After reading for hours, this is what I found:

Quote #1:

to emphasise the competitive threat, and in some senses the competitive opportunity, that Linux represents. Linux is a tough competitor. There’s no company called Linux, there’s barely a Linux road map. Yet Linux sort of springs organically from the earth. And it had, you know, the characteristics of communism that people love so very, very much about it. That is, it’s free.

Steve Ballmer, 2000

IMHO: I was talking to my high school teacher about this and he told me that some people use to link political concepts to another ideas to generate disapproval from people. Besides, he told me that in many countries if something is considered “communist” then is considered evil. So, my question is: How software can be “communist”? how things can have a political context? A cellphone can be communist? Maybe a car? It has no sense to me. I mean, people can be capitalist or communist… but software? Linux is broadly used in USA but in Russia too, so it has no political color. My conclusion: Mr Ballmer was trying to disinform people.

Quote #2:

Linux is a cancer that attaches itself in an intellectual property sense to everything it touches

Steve Ballmer, 2001

IMHO: Cancer is a disease, something bad which destroy. If thousands of developers around the world decide to join in a single project (Linux, for example) to build free/open software for anyone who wants to use it, how could it be something bad? If Linux is a cancer, to share is a cancer. What kind of world we want to build when to share things with others is a disease? Maybe I’m just 18 years old and I’m so naive to understand what Mr Ballmers wanted to mean, but it seems very sad to me. If Linux is becoming an important competitor for Microsoft, that means Linux is a disease for the world? What is a threat for Microsoft is a threat for the planet? I don’t think so.
I don’t know if Intellectual Property is an essential element for the humankind, but the truth is there weren’t lawyers or patents when humans created the wheel or the first hammer or any kind of the first tools. As far as I can understand, the money hungry of some companies has nothing to do with innovation or to make better products. It seems more about to avoid competition. Ironically, I was searching and I found that capitalism is based on free competition, a feature that Microsoft doesn’t like at all. So, finally, who’s a cancer? My conclusion: Mr Ballmer was trying to disinform people.

Quote #3:

there are problems for commercial users relative to the (GNU General Public License), and we are just making sure people understand the GPL.

Gates said Microsoft’s stance on open source “has been misconstrued in many ways. It’s a topic that you can leap on and say, ‘Microsoft doesn’t make free software.’ Hey, we have free software, the world will always have free software. I mean, if you characterize it that way, that’s not right. But if you say to people, ‘Do you understand the GPL?’ (then) they’re pretty stunned when the Pac-Man-like nature of it is described to them.

There are people who believe that commercial software should not exist at all–that there should be no jobs or taxes around commercial software at all,” Gates said. While that’s a small group, “the GPL was created with that goal in mind. And so people should understand the GPL. When people say open source, they often mean the GPL.

Bill Gates, 2001

IMHO: Free Software makes jobs and taxes disappear? Let’s see: How many people work for Novell? or Canonical? or Red Hat? These companies don’t pay taxes? Come on! Canonical’s annual revenue is creeping toward $30 million. Ok, I’m not a bookkeeper, but that amount should mean profit and taxes for someone. After eight years from this quote, I think the Free/Open Software economic viability is plenty demonstrated, so the idea of an exclusive proprietary licensing model as Mr Gates wants to hold his monopoly is not absolutely necessary. I was checking out the book “The Magic Cauldron” (written by Eric Raymond) and it showed me many different business models based on Free Software, so theory and practice this time agree. My conclusion: Mr Gates was trying to disinform people.

Quote #4:

Then you get to the issue of who is going to be the most innovative. You know, will it be capitalism, or will it be just people working at night? There’s always been a free software world. And you should understand Microsoft thinks free software is a great thing. Software written in universities should be free software. But it shouldn’t be GPL software. GPL software is like this thing called Linux, where you can never commercialize anything around it; that is, it always has to be free. And, you know, that’s just a philosophy. Some said philosophy wasn’t around much anymore, but it’s still there. And so that’s where we part company.

And the farmers will go home at night and work on the source code

Bill Gates, 2002

IMHO:…this thing called Linux, where you can never commercialize anything around it?” Oh sure! Tell Red Hat, Novell or Canonical! Do I need to say something else about this? I don’t think so. My conclusion: the same.

Quote #5:

The GPL violates the U.S. Constitution, together with copyright, antitrust and export control laws, and IBM’s claims based thereon, or related thereto, are barred.

SCO Group, 2003

IMHO: This quote is not about Microsoft, but it shows how companies can try to attack some projects, when they are against their interests (read M-O-N-E-Y). GPL unconstitutional? to share is unconstitutional? What kind of lawyer could deal with an argument like this? My conclusion: Sometimes, I wonder about the world we live in :S

Linux uses our intellectual property and Microsoft wanted to get the appropriate economic return for our shareholders from our innovation.

Steve Ballmer, 2006

IMHO: Excuse me? Oh! Mr Ballmer, I can assure you Linux developers are anxious to implement the “Blue Screen of Death” within the kernel. This guy Ballmer is a piece of work, isn’t he? I’m getting in a bad mood, but I won’t be seduced by the dark side of the force. Mom taught me that when you participate in discussions, clear ideas are most important than personal feelings, so, let’s look for arguments, let’s talk about innovation: What was the first web browser? IE? No! Mosaic! What about the Windows Vista/Windows 7 Interface? It looks a lot like OSX! What about the multitab feature of Firefox? Now it’s available from IE and of course, the list is long. So, Mr Ballmer, what about all the “intellectual property” Microsoft uses from other companies and communities around the world? My conclusion: this guy has a serious ego problem :P.

Quote #6:

There’s free software and then there’s open source,” he suggested, noting that Microsoft gives away its software in developing countries. With open source software, on the other hand, “there is this thing called the GPL, which we disagree with.

Open source, he said, creates a license “so that nobody can ever improve the software”

Bill Gates 2008

IMHO: Nobody can ever improve the software??? Ok, let’s see the GPL four liberties:
* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

As far as I can understand, the freedom 1 allows to everyone to change (including improving) the source code. If GPL software can’t be improved, then it shouldn’t be any difference between the first version of the Linux kernel (310,950 lines of code) and the last one (11,637,173 lines of code). But there’s a lot! Just take a look to the changelog files :)
My conclusion: Microsoft’s disinformation campaign goes on.

Quote #7:

Linux is proving to be a stronger competitor than Apple for Microsoft

Steve Ballmer, 2009

IMHO: Curious thing, eight years later the Microsoft’s crew is admitting that Linux has reached an important spot in the market. First they laughed of free/open software community, after a while they attacked the companies behind Linux, then they fear them and respect them as competitors, and now they write GPL code for the Linux kernel. Strange world, isn’t it?
My conclusion: there is no such thing as a small enemy. History has showed to me that the arrogance of a big company can be its own destruction.

After reading all the these articles, I got tired (I mean, _really_) but I feel I have learned a lot about the software business: it’s tricky, it’s dishonest, it’s unethical but in the end, it gives you some important lessons about life, of course you choose what you want to learn and what team you want to join.
Curiously, the last quote I found about this topic didn’t come from Microsoft, but from Linus Torvalds and it’s very insightful to me. Take a look:

Quote #8:

I’m a big believer in “technology over politics”. I don’t care who it comes from, as long as there are solid reasons for the code, and as long as we don’t have to worry about licensing etc issues.
I may make jokes about Microsoft at times, but at the same time, I think the Microsoft hatred is a disease. I believe in open development, and that very much involves not just making the source open, but also not shutting other people and companies out.
There are ‘extremists’ in the free software world, but that’s one major reason why I don’t call what I do ‘free software’ any more. I don’t want to be associated with the people for whom it’s about exclusion and hatred.

Linus Torvalds, 2009

I think this is the most important lesson I can learn from all my investigation. Microsoft has been attacking free/open source movement for years, using dishonest strategies. That’s the way they want to compete and surely, that’s the reason why a lot of people hate them. But after all, hate isn’t a good thing. You can choose be like them or act like them, but I don’t. IMHO, Microsoft GPL code is pretty welcome to the kernel branch (impossible is nothing!) :D

Maybe I’m too young to understand what’s coming up in the future. But at least, studying the past now I understand the present.

Time to sleep, I’m soooo tired! :S

Campus Party: Mi primera experiencia en una LAN de 7 días! XD

July 15, 2009

Hola a todos! Aquí estoy de vuelta, transmitiendo desde Campus Party! Por siete días estaré viviendo la experiencia cibernauta más extrema de mi vida. Videojuegos, desarrollo de software, blogs, robotica, redes sociales, de todo! Mamá no quería dejarme venir, pero finalmente, aceptó.
Estoy tan emocionado. Imagina esto: más de tres mil geeks en el mismo lugar durante siete días con una increíble conexión a Internet (6 GB), alimento y carpas para dormir! (¿Qué más puedo pedir?) Me gustaría contarte acerca de todos los detalles de lo que pasa aquí, pero hay tantas cosas para decir que no sé por donde empezar :S
La mejor forma que encontré para escribir este post es un poco diferente a la usual. Esta vez, haré un resumen por cada uno de los días, hablando de las cosas divertidas e increíbles que encuentre en esta tierra de geeks, así que este post será actualizado cada mañana durante los siguientes seis días y seguramente estará listo el próximo domingo.

Así que, aquí vamos!

Día # 1: Después de una corta espera y una larga fila afuera de la Campus haciendo nuevos amigos, realicé mi registro. Luego corrí hacia la zona de la enorme LAN para escoger mi lugar (muy cerca de la comunidad de Software Libre, por cierto). En pocos minutos, ya tenía todos mis juguetes instalados (portátil, disco duro externo, cámara, consola de juegos, etc), finalmente me dirigí al área de acampar para escoger mi carpa. En menos de media hora ya estaba listo para disfrutar toda la semana!
La primera noche fue especial. Dando vueltas por los corredores conocí a dos invitados especiales: Jon “Maddog” Hal, uno de los iconos más populares de la cultura del Software Libre y diez minutos después, Kevin Mitnick, uno de los hackers más famosos alrededor del mundo. Quizás tuve algo de suerte ese día, porque cuando los conocí, estábamos solos y pudimos conversar durante 5 minutos! Puedes creerlo? Yo estaba en shock! La única forma en la que veo a personas como ellos es en las fotos de la Wikipedia, pero esta vez fue diferente, hablé con ellos! Permíteme decir que: fue I-N-C-R-E-I-B-L-E! :O

Día # 2: Desde la mañana, partí hacia la zona de juegos, una zona de guerra para ser honesto. Hubo cientos de combates y varios comandos SWAT luchando por capturar la bandera del enemigo en juegos como Urban Terror, Open Arena, Call of Duty, Halo, etc. Debo decir que el clan de videojuegos estuvo jugando durante _toda_ la semana y creo que la mayoría de ellos durmieron solo un par de horas por día, quiero decir, estos chicos realmente son unos apasionados por los juegos.
Por supuesto, también vi otro tipo de juegos como WarCraft, es más, vi gente jugando Tetris por horas! Definitivamente, la zona de videojuegos fue el lugar perfecto para conocer a todas las especies de gamers, desde los más novatos hasta los profesionales. Me encanta jugar, lo confieso; pero créeme cuando les digo que estos muchachos llevan las cosas a otro nivel :P
No muy lejos de la zona de juegos, encontré el área de modding. Sabes qué es “modding“? Bueno, en mis palabras: consiste en el arte de cambiar la torre de tu computador, transformándola en algo más. Alguna vez has visto esos computadores con formas y colores especiales? Esos que lucen como acuarios, animales o como un horno microondas? Bueno, pues eso es modding y en la Campus había un montón de gente trabajando en eso.
Vi unas verdaderas obras de arte por ahí: una motocicleta, un roedor llamado “Cuy” y una increíble torre gigante con varios computadores adentro. Nunca lo he intentado, pero creo que el próximo año daré mis primeros pasos en el mundo del modding.
Como parte de las actividades de la arena de modding, vi un experimento que me pareció bastante asombroso, algo que nunca había escuchado antes: overclocking. Seguramente conoces del asunto hace mucho, pero debes admitirlo; es extraño! Bueno, si no sabes qué es overclocking, déjame darte una simple idea al respecto: algunos chicos tratan de cambiar el desempeño de su procesador para hacerlo más rápido utilizando técnicas especiales y materiales como Nitrogeno Líquido (Te lo dije: es raro, pero divertido).

Día # 3: Me la pasé todo el día actualizando mis repositorios de paquetes, bajando y probando toda clase de software, incluyendo las ultimas versiones de sistemas BSD y Linux y al final de la tarde, algunos juegos. Este fue el día de probar el ancho de banda y fue muy rápido o al menos, pude bajar todo lo que necesité y por cada click solo tuve que esperar un par de minutos, bastante bien para mi, teniendo en cuenta que se trataba de Gigas de información. Algunos de mis amigos esperaban una conexión super-hiper-mega veloz, pero contando con 3000 usuarios a la vez, yo no esperaría un nuevo registro mundial de velocidad. Y tú?
Después de 12 horas trabajando en mi compu, decidí hacer algo diferente, así que me dirigí a la tarima principal para disfrutar de un increíble concierto. La banda se llama “Super Litio” y es grandiosa! así que estuve gritando y saltando por el resto de la noche hasta quedar exhausto. Debo confesar que esa noche dormí como un bebé.

Día # 4: Desde el primer momento comencé a sentirme atraído por la arena de Blog. Hubo muchos talleres sobre cómo mejorar tu blog y conferencias sobre multimedia, leyes sobre derechos de autor, gráficos y producción de películas 3D. Aprendí muchos trucos y conocí gente con mucho talento. De otro lado, estuve trabajando en este post, quiero decir, cómo podría pasar por la arena de Blog sin bloguear?
El resto del día estuve hablando con mis amigos, y conociendo más gente todo el tiempo. Eso es algo que me encantó de Campus, encuentras y conoces chicos con habilidades en _cada_ área de la computación: programadores web, programadores de juegos, diseñadores de software, diseñadores gráficos, modeladores en 3D, sysadmins, hasta cocineros! En conclusión, Campus es un lugar perfecto para buscar conocimiento viniendo de gente super descomplicada pero con mucha experiencia en el mundo real, no es grandioso? :P

Día # 5: La jornada comenzó con un entretenido taller usando Virtualbox. Debo confesar que al quinto día empiezas a sentirte cansado por las pocas horas que has dormido durante la semana, pero de otro lado, la variedad de actividades, talleres, concursos y conferencias te empujan a seguir despierto y feliz (bueno, la verdad es que Red Bull ayuda bastante). Después de algunas horas jugando en mi computador, me fui a ver la presentacion del reto de Maddog: un concurso para premiar al mejor vídeo de 3 minutos hecho únicamente con software libre.
Desafortunadamente, no participé porque me di cuenta muy tarde pero después de ver los trabajos de los concursantes he decidido prepararme para el próximo año, así que me dediqué el resto del día a aprender a utilizar una herramienta de vídeo llamada “Kdenlive” (software libre, por supuesto), entonces algo muy gracioso ocurrió: un amigo me dio dos pequeños archivos de vídeo para jugar con ellos, así que simplemente los puse juntos y adivina qué? ese archivo ganó otro concurso de la Campus: “el vídeo más visto“. Puedes creer eso? Ja! La vida está llena de sorpresas :P

Día # 6: Desde la mañana y durante todo el día, una gran cantidad de premios fueron entregados a los ganadores de concursos y entonces, la sensación de fiesta comenzó a sentirse en el aire.
En la tarde, estuve husmeando en la arena de Astronomía, explorando el cielo usando un telescopio, intentando encontrar nuevos planetas (solo bromeo!) y escuchando dos charlas muy interesantes sobre vida alienígena en la tierra y otros temas apasionantes como los viajes al espacio. Me encanta pensar que hay vida en otros planetas; como lo dijo Mulder una vez: “Yo quiero creer”. A propósito, alguna vez has visto hombrecitos verdes? Si es así, me gustaría que me contaras; las historias sobre el espacio y los extraterrestres son de lujo! :)
Ese fue un día extraño para mi, quiero decir, estuve feliz hasta el ultimo momento pero saber que en menos de 24 horas la Campus terminaría por este año, me hizo sentir un poco nostálgico/triste y mucho más cuando fui a comer algo en la noche y la cafetería estaba tan sola. El resto de la noche la gente se quedó bailando hasta el amanecer.

Día # 7: En realidad solo fue medio día. A las doce, el acceso a Internet fue removido y oficialmente la Campus terminó. Esas ultimas horas la gente se dedicó a empacar y a abandonar el lugar haciendo parte de una escena muy triste. Fue el momento de tomar algunas fotos, decir adiós a mis nuevos amigos y entonces, empezar mi viaje de regreso a casa.

Campus Party ha cambiado mi vida, no hay duda al respecto. Después de esta semana grandiosa ya no seré el mismo. Si algún día vas… espero encontrarme contigo entre corredores; tal vez el próximo año! Quién sabe?! :D

Suficiente por ahora. Hora de jugar! [Urban Terror] :)

Campus Party: My first 7-days LAN party experience! XD

July 15, 2009

Hello everybody! Here I am, transmitting from Campus Party! For seven days I’ll be living the most extreme Internet experience of my life. Gaming, software development, blogging, robotics, social networking, you name it! Mom didn’t want me to come, but finally, she let me.
I’m so excited about it. Imagine this: more than three thousand geeks in the same place for seven days with an incredible broadband (6 GB), food and camping! I would love to tell you about every detail in here, but there are too much things to say and I don’t know where to begin :S

The better way I found to write this post is a bit different than my previous. This time, I will do a summary for every day talking about the funny and incredible things I see in this geekland, so this post will be updated every morning for the next six days and it’ll be done by Sunday.

So, here we go!

Day # 1: After a while and a long line outside the Campus but making new friends, I did the registration stuff and then I ran to the LAN zone to choose my place pretty close to the Free Software community. In a few minutes, I set up all my gadgets (Laptop, external HD, camera, game console, etc) and then I went to the camping area to pick up my tent. In less than half an hour I was ready to enjoy the whole week!
The first night there was special. Walking around the walkways I met two special guests: Jon “Maddog” Hal, one of the most popular icons from the Free Software culture and ten minutes later, Kevin Mitnick, one of the most famous hackers around the world. Maybe I was lucky that day, because when I met them, we were alone and we could have a casual/cool conversation for five minutes! Can you believe it? I was shocked! The only way I use to see people like that is in Wikipedia pictures, but this time, I was talking to them! Let me say: it was A-W-E-S-O-M-E! :O

Day # 2: Since morning, I was visiting the gaming zone, a war zone to be honest. There were hundreds of combats and many swat teams fighting to capture the enemy flag from games like Urban Terror, Open Arena, Call of Duty, Halo, you name it. I must say that gamers clan were playing the whole week and I think most of them just slept a couple hours per day, I mean, these guys are really passionate about games.
Of course, I saw another sort of games like WarCraft, even more, I saw people playing Tetris for hours! Definitely, the gaming arena was a perfect place to know all the gamer species, from newbies to professionals. I enjoy playing, I confess, but believe me, these kids take things to another level :P
Not so far from the gamers zone, I found the case modding area. Do you know what “case modding” is? Well, in my words: it’s the art of changing the case of your computer transforming it into something else. Have you ever seen those computers with special shapes or colors? I mean, looking like aquariums, animals or a microwave oven? Ok, that’s case modding and at Campus there was a lot of people working on it.
I saw many pieces of work there: a motorcycle, a rodent called “Cuy” and an incredible big tower with several computers inside. I never have tried before, but I think the next year I’ll give my first steps into this interesting area.
As part of the activities in the modding arena, I saw a very crazy experiment, something I never heard before: overclocking. Maybe you already know about it, but you must admit it; that’s weird! Ok, if you don’t know what’s overclocking, let me give you a simple idea: some guys try to change the performance of a processor to make it faster using special techniques and materials like Liquid Nitrogen (I told you: it’s weird, but very fun).

Day # 3: I spent the whole day upgrading my package repositories, downloading and testing many kinds of software, including the latest BSD and Linux distros and at the end of the afternoon, some games. It was a day to test the bandwidth and it was very fast or at least, I could download everything I wanted and for every click I just had to wait some minutes, pretty enough for me. Some of my friends were expecting a faster-incredible-hyper connection, but counting on more than 3000 users at the same time, I wouldn’t expect a new guiness record about bandwidth speed ¿Would you?
After 12 hours working on my box, I decided to do something else, so I went to the main stage to enjoy an incredible concert. The band is called “Super Litio” and it’s great! so I was screaming and jumping around the rest of the night until I got really tired. I must confess that night I slept like a baby.

Day # 4: I was attracted by the Blog arena since the first moment. There were many workshops about how to enhance your blog and conferences about multimedia, copyright laws, graphics and 3D movies production. I learned nice tips and met a lot of talented people. On the other hand, I was working on this post, I mean, how to stand at the Blog arena without blogging?
The rest of the day I was talking with my friends, meeting new people all the time. That’s something I like of Campus, you find and meet guys with skills in _every_ computer field: web programmers, game programmers, software designers, graphical designers, 3D modelers, sysadmins, you name it. So, Campus is a perfect place to look for knowledge coming from cool people with experience in the real world, isn’t great?

Day # 5: The journey started with a nice workshop using Virtualbox. I must confess that at the 5th day you start feeling very tired because the few hours you have slept along the week, but on the other hand, the variety of activities, workshops, contests and conferences pull you to keep awake and happy (well, the truth is Red Bull helps a lot). After some hours playing on my computer, I was following the Maddog’s challenge: a contest about making a 3 minutes video using only free software.
Unfortunately, I didn’t participate because I was aware too late but after watching the competitor’s works I decided to get ready for the next year, so I spent the rest of the day learning to use a video editing software called “Kdenlive” (free software, of course), then a funny thing happened: a friend gave me two little pieces of video to play with, so I just put them together and guess what? that video won another contest at Campus: “the most watched video“. Can you believe that? Ha! Life’s full of surprises all the time :P

Day # 6: Since morning and along the whole day, a lot of prizes were given to the contests winners and then, the feeling that a party was coming started to flow on the air.
In the afternoon, I was sneaking around the Astronomy arena, scanning the sky using telescopes, trying to find new planets (just joking) and listening two interesting talks about alien life on Earth and other cool topics as space traveling. I love to think there’s life on another planets; as Mulder said once: “I want to believe”. By the way, have you ever seen little green men? I would like to know about it; space/alien stories rulez! :)
Besides it was a strange day for me, I mean, I was happy until the last moment but to know that in less than 24 hours Campus would end for this year made me feel a little nostalgic/sad. And more when I went to eat something at night and the dining room was so lonely. The rest of the night people was dancing until the dawn.

Day # 7: It was a half day really. At noon, the Internet access was broken down and officially the Campus was over. Those last hours people were packing and leaving the place making a pretty sad scene. It was the moment to take some pictures, say goodbye to my new friends and then, start my trip back home.

Campus Party has changed my life, no doubt about it. After this great week I won’t be the same. If some day you can go… I hope to find you there; maybe next year! who knows? :D

Good enough for now. Gaming time! [Urban Terror] :)

Ese bug llamado 4m0r…

June 29, 2009

Hola a todos de nuevo. Lo primero que me gustaría decir en esta ocasión, es que me encuentro muy feliz porque una gran cantidad de amigos puso atención a mi ultimo post. El panel de administración del blog me mostró que más de 800 personas estuvieron visitando mi pagina el primer día de dicha publicación, lo cual me dejó muy asombrado. Debo decir que me encanta escribir en mi blog porque es un lugar genial para expresar mis ideas y todo lo que siento, y eso es todo, sin embargo cuando sabes que un puñado de geeks está prestando atención a lo que publicas, se siente genial!
Sólo tengo 18 años, y tal vez esto no signifique nada para el resto del mundo, pero debo confesar que me hicieron sentir como una estrella de rock por un minuto, lo que fue fabuloso y lo que me invita a gritar: G-R-A-C-I-A-S! :D

Bien, ahora hablemos un poco acerca de lo que sucedió esta semana en mi vida. Desde que puedo recordarlo, me he sentido atraído por todo lo relacionado con tecnología: computadores, Internet, dispositivos móviles, software, etc. Como geek, la mayor cantidad de mis días han transcurrido en compañía de pocos amigos en el mundo real, mientras espacios como IRC, MSN o Facebook se han convertido en mi hábitat natural, ese rincón en donde “muestro” mi rostro a la humanidad.
Definitivamente socializar no es una de mis características sobresalientes, pero igual, ¿Cuántos geeks son sociables? Siempre somos tan amigables cuando estamos en línea, no es cierto? cuando los bits fluyen a través de la red, cuando la pantalla del computador se convierte en el escudo que nos protege de la realidad, pero muy silenciosos y tímidos cuando estamos en medio de una fiesta real conociendo gente real. Las LAN parties son una excepción a la regla, por supuesto! ;)

No quiero estigmatizar a la generación de los “chicos del computador” que creció conmigo, pero la mayoría de mis amigos geeks son tan reservados como yo. Y saben algo? pienso que está bien, quiero decir, es una característica! Si Microsoft puede etiquetar sus bugs como “características”, por qué la timidez no puede ser una característica? No debería ser un problema, correcto? bueno, pues no lo es… excepto cuando te enamoras.

Hace algunos días cuando salí en busca de algunos CDs por el vecindario, conocí una chica. Ella no es la primera chica hermosa que conozco, es mas, hay un montón de chicas lindas en la Universidad, pero esta vez algo diferente sucedió. Por alguna razón, cuando la vi me quedé petrificado. Mi sistema operativo se bloqueó, fue un kernel panic, un “init 0“, un “poweroff“, un “halt“, no sé como explicarlo pero la chica puso mi mundo de cabeza y la única cosa que tuvo que hacer fue aparecer en escena y desde ese momento, no puedo dejar de pensar en ella.

Me sorprende todo esto, quiero decir en serio, porque esta es la primera vez en mi vida que siento todas estas cosas en una sola dosis: ansiedad, incertidumbre, stress, insomnio, preocupación, angustia, adrenalina… todas esas emociones que vienen de tu corazón cuando estás enamorado. Si, este es mi primer amor y su nombre es Angie, no hay duda al respecto.
Curiosamente, una vez le pregunté a Mamá: “¿Cómo supiste que estabas enamorada de Papá?” y ella me respondió: “Simplemente lo supe!“. En ese momento no pude entenderlo, pero justo ahora, se exactamente a que se refería. El Amor es una de esas experiencias que no puedes explicar con palabras y que solo entenderás realmente cuando la vivas.

Si me preguntas, encuentro una similitud muy cercana entre el amor y las vulnerabilidades de software. De alguna forma, podría decirse que el amor es un bug, porque:

  • Es inesperado. Nunca sabes cuando va a suceder
  • Altera el funcionamiento de tu sistema. Usualmente, extraños comportamientos aparecen donde menos lo imaginas
  • Si quieres removerlo de tu equipo, te tomará algún tiempo hacerlo
  • Algunas veces puede tratarse de un “zero day“, así que no tienes forma de escapar de él
  • Cuando crees que tu sistema está seguro, entonces una nueva vulnerabilidad aparece y caes de nuevo
  • Cualquier sistema es vulnerable, no importa el fabricante o cuan joven o viejo te sientas
  • Viene en mucha formas diferentes. No existe un tipo único, sino montones de variantes

Quizás haya olvidado incluir algunos otros puntos, pero si quieres ayudarme con la lista, sugerencias son bienvenidas :)

Lo curioso de todo esto, es que Angie no es geek. Ella es una persona normal y la verdad, no sé si un romance entre nosotros podría funcionar, pero apuesto a que es demasiado pronto para saber que va a ocurrir, porque la verdad, ella aun no me conoce. ¿Qué opinas de las relaciones entre geeks y no-geeks? alguna historia para contar? Comentarios y sugerencias son bienvenidos, porque justo ahora soy un novato del sistema operativo llamado amor :P (Por Dios! Que cursi sueno! :S)

Dando vueltas en Internet, estuve buscando información acerca de este tema. Como ya lo sabes, la red es el sitio en donde puedes encontrar datos acerca de todo, así que pensé: “Necesito encontrar el ‘Howto del Amor’ (si es que existe)“. Después de un par de horas me rendí, pero encontré dos enlaces divertidos que quiero compartir contigo:
* Aprenda a amar en linea
* Cómo escribir una carta de amor

En esos dos sitios hay sugerencias interesantes, sin embargo ya tengo claro que el amor es una ciencia pragmática, así que como ya lo dije antes, solo viviendo el proceso es que realmente puedes aprender. Es parte de la vida, supongo.

Como usualmente pasa, Mamá estuvo en lo correcto de nuevo: “Cada día trae su propia sorpresa“, ahora debo lidiar con esta nueva experiencia en mi vida. Mientras escribo este post, soy un sistema infectado con ese bug llamado 4m0r

Hora de patinar, nos vemos luego!

That bug called L0v3…

June 29, 2009

Hello again to everyone. The first thing I want to tell this time, is that I’m very happy because there was a lot of you reading my last post. The blog admin panel showed me that more than 800 people were checking my page at the first day, which was stunning for me. I have to say that I love to write on my blog because it’s a pretty nice place to express my ideas and feelings, and that’s all, but then, when you realize that a bunch of some geeks are paying attention to you, oh! this is great.
I’m just 18 years old, and maybe this is not a big deal for all of you, but I must confess that you made me feel like a rockstar for a minute, so that was pretty cool and because that I want to say: T-H-A-N-K Y-O-U! :D

Ok, now let’s talk about what happened the last week of my life. Ever since I can remember, I felt attracted to technology stuff: computers, Internet, gadgets, you name it. As a geek, the most time of my days has passed with a few friends in the real world and virtual spaces like IRC, MSN or Facebook have become the natural places where I show my face to the rest of the mankind. Definitely to socialize is not one of my outstanding skills, but anyway, what geek does it? We are always so friendly when we are on-line, aren’t we? when we are bits flowing through the network, when the computer screen becomes our shield against reality, but so quiet and shy when we are in the middle of a real party meeting real people. LAN parties are exceptions to the rule, of course! ;)

I don’t want to stigmatize the “computer guys” generation that grew with me, but most of my geek friends are so reserved as me. But you know something? I think is right, I mean, it’s a feature! If Microsoft can label its bugs as “features”, why timidness can’t be a human feature? It shouldn’t be a problem, right? well, It isn’t… except when you fall in love.

Some days ago when I went out looking for CDs around the neighborhood, I meet this pretty girl. She isn’t the first awesome woman I meet, even more, there’s a lot of pretty girls at college, but this time something different happened. For some reason, when I saw her I got frozen. My operating system crashed down, it was in kernel panic, “init 0“, “poweroff“, “halt“, I don’t know how to explain it but that girl turned my world upside down and the only thing she had to do was to appear and since that moment I can’t stop thinking about her.

I wonder about this, I mean really, because this is the first time of my life that I feel all this stuff in just one dose: anxiety, uncertainty, stress, insomnia, worry, sorrow, adrenaline… all those emotions coming from your heart when you are in love. Yes, I’m in love for the first time and her name is Angie, no doubt about it.
Curiously, once I asked to Mom: “How can people know when they fall in love?” and she answered to me: “It’s simple, you just know it!“. In that moment I couldn’t understand it, but right know, I got what she meant exactly. Love is one of those experiences that you can’t explain with words but that you’ll only understand truly when you experience it.

If you ask me, I find a very close similarity between love and software vulnerabilities. In some way, I could say Love is a bug, because:

  • It’s unexpected. You’ll never know when it’ll appear
  • It changes the behavior of your system. Usually, strange features pop up where you wouldn’t guess it
  • If you want to remove it from your box, it’ll take you some time
  • Sometimes it can be a “zero day“, so you have no way to scape from it
  • When you think your system is safe, then a new vulnerability appears and you fall again
  • Any system is vulnerable. It doesn’t matter how young or old you think you are
  • It takes many forms. There’s no just one kind of it, but a lot

Maybe I forgot to include some other points, but if you wanna help me with the list, suggestions are welcome :)

The curious thing about all this, is that Angie isn’t a geek. She is a normal person and I don’t know if a romance between us could work, but I bet it is too early to guess what will happen because, truth be told, she still doesn’t know me. What do you think about relationships between geeks and non-geeks? any story to tell? Comments and advices are very welcome, because right now I’m just a newbie of love platform :P (Oh God! I sound ridiculous :S)

Sneaking around the Internet, I was looking for information about the topic. As you already know, the Internet is a place where you can find data about everything, so I thought: “I need to find the Love Howto (if something like that exists)“. After a couple of hours I gave up, but I found two funny links that I want to share with you:
* Learn to love on-line
* How to write a love letter

I found some interesting tips there, but I already understood that love is a pragmatic science, so as I said before, only by living the process you can really learn. That’s part of life, I guess.

Like usual, Mom was right: “Every day has it’s own surprise“, now I have to deal with this new experience in my life. As far as I write this post, I’m a system infected with that bug called L0v3

Skating time, see you later pals!

El profe : 1 – Tito: 0 (La vida no es justa!)

May 24, 2009

Hola amigos! de nuevo por aquí! Esta vez, quiero compartir con ustedes un curioso asunto que me ocurrió en la universidad hace algunos días.
Si de vez en cuando revisas mis mensajes en Identi.ca, tal vez hayas notado que estuve trabajando en mi proyecto final de bases de datos. El alcance de la tarea no era demasiado ambicioso: tenía que crear algunos procedimientos almacenados en una base de datos relacional, ejecutarlos y mostrar los resultados desde una aplicación web sencilla. Difícil? No en realidad.
El hecho gracioso ocurrió cuando tuve que exponer mi proyecto a la clase y mi profesor comenzó a hacer preguntas. Para hacerlo mas fácil de contar, déjame mostrarte una parte de nuestra conversación:

El profe: Y cuéntanos Tito, qué software utilizaste para tu proyecto?
Yo: mmmh… Apache, PHP and PostgreSQL
El profe: PostgreSQL? Por qué?
Me: Bueno, es un motor de bases de datos relacionales y cumplía con los requerimientos del proyecto
El profe: Y soporta procedimientos almacenados?
Yo: Si señor
El profe: Pero… por qué no utilizaste Oracle? como el resto de la clase?
Yo: Porque PostgreSQL es una buena opción
El profe: Tito, el mercado demuestra algo diferente
Yo: Bueno, mi aplicación es 20 segundos más rápida que la de mis compañeros
El profe: Ese no es el punto… la elección del mercado es un factor importante en el momento en que vayas a buscar un empleo
Yo: Y cuál es la idea de estudiar informática si no puedo aplicar mi propio criterio?
El profe: Oh Tito, olvidaba que tú eres uno de esos “muchachos del Software Libre“… por qué son tan obstinados?
Yo: Porque pensamos! (y entonces, me fui del salón).

En la siguiente clase, el profesor nos entregó las notas y adivinen qué? obtuve un “1.0“. Mi aplicación fue la más rápida y con un buen diseño, pero obtuve un “1.0“. ¿1.0? Esto es injusto, no hay duda al respecto!
Cuando fui a hablar con el profesor acerca de mi nota, me dijo: “Lo siento Tito, tuviste que usar Oracle y es todo! por favor, no más debates al respecto“.
Debate? Ni siquiera tuve la oportunidad de defender mi punto! Definitivamente, este post no es sobre asuntos técnicos, es acerca de los derechos de los estudiantes. Los estudiantes tienen derechos… correcto? al menos, quiero creer que si.

Estuve pensando en hablar con el decano al respecto, pero mis compañeros de clase me advirtieron: esa no es una buena idea. Ellos me dijeron que si discutía sobre este asunto, el profesor iba a tomar las cosas de manera personal (me refiero a una brutal venganza) y entonces, la clase de bases de datos se iba a colocar realmente _agresiva_. Mis compañeros tienen miedo, porque si hago un gran escandalo, entonces daré inicio a una guerra y ellos harán parte de las víctimas. De otro lado, no me interesa ser el chico problema de la clase… así que me siento con las manos amarradas, mientras que el profesor disfruta de su dictadura.

Me pregunto si alguien ha tenido que pasar por esto también… a ti te pasó? Me gustaría saber de otros casos, porque la verdad, no sé que hacer. Lo único que sé es que deseo que se haga justicia, quiero decir: hice mi tarea, funciona muy bien y cumplí con todos los objetivos del proyecto, pero mi premio es un “1.0“. Bueno, pues no estoy de acuerdo y lo puedo decir miles de veces: no es justo! Tal parece que mi blog es el único lugar donde puedo desahogarme :(

No puedo dejar de pensar en esto… Cuál es el crimen de usar PostgreSQL si haciendo algunos ajustes pude obtener mejores resultados en mis consultas? Qué tiene de malo ser un “chico del Software Libre“? en qué debería convertirme? en un “chico Microsoft“? un “chico Oracle”? Me pregunto cuál es el factor que define mi calificación? Seré el chico de las malas notas por el resto de mi vida? Si sigo usando Software Libre para mis tareas, tal parece que si :S
Después de pasar por esto, he comenzado a pensar en la relación directa que existe entre la Industria del Software y las Instituciones Educativas. Supongo que ya lo habías notado, pero debo confesar que yo no, y ahora me preocupa… quiero decir, realmente. Los profesores nos ayudan a definir muchas de nuestras habilidades como informáticos, ellos representan una fuerte influencia en nuestra carrera, lo que es una bendición cuando conoces a un gran maestro. Desafortunadamente, también vas a conocer malos profesores y algunos de ellos serán fanáticos de algunos productos de software específicos que tal vez no te agraden.

No tengo problema utilizando software privativo para algunos de mis trabajos si se hace necesario para entender un nuevo concepto, sin embargo, si existe una herramienta libre para reemplazar el software de código cerrado, por qué es un pecado usarlo?

Quiero decir, nuestra experiencia en la universidad se reduce a una experiencia de marcas? Creí que la informática consistía en conceptos y técnicas, ideas que puedes representar de varias formas, no solo una. Lo que me parece horrible, es que para algunos profesores solo existe la forma “ponga_el_nombre_de_su_compañía_aquí“, y lo peor de todo es que ellos tienen los medios para obligarte a usar el software que ellos quieren: tu calificación.
Teniendo en cuenta todos los “Campus Agreements” firmados entre compañías y universidades, colegios y escuelas, es fácil entender por qué la experiencia de marcas se mantendrá como una característica institucional a largo plazo para las futuras generaciones de estudiantes alrededor del mundo.

Debo confesar que me siento confundido e impotente esta vez… solo espero aprobar mi clase de bases de datos :(

Comentarios, consejos o lo que sea son bienvenidos, mis queridos amigos virtuales! :)

Teacher : 1 – Tito : 0 (Life is unfair!)

May 23, 2009

Hello pals! Here I am again! This time, I want to share with you something curious that happened at college some days ago. If you check my Twitter messages, maybe you noticed that I was working on my database final homework. The project scope wasn’t ambitious at all: I had to create some stored procedures in a relational database engine and then, execute them and show the results from a simple web application. Tricky? I don’t think so.
The funny thing happened when I had to present my project to the class and my teacher started to make questions. To make it easier, let me show you a little piece of our conversation:

My teacher: And tell us Tito, what software did you use for this project?
Me: Let me see… Apache, PHP and PostgreSQL
My teacher: PostgreSQL? Why?
Me: Well, it’s a relational database engine and that was part of the project requirements
My teacher: And it supports stored procedures?
Me: Yes sir!
My teacher: But… why didn’t you use Oracle? like the rest of the class?
Me: Because PostgreSQL is a good option
My teacher: Tito, the market says something different
Me: Well, my application is 20 seconds faster than the others
My teacher: You are missing the point… market choice is an important issue when you are going to look for a job
Me: And what’s the point about studying computer scientist if I can’t have my own criterion?
My teacher: Oh Tito, I forgot you are one of those “Free Software kids”… why are you always so obstinate?
Me: Because we think! (and then, I left the classroom).

In the next class, the teacher told us the grades and guess what? I got an “F“. My application was the fastest and well designed, but I got an “F“. ¿F? What the F…! This is unfair, oh! no doubt about it.
When I went to talk to my teacher about my grade, he said: “Nock it off Tito… you had to use Oracle and that’s all! please, stop complaining“.
Complaining? I didn’t have the chance to defend my point! Definitely, this post isn’t about technical stuff, this is about student’s rights. Students have rights… right? At least, I want to believe it.
I was thinking about talking to the college principal about this, but my classmates warned me clearly: that isn’t a good idea. They told me that if I try to argue about this, my teacher will take things in a personal way (I mean brutal revenge) and then, the database class is going to get _really_ tough. My classmates are afraid because if I do a pretty scandal on this, then, a war will begin and they’ll be punished. On the other hand, I don’t want to become the unpopular database class guy… so, my hands are tied for now while my teacher enjoys his dictatorship.

I wonder if someone ever experienced something like this? Did you? I would like to know about another cases, because I don’t know what to do. The only thing I know is that I want justice, I mean: I made the homework, it worked pretty well and I achieved all the project goals, but my prize is an “F“. Well, I don’t agree and I can say it thousands of times: this is unfair! It seems like my blog is the only place where I can relieve myself :(

I can’t stop thinking about it… What’s the crime about using PostgreSQL if making some improvements I can obtain better results in my queries? What’s wrong being a “Free Software kid“? What should I become? a “Microsoft kid”? an “Oracle kid”? I wonder about what’s the fact which defines my grade. Will I be an “F” kid for the rest of my life? If I keep on using Free Software to do my homeworks, apparently I will :S
After this issue, I started to think on the direct relationship between the Software Industry and the Education Institutions. I guess you already realized this, but I must confess I never did it and now, it worries me… I mean, really. Teachers help us to define a lot of our skills as computer scientists, they represent an strong influence in our career which is a blessing when you meet a great teacher. Unfortunately, you will meet bad teachers too and some of those will be fanatics of some specific software products that probably you don’t like.

I have no problem using proprietary software for some of my homeworks if that’s necessary to understand a new concept, nevertheless, if there are open resources to replace the closed source software, why is sinful to use it?
I mean, it’s our college experience a branding experience? I thought computer science was about concepts and techniques, ideas that you can represent in many ways, not in just one. What seems horrible for me, it’s that for some teachers there only exists the “put_your_company_here way“, and the worst part of all is that they have the means to oblige you to use the software they want: your grade.
Considering all the “Campus Agreements” signed between companies and universities, colleges and schools, it’s easy to understand why the branding experience seems to be a long-term institutional feature for the next generations of students around the world.

I confess I feel confused and powerless on this one… I only hope to pass my Database class :(

Any comments, advices or whatever are very welcome, my dear virtual friends! :)

En busca del HowTo del buen programador

April 27, 2009

Hola chicos! Bienvenidos de vuelta a mi rincón. Esta vez quiero hablar sobre programación. Todo empezó en mi ultima clase. Cuando entré al salón, había una cita escrita en el tablero con letras grandes que decía:

“Controlar la complejidad es la esencia de la programación computacional.”
                                                            Brian Kernighan

Mi profesor de programación suele escribir frases celebres como esa en cada clase, pero debo confesar que esta vez, el mensaje me impresionó bastante y además, me inspiró a escribir este post.
Actualmente, conozco las bases de algunos lenguajes de programación, no es la gran cosa en realidad, pero ahora, quiero aprender los secretos que hay detrás de la buena programación. No me refiero a los trucos específicos sobre algún lenguaje o paradigma específico, no, hablo sobre la esencia de un buen programador. Es como cuando ves a un crack de fútbol jugando y reconoces su talento único, su estilo particular. Definitivamente, quiero desarrollar mi propio estilo de programación… pero, cómo lograrlo? existe un HowTo para ser un buen programador?

Ok, soy un novato y necesito aprender a gatear antes de aprender a caminar, eso lo tengo muy claro. Por el momento, tengo algunas habilidades básicas trabajando con scripts en Bash, C, C++, Python, Perl, Java, C# y una vez le di una rápida probada al lenguaje Ensamblador por una hora (una experiencia algo ruda para mí).
Mi propio balance me dice que voy a necesitar años y años de práctica. De todas maneras, no me importa cuanto tiempo tome; desde el comienzo, quiero hacer las cosas bien.

Algunos de mis compañeros de clase, creen que la clave para ser un buen programador está en el IDE (Ambiente de Desarrollo Integrado). A mi juicio, ellos decidieron renunciar a su responsabilidad como desarrolladores y se la dieron a su herramienta de programación. Pueden creerlo? Yo no puedo estar de acuerdo con esto. Entiendo que un buen IDE puede ayudarte a ser más productivo, pero dónde debería estar el talento? en el computador o en mi cabeza? Cuál es el papel que desempeña un IDE? La idea de depender de una aplicación especifica de software para obtener mi primer trabajo dentro de algunos años, me vuelve loco! :S Quiero desarrollar mis propias habilidades como informático y definitivamente, no quiero ser un zombie detrás de una etiqueta como Microsoft .NET Framework o algo por el estilo. Quiero ser contratado por mi currículum, quiero recibir un pago por mi trabajo y no por las herramientas que utilizo… estoy pidiendo demasiado?

Mi vecino Billy, de otro lado, dice que el secreto de la buena programación es sencillo: debo aprenderme la API completa del lenguaje que quiero utilizar. Él dice que si conoces todas las funciones o métodos, entonces puedes escribir la pieza de código que quieras y eso te hace un buen programador. Por supuesto, no estoy de acuerdo con Billy.
Creo que la programación es en gran parte diseño, de otra manera si todo dependiera de las API’s, crear un programa podría convertirse en una tarea para otros programas y no para seres humanos. No te parece?

He leído que algunos científicos se encuentran trabajando en el tema, utilizando Inteligencia Artificial (IA) para crear desarrolladores virtuales, y quizás algún día, lo logren. Suena genial, sin duda alguna, es más, puedo imaginarlo: enormes maquinas de alto desempeño creando algoritmos para resolver problemas complejos en un puñado de nanosegundos. Algunos de ustedes podrían estar pensando: “ese no es el futuro, es el presente!” y yo digo: si… pero, ya pueden resolver cualquier clase de problema? No lo creo, además, la verdad es que no me asusta. Por qué? bueno, en mi opinión personal, creo que programar es un arte, como escribir una novela o pintar… se necesita poner algo de tu alma, de sentimiento en eso que haces. Cómo podría hacerlo una maquina?
Por supuesto, también entiendo el punto de vista del mercado: el código fuente solo es un conjunto de mensajes extraños detrás del software, y el único punto que importa es vender (el dinero habla de nuevo). “Si compila, véndalo!” es una de las frases favoritas de mi profesor de programación cuando nos habla sobre la forma en que las grandes compañías de software operan.

Pensar como un artista cuando trato de escribir una pieza de código, es un error? Quién debería ser un buen programador? ese que crea grandes programas rápidamente? o aquel que escribe el software preciso para resolver un problema? Cuál es la clave del buen software? millones de lineas de código? A quién le importa la belleza del código por estos días? Si tienes alguna pista al respecto, por favor, avísame!

En mi clase de programación, aprendí algunas cosas básicas sobre “Aseguramiento de la Calidad del Software” (SQA en inglés). Según lo que entendí, esta técnica te ayuda a detectar los errores en el software que te encuentres desarrollando, lo cual es bueno, porque no deseo crear programas de computadora para generar nuevos problemas, sino para resolverlos. El punto es, puede una pieza de código estar libre de errores y ser código feo al mismo tiempo? Me gustaría pensar que es imposible, pero no tengo suficiente experiencia para dar una buena respuesta.
La única cosa que puedo decir es que no quiero escribir código feo. A propósito, quién hizo las pruebas de SQA para Windows Vista? Alguien lo hizo antes de que Microsoft comenzara a venderlo? Aún recuerdo leer en los sitios Web de Dell: “Dell recomienda Windows Vista” en esos días cuando el mundo entero comenzó a protestar por la inestabilidad del producto y el pésimo soporte del hardware (Vista capable te recuerda algo?). El mercadeo es un arte oscuro, no te parece?

Por ahora, estoy tratando de encontrar mi propio estilo estudiando el código de famosos programadores como Linus Torvalds, Alan Cox y Miguel de Icaza. He estado revisando algunos de sus proyectos y creando mis propios programas, poniendo atención en las características del código que ellos escriben. El proceso es lento y necesitaré de toda mi vida para obtener una gran habilidad, lo sé y tengo que lograrlo porque es mi naturaleza, después de todo, soy un g33k y me encanta programar!

Si tienes algún consejo sobre este tema, cualquier ayuda es muy muy bienvenida! :)

print “Nos vemos luego amigos! Hora de patinar! :P\n”

PD: A propósito, te recomiendo leer el artículo “Cómo reconocer un buen programador” (en inglés). Buen material! :P

Searching for the good programmer Howto

April 26, 2009

Hello guys! Welcome back to my place. This time I want to talk about programming. The reason came from my last class. When I got into the classroom, there was a big quote on the blackboard:

“Controlling complexity is the essence of computer programming.”
                                                            Brian Kernighan

My teacher uses to write famous quotes like that in every class, but I must confess this message shocked me deeply and besides, it inspired me to write this post.
Currently, I know the basics of some programming languages, no big deal at all. But now, I wish to learn the secrets behind good programming. I’m not talking about the tips for some specific language or paradigm, no, I’m talking about the essence of a good programmer. It’s like when you see a soccer crack player and you recognize his unique talent, his unique style. Definitely, I want to develop my own programming style… but, how to do that? Is there a real good programmer HowTo?

Ok, I’m a newbie and I need to learn to crawl before learning to run, I’m aware of that. The last two years I’ve been working with Bash scripting, C, C++, python, perl, java, C# and once I “tasted” the surface of assembler for one hour (tough stuff for me).
For now, it seems that I need years and years of practice. Anyway, I don’t care how much time it takes… from the beginning, I want to do things well.

Some of my classmates, believe that the key for being a good programmer is the IDE (Integrated Development Environment). They quit to their responsibility as developers and let it lies on the programming tool. I just can’t agree with this. I understand that a good IDE can help you to get more productivity, but where should be the talent? within the computer or within me? What’s the role of the IDE? The idea of depending on a software specific application to get my first job in some years ahead, drives me crazy! :S I want to develop my own skills as computer scientist and definitely, I don’t want to be a zombie behind a label like Microsoft .NET Framework or something. I want to be hired because my curriculum, I want to get paid because my work and not for the tools I use… too much to ask?

My neighbor Billy, on the other hand, says that the secret about programming is simple: learning the whole API of the language you want to use. He says that if you know all the functions or methods, then you can write any piece of code you need and that makes you a good programmer. Of course, I don’t agree with him. Programming is more about design, otherwise whether everything depends on the API, create a program should be done by another programs and not for human beings. Don’t you think that?

I know that some scientists are working on that way, using Artificial Intelligence (AI) to create virtual developers, and maybe some day, they reach their goal. It sounds awesome, no doubt about it, even more, I can imagine it: high-speed big machines creating algorithms to resolve complex problems in a bunch of nanoseconds. Some of you could be thinking: “that’s not the future, that’s the present!” and I say: yes… but, can they solve any kind of problem? I don’t think so, and far away, I must say: I don’t care. Why? well, in my personal opinion, I feel programming is an art, like writing or painting… it requires you put some of your soul on it. How could a machine do that?
Of course, I understand the market approaching: code lines are just a set of cryptic messages behind the software, and the only point which matters is to sell that software (money talks again). “If it compiles, sell it!” is the favorite quote of my teacher when he talks to us about the way the big software companies work.

To think as an artist when I try to write a piece of code, is a mistake? Who’s a good programmer? That one who creates bigger programs quickly? or that one who writes correct software to solve a problem? What is the key of good software? millions of code lines? Who cares about the beauty of code on this days? If you have any hint about this, please, let me know.

In my programming class, I learned a few things about Software Quality Assurance (SQA). As far as I understood, this technique helps you to detect the errors in the software you are developing, which is good, because I don’t want to create computer programs to cause problems but to fix them. The point is, can be a piece of software either free of errors and ugly code at the same time? I would like to think it is impossible, but I have no enough experience to give a good answer. The only thing I can say is that I don’t want to write ugly code. By the way, who made the SQA test for Windows Vista? Someone did it before Microsoft started to sell it? I still remember reading in Dell’s websites: “Dell recomends Windows Vista” on those days when the whole world started to claim because the unstable product and the terrible hardware support (Vista capable sounds familiar for you?). Marketing is a dark art, isn’t it?

For now, I’m trying to find my own style looking into the code of famous programmers like Linus Torvalds, Alan Cox and Miguel de Icaza. I’ve been studying some of their projects and coding my own small programs, realizing the features they include in their code. The process is slow and I will need my whole life to get high skills, I know that and I have to do it because this is my nature, after all, I’m g33k and I love programming!

If you have any advice for me about this topic, any help is very very welcome :)

print “See you later! pals! Time to skate! :P\n”

PS: By the way, I recommend you to read the article “How to recognize a good programmer“. Nice stuff!


Follow

Get every new post delivered to your Inbox.