July 30, 2010

Fri 2010/Jul/30

  • It is not without surprise that, with an increasing frequency, people keep confusing me with Garnacho and the other way around. We have been struggling with this, since despite the similarities (both being Spanish speakers, long haired, using a beard most of the time, and being known for playing guitar at GUADEC), we consider a few facts to be good enough for people to be able to distinguish between us. So here it is a rule of thumb for all of you who are still confused about who is who.

    The guy with glasses and the camera is Claudio; the one without glasses nor camera is Garnacho.

    To help you get the rule straight, here is a picture that Berto made of us during the party yesterday.

    Claudio Saavedra and Carlos Garnacho

July 23, 2010

MAH GLOB IS BACK IN BISNES

Logre por fin echar a andar la weaita.

No jodan por ahora por actualizaciones. De ahi las haremos.

Por ahora, seguire haciendo el signo del OH YEAH e intentando conectar un mysql 3.23 a un mysql 5

Crappiest hack evar.

What an effin' xmas gift, sucker!

Despues que Santa paso por el depto, me dejo por supuesto otro trozo de carbon.

Y cuando lo iba a dejar junto con los otros trozos, me dijo, antes de irse...

"Y revisa tu correo, te deje una sorpresa..."

Mientras me fui raudo al webmail, no abria. Que carajo pasaba?

Cuando me conecto al server donde esta el disco...lindos escupitajos del kernel diciendo "hay algunos sectores malos y me rehuso a leer tu correo". Justo donde estaban mis dos cuentas (codemonkey y 0xdeadbeef).

Santa Claus y la que te vino a parir.


En otras noticias, encontre de oferta una secuenciadora Korg Electribe ES-1 mkii. Lo peor es que por MIDI no hace mucho. Lo otro malo? Usa SMARTMEDIA, unas tarjetas antiquisimas que a algun ingeniero de Korg se le ocurrio "oye, y si le ponemos smartmedia? total, esa estupidez de SD y de Compact Flash van a morir en cualquier minuto". Ese ingeniero ahora deberia estar picando piedras en Sing Sing, si es que no lo mandaron en alguna mision espacial.

Por otras razones de esta asquerosa maquina, el adaptador XD-SMC tampoco como que anda. Lindo error Er.7 en el display al intentar formatearlo.

Korg y la que te vino a parir


Se fue el 2009. Menos mal. Lo que aprendi? "No hay boton de UNDO"

Undo y la que te vino a parir

Plain simple for those who can't read between the lines

Primero.

Hice un pequeño formulario para que ustedes, como lectores de este glob, puedan tirar su feedback de los eventos de FLOSS en Chile este 2009.

Aquí está el link.

Difúndanlo donde puedan.

Segundo.

Vengo llegando del Elinux y estoy absurdamente cansado. Mis vagaciones fueron de lo mejor! Aunque mi charla del elinux resulto algo accidentada, asi que quedo en deuda infinitamente.

Tercero.

Sabias que con Franco, Fernando y quien escribe grabamos un podcast, casi semanalmente? La direccion está por acá.

Cuarto.

Sabias que cuando estabamos grabando el podcast en el Encuentro, perdi los cables mas importantes, como el cable de corriente del mixer?

Quinto.

Sabias que ademas perdí el primer podcast grabado, solo por cambiar de programa? (desde un shellscript a Audacity) :(

Proximo post : los asistentes a estos eventos. Y un manual de operaciones especiales. No, no va a ser FUD. Esperenlo.

I need an extra life. Nao.

Estuve algo perdido del glob. No se dieron ni cuenta.

A lo medular por que me esta dando lerma escribir ultimamente.

  • Voy a estar de gira en la semana del 21 al 24 en Valpo. Yeep. En en 10mo Encuentro Linux, asi que vayan avisando para que el stock de cerveza no sufra contratiempos.
  • Mi trabajo para presentar un taller en el Encuentro Linux fue aceptado. Yippeee. El taller consistira en Edicion de Audio (era que no) en Linux. Asi que los interesados pueden hacer algo de espacio en sus maquinas. Despues estare mandando una lista de requerimientos/dependencias. Stay tuned FOR GREAT JUSTICE!

    Ah, lo mas seguro es que me aparezca con algunos de los juguetes ruidosos que tengo. Algo se me ocurrira en el intertanto...

  • A lo que lleva a la pregunta numero dos : Que carajos quieren ver? (no me pidan bajar de peso por ahora) Digo, interesados en algun programa en particular? Visualizacion? Un tripeo con LUZ? Los que quieran complicarme la vida mas aun pueden usar el formulario de contacto del glob. O a mi correo personal, jci at codemonkey dot cl. Por favor, no enviar cartas de presidentes que dejaron suculentas cuentas bancarias por que aun estoy lidiando con una transferencia :D
  • Rock Band Beatles salio hace poco 9/9/9. Y adivinen. Me ensarte con la caja de coleccionista. Maldigo el putisimo dia que se me ocurrio comprarla. La gracia me va a doler lo suficiente como para NO pedir mas porquerias por la Internets. Stay tuned for the Unboxing. Si es que algun dia llega a mis manitas.

    Para que se hagan una idea : el importe me salio tan putamente caro que incluso comprarla aca me saldria barato. Cuando voy a aprender? :(

  • La realidad es siempre inexacta. Solo la Guia es fidedigna.

In bed with flu, you get some real quality time with your computer

Lo bueno de estar con gripa es que tienes un monton de tiempo para intentar no aburrirte (si es que la vida de uno ya es enteramente aburrida, como la mia). Claro que los antigripales y las mezclas con vitaminas hacen que uno este triplemente activo de noche, a no ser de mandarse unas cuantas pseudoefedrinas o algun antiestaminico. Pero bueh, no les voy a andar enseñando a hacer pebre su higado, sino a hacer pebre su computador.

Esta vez, la pelea mas rotunda : Jackd y Pulseaudio.

Por la cresta. Desde hace un tiempo que la inclusion de Pulseaudio ha sido en parte beneficiosa para GNOME (lease : Ubuntu Jaunty), pero no para mi caso puntual : no hay aplicaciones basadas en Pulseaudio que sirvan para grabar audio de calidad (como Ardour, ya que es Jack-dependiente). Como siempre, termino comprando cosas que no necesito y algunas que llegan de regalo. Como una mezcladora nueva que venia con una tarjeta de sonido USB Behringer:

jci@zaphod:~/Copied$ lsusb
Bus 001 Device 002: ID 152d:2339 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 0a5c:2039 Broadcom Corp. Bluetooth Device
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 010: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 004 Device 009: ID 045e:00b9 Microsoft Corp. Wireless Optical Mouse 3.0
Bus 004 Device 008: ID 03eb:0902 Atmel Corp.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 08bb:2902 Texas Instruments Japan
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

(Que hace un Mouse Microsoft? Fue un regalo. Y diablos que ha servido.)

El unico problema es Linux. Las fundaciones de Audio son realmente mal hechas. OSS (que a sorpresa de muchos, se sigue usando para aplicaciones Legacy, como Skype :B ), ALSA (que ya es un parto, pero no voy a seguir hablando mal de el por que hay muchos sitios que lo descueran), ESD (estaba bueno que reemplazaran a este) y Pulseaudio. Ademas que existe Jackd que de hecho lo mostre en el ultimo Encuentro Lainuc en Concepcion. Las autoconexiones y otras cosas que lo hacen un lugar bonito para vivir.

Pero no! Pulseaudio se niega a dejar el bote:

jci@zaphod:~$ killall pulseaudio
(varios segundos despues)
jci@zaphod:~$ sh jackdrc
(challa)
jci@zaphod:~$ killall jackd
jci@zaphod:~$ ps afux | grep pulse
jci 4754 0.0 0.0 4784 536 ? Ss Jun16 0:00 \_ /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
jci 4760 0.0 0.0 3144 652 ? S Jun16 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
jci 31884 0.0 0.0 3336 792 pts/4 S+ 19:39 0:00 | \_ grep pulse

Asi ad infinitum. Pulseaudio se niega a irse a pique y la que lo vino a parir.

Hay un monton de soluciones (como desinstalar Pulseaudio), aunque encontre una manera ENTRETENIDA de arreglar todo esto.

  • Desinstalar Pulseaudio! JA! :B
  • Decirle a Pulseaudio que sea un buen ciudadano y que respete a las aplicaciones. Y se eche en el rincon hasta cuando se le llame.

    Editar /etc/pulse/client.conf y cambiar la linea
    autospawn = yes
    por
    autospawn = no

    Y darle a un reinicio al servicio Pulseaudio. Se aconseja salir de la sesion, aunque tambien un reboot lo vale.

    Luego, crear un archivo ~/.pulse/jackd.pa con lo siguiente:
    load-module module-jack-source
    load-module module-jack-sink

    Despues de cargar jack:

    jci@zaphod:~$ /usr/bin/jackd -p128 -dalsa -dhw:1,0 -r48000 -p2048 -n4 -Xseq

    Iniciar Pulseaudio con lo siguiente:

    killall pulseaudio
    pulseaudio -DnF ~/.pulse/jackd.pa

    Y que creen? Hasta puede usarse el multiple output!

Pulseaudio y Jackd vuelven a ser los compañeros aperrados que uno siempre quiso tener en su computador.

NOTA : cuando deshabiliten el modo de autospawn, pulseaudio va a subir siempre y cuando haya una aplicacion Pulseaudio-aware (como Totem). En este caso, intentara incluso llamar a Jackd al iniciar:

jci@zaphod:~$ totem test1.wav.mp3
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
no message buffer overruns

Los grises y chaparritos son los de temer.

July 22, 2010

Thu 2010/Jul/22

  • I'll be attending GUADEC again this year, arriving on Sunday to Den Haag. I'm specially glad because of the bunch of Chilean friends that will be coming, allowing for some catching up on how things have been in the country during the recent time.

    I'm also glad because Berto and I will be taking part on the GNOME developer training of Monday and Tuesday. We've been preparing a really nice session and I hope it will be productive and enjoyable for all the participants.

    Last and not least, this will mark my 4th time in the Netherlands (third in less than a year) and the second in Den Haag, so I'm pretty excited about getting more acquaintance with the place. After having been in the Museé d'Orsay last week, I'm also tempted to have a quick escape to Amsterdam for a visit to the Van Gogh Museum. Let's see what happens.

July 20, 2010

Canadá y el papel higiénico

En una de nuestras primeras compras en el supermercado, algo que llamó mi atención fue que todos los papeles higiénicos en el mostrador tenían una textura suave. «País del primer mundo» -pensé- «están tan desarrollados que hasta el papel higiénico más barato es de buena calidad».

En Chile, los comerciales de papel higiénico están orientados a la suavidad, al «comfort», o bien al precio o a la cantidad de metros de papel que trae un rollo. Así tenemos los baratos, que de suavidad no tienen nada. Son tan tiesos que no sólo sirven para limpiarse, sino que también para exfoliación de la piel («sacar los puntos negros» en jerga popular). Y los aún más baratos, que también sirven como lija.

En Canadá, en cambio, son todos suave. Quizás por alguna norma o ley que obliga a cuidar la retaguardia de los canacas. Tal vez tienen la epidermis más delicada. Entonces, ¿cómo se distingue la calidad de un papel respecto del otro?

Pues bien, aquellos de mala calidad se deshacen cuando uno se limpia (ver el comercial). Uno queda con «pelusas». Es como limpiarse con un conejo -si me permiten la analogía-. Si usas papel blanco, es como limpiarse con un conejo blanco, esos de ojos naranjos. Si el papel tiene figuras, es como limpiarse con un conejo con manchas. Así de simple.

Y a decir verdad, no lo había notado hasta que vi el comercial.

July 18, 2010

Monkey HTTP Daemon v0.11.0 has been released

Monkey HTTP Daemon is a very Fast and Lightweight Web Server for Linux. It has been designed to be very scalable with low memory and CPU consumption, the perfect solution for embedded and high production environments.

The project was started in 2001, internally it used to work with forking and threading networking models to attend clients, now, our current branch 0.11 is the second major milestone, we have a new web server working in asynchronous mode, fixed threads, stable API, indented configuration mode and with an excellent performance.

What is new ?

  • Indented Configuration mode
  • Cheetah! Plugin: New ‘config’ command
  • New MaxRequestSize configuration variable
  • Plugin API Interface improved: new functions available
  • Add RPM spec file (Welcome Fedora!)
  • Palm Server
  • Palm Plugin
  • Liana Plugin: Base networking plugin interface
  • Logger Plugin: the logger has been dropped from the core and moved to a plugin
  • Dirlisting Plugin: Allows to list the content of a directory in HTML format
  • Performance improvements
  • Minor fixes

Contributors

We would like to thanks to the following person who have been involved doing code and bug fixes contributions on this release:

Also thanks for take some time to help the project being sysadmin and maintaining our new server.

Join us!

We want to hear about you, our community is growing and you can be part of it!, you can met us in:

  • Mailing list: http://lists.monkey-project.com
  • IRC: irc.freenode.net #monkeyd
  • July 14, 2010

    Expolibre 2010

    Este viernes 23 de Julio, desde las 09:00 horas y hasta las 18:00 horas en las dependencias del Instituto Profesional Santo Tomás de Talca.

    No te lo pierdas!

    July 12, 2010

    Monkey HTTP Daemon 0.11.0 coming soon!

    This week we will release Monkey HTTP Daemon v0.11.0,  stay tuned to our updates in :

    July 05, 2010

    Save Python objects to disk

    Doing some hacks yesterday i found a way to save any Python object to a disk file. Let’s suppose that you have created your own class with some data and you want to save that class to disk and load it later (or even sent the object through a socket :P ), you can do it with the ‘pickle’ core module.

    import pickle

    class Test:

        def __init__(self):

            self.data = ['a', 'b', 'c']

    # Instance object

    t = Test()

    # Open file

    f = open(‘myobject.dat’, ‘w’)

    # Dump data on it

    pickle.dump(t, f)

    # Close file descriptor

    f.close()

    Now let’s load the object and print the class data information:

    import pickle

    # Open object container file

    f = open(‘myobject.dat’, ‘r’)

    # Load object information

    test_class = pickle.load(f)

    # Print class data information

    print test_class.data

    A very useful module, also exists a C implementation of Pickle called cPickle which is faster, give it a try!

    June 24, 2010

    Monkey HTTP Daemon v0.10.3 is Out !

    Monkey HTTP Daemon v0.10.3 has been released, check the official site for more details :)

    June 04, 2010

    Lo extraordinario aun está presente

    Me han pasado bastantes cosas que no pasan todos los días y creo que mi estimado lector me entenderá especialmente si reside en la zona centro-sur de Chile. Que por cierto, quisiera aprovechar este momento para recordar a todos los que vivimos en las zonas afectadas y fuimos víctimas de algún modo de este acontecimiento, aunque haya sido hace ya meses, el terremoto y sus consecuencias aun quedan :-(

    Pero bueno, tratando de dejar de lado las amarguras y recuerdos pasados, quisiera contarles que este año tendré el privilegio de poder asistir a la GUADEC 2010 que se realizará en The Netherlands, the Hague (Holanda). Quisiera agradecer a la Gnome Foundation por hacer esto posible. ¡Muchas Gracias!

    Este evento se realizará durante la última semana de Julio del presente año; se que la pasaremos bien. Mantendré constantes "avances" mediante mi cuenta en twitter y (si es que alguien lo lee en realidad) fotos que subiré cuando pueda.

    Looking for the english post?

    June 01, 2010

    Tue 2010/Jun/01

    • I've pushed support for localization in mafw-lastfm's git repository. There are very little strings, so it should be quick to translate. The pot file is here and I already translated it to Spanish. If you have some spare time, please go ahead and translate it to your language. Feel free to send me the translations directly, but to avoid collisions, I'd recommend using bugzilla.

      I also implemented on-disk cache during the last days. This is something that was really missing from the scrobbler, so I plan to make a release pretty soon including this.

    May 26, 2010

    Wed 2010/May/26

    • Now that the long awaited PR1.2 release of Maemo 5 is out on the wild, I thought it would be interesting to share some of the cool improvements that you'll see all over Maemo 5, courtesy of my fellow hackers in the toolkit and input methods teams, including yours truly.

      Hope you'll enjoy our work!

    May 24, 2010

    GUADEC!

    Woooohuuuu! Thanks to the awesome people from the GNOME Foundation, I’m going to GUADEC this year! I’m really excited about it! can’t wait! I can now say! and So again, thanks to the GNOME Foundation, and to all those who make that funding possible!.

    Monkey: Palm Protocol / Application Server

    In some previous post about Monkey HTTP Daemon project, i have been describing some parts of the new architecture and goals that we are trying to accomplish. Now we have a faster asynchronous web server, very lightweight and with a good designed API to extend the features through plugins.

    I have received some questions about dynamic content generation support, specifically questions like “what about CGI and PHP support ?”, so now is time to describe more in detail how we are handle this through our Palm Protocol.

    Palm Protocol, aims to provide a simple CGI applications server which work over TCP. Is pretty much similar to FastCGI or SimpleCGI, but still more simple :) , basically is a TCP server listening in different ports to serve different dynamic content in a pre-forked model. To explain it better take a look to the following diagram:

    Server Side

    Palm server create specific handlers per configuration, for example, it can be configured to serve PHP and Python scripts, each handler contains information about how many child process will be available, the executable interpreter and optional arguments for it, for example, in order to define a handler for PHP we could add this entry in palm.conf:

    [PHP]
    Port = 2010
    Exec = /usr/bin/php-cgi
    Arguments = -f
    Childs = 5

    That entry specify that the handler will be listening in TCP port 2010, it will create 5 child process and each request will be server by the php-cgi program, adding the -f argument before the script to be called.

    Each handler created is called a ‘Palm’, you can configure as many Palms as you want.

    Client Side

    In the client side, the Palm Plugin for Monkey HTTP Daemon will be listening for specific file extension on each HTTP request, so it can be configured to handle files with .php extension and connect to the right Palm. Here’s a simple configuration line for PHP in the client side, this configuration take place in the plugins/palm/palm.conf file:

    Palm   php   application/x-httpd-php    127.0.0.1     2010

    Each row in the configuration file represents a Palm entry, the fields required are: protocol, file extension, mime type, palm server address and palm server port. This configuration must match the Palm server configuration. So every time that a PHP file is requested, the Palm client will connect to the Palm server to the specific port, send the request and wait for a response.

    Protocol details

    The protocol as mentioned before, is very basic, is composed by the following:

    absolute_script_path + CRLF    (mandatory)
    cgi_header = value + CRLF      (optional)
    CRLFCRLF                                (mandatory)

    a text example could be:

    /home/foo/monkeyd/htdocs/info.php\r\n
    SERVER_SOFTWARE=Monkey/0.11.0-dev\r\n
    SERVER_PROTOCOL=HTTP/1.1\r\n
    HTTP_HOST=localhost\r\n
    QUERY_STRING=a=1&b=2&c=3\r\n
    \r\n\r\n

    The first mandatory row indicates the absolute script path to be interpreted or executed, the second optional row represent the CGI/1.1 headers used by the interpreters, you can add N cgi headers as required, and the final mandatory row indicates the end of the request.

    If any error occurred in the server side, the Palm server must return a formatted plain text or HTML error to the client side, Palm Protocol does not handle error codes.

    May 18, 2010

    Tue 2010/May/18

    May 02, 2010

    Mi nuevo empleador en el 2009-2010

    Quiero empezar diciendo que finalmente encontré un nuevo y atractivo trabajo, wohoo!... pero pucha que me costó encontrarlo! En gran parte porque una gran condición era que mi futuro nuevo empleador me permitira no tener que alejarme de mi familia; de alguna forma, estar el mayor tiempo en mi ciudad natal, Concepción. En nuestro país (Chile) los trabajos relacionados con la informática se encuentran generalmente en la capital, Santiago (o "Santiasco" por muchos) e iba a hacer todo lo posible por quedarme; sí estaba dispuesto a viajar constantemente, hablé con varias empresas que se veían interesadas en mi, sin embargo, mi impuesta condición pesó muy negativamente.

    Luego de 6 meses...

    Recibo un "mensaje misterioso" de una empresa llamada Tubaloo, los cuales también querían de mis servicios y para mi sorpresa, el trabajar desde casa no fue un impedimento. Cuando me contaron la idea detrás de esta compañía, me emocioné muchísimo, tanto como para proyectarme en el futuro. 3 meses luego, soy un empleado formal de Tubaloo Inc. (oficialmente en unos días más, ya que debo firmar contrato). Lo entretenido fue saber que la persona que me entrevistó lo hizo de una forma muy sigilosa, de hecho no me di cuenta que fue una entrevista de trabajo. Más bien, fue un Domingo, después de Gnome Day, en un café, conversando llanamente sobre Linux, programación, cosas Geeks y así.

    No tendré vacaciones este año pero los fines de semana pasarán susto, este recién pasado nos fuimos con algunos amigos a Maullín
    Amigos en Maullín

    En la foto un NN, Alvaro Parra, Rodrigo Ramirez, Priscilla "de Edgardo", Dionicio y Edgardo. Foto modificada para proteger "interiores" del NN

    April 09, 2010

    Cambio de folio en Last.fm

    Sin darme cuenta, con Los Prisioneros cambié de folio en Last.fm. El tema que se lleva el registro #100.000 es «Nunca quedas mal con nadie». Mención honrosa para los temas que estuvieron cerca: «Mentalidad Televisiva» y «La voz de los ’80».

    No sé si curioso o no, el primer tema registrado (el 3 de marzo de 2006) fue This is Pop de los ingleses XTC, quienes influeciaron a Los Prisioneros. En esa época (mediados de los ’80), para conocer nuevos grupos musicales, uno buscaba los grupos que influenciaban a aquellos que uno escuchaba, o bien de lo que se rumoreaba de boca en boca, o de las cintas que se movían de mano en mano (de esos que la industria hoy se espanta, pero que en caso contrario jamás yo hubiera comprado posteriormente).

    Miguel Tapia

    En la foto, Miguel Tapia, baterista de Los Prisioneros. Algo escribí el 2004 al respecto. Como la foto es malísima, la coloco en formato pequeño :-)

    February 16, 2010

    Cómo envenenar un proyecto de código abierto

    A continuación algo que venía pensando hace un tiempo y que había comentado con algunos amigos. Tenía el borrador, pero creo que hoy corresponde publicarlo. Guarda relación con comprar un proyecto de código abierto o cómo ayudar a destruirlo.

    Dado el tipo de licencia de un proyecto de código abierto, éste no puede ser comprado. Sin embargo, ello no impide que una empresa o un grupo de ellas, pueda contaminar o destruir un ecosistema (frágil), con o sin intención de hacerlo.

    En términos prácticos, no puedes comprar el código de un proyecto FLOSS, pero sí puedes contratar a los programadores clave. Una vez que los has contratado, puedes desviarlos a otros proyectos o tareas rutinarias.

    En el corto plazo suena a una estupidez. ¿Qué programador se iría a trabajar a una empresa que no quiere al proyecto? Además, al cabo de un tiempo, estos programadores se pueden reubicar en otras empresas.

    Las empresas que nacen a la luz de un proyecto FLOSS, le dan nuevos aires y un mayor impulso al proyecto. Así ocurrió hace un tiempo con MySQL AB o Helixcode, con los proyectos MySQL y GNOME, respectivamente. Estas empresas se formaron por desarrolladores del proyecto, y dado su conocimiento del proyecto, contrataron a un conjunto de programadores clave.

    Estas empresas nacieron para hacer negocios con el proyecto que los apasionaba. Tomaron programadores que contribuían en su tiempo libre y los contrataron para trabajar tiempo completo en dichos proyectos. Esto también impulsó la creación de otras empresas.

    Que algunas empresas quedaran en el camino, no importaba. Porque el código que habían contribuido quedaba. Y, en el caso de Eazel, muchos de sus desarrolladores se reubicaron en otras empresas relacionadas con el proyecto que apoyaba Eazel (GNOME en este ejemplo).

    Hasta aquí todo es miel sobre hojuelas. Las empresas pequeñas tienen que armar su modelo de negocios, proyectar rentabilidad en algún futuro próximo, etc. Muchas de las empresas pequeñas prestan servicios a empresas más grandes, que no saben como interactuar con proyectos FLOSS. Así, por ejemplo, Helixcode (posteriormente Ximian), prestó servicios a HP y también a Novell.

    En algún momento, una empresa grande puede evaluar si absorver una empresa más pequeña. Así ocurrió con Sun al comprar MySQL AB (por un monto ridículamente alto), Novell al comprar Ximian o Intel al comprar OpenedHand Ltd. Pueden constituirse en una nueva división de la empresa, si son afortunados.

    En el corto plazo es atractivo: es el respaldo de una empresa grande a un proyecto FLOSS. Y mientras dura la luna de miel, todos contentos. Pero la mística de una empresa pequeña, centrada en un proyecto FLOSS, en donde todos sus miembros saben de qué se trata, no se puede traspasar fácilmente a una empresa mayor.

    Ante los vaivenes de la economía dicha mística sucumbe. Sobretodo cuando comienza la reducción de personal y/o la re-orientación de los negocios. Así, una empresa pequeña que pudo tener 20 ó 30 programadores dedicados al proyecto que los vio nacer, terminan con 3 ó 4 realmente trabajando en el proyecto, pero a veces, de manera parcial.

    Antes estas circunstancias, es fácil buscar otros horizontes. Algunos, quizás, buscando relacionarse con el mismo proyecto. Pero la mística, en general, ya no es la misma. Y el proyecto perdió a un número importante de buenos programadores.

    A esto yo lo llamo contaminar un proyecto, porque un grupo de programadores clave baja su productividad en el proyecto o termina abandonando el proyecto.
    Por otro lado, se puede crear un ecosistema frágil, como el que creó Nokia cuando adoptó GTK+ en su tableta Internet 770. Nokia es un cliente muy importante, y se formaron empresas alrededor que comenzaron a prestar servicios a Nokia, todos relacionados con GTK+ y tecnologías afines a GNOME. La luna de miel se extiende. Se crean nuevas empresas por desarrolladores del proyecto que, obviamente, contratan a programadores clave del mismo proyecto.

    Todo estuvo muy bien, pero lo cierto es que es lo mismo que colocar todos los huevos en la misma canasta. En el momento que Nokia decide cambiar de rumbo, las empresas cuyo principal cliente son ellos, quedan en la disyuntiva: cambiar de rumbo son su cliente o diversificarse. Aquellas que no lograron diversificarse antes, estarán obligadas a cantar la canción que el DJ decida colocar.

    Alguna de dichas empresas, pudo encontrar un nuevo gran cliente que finalmente lo termina absorbiendo. Es el caso de OpenedHand, que fue comprada por Intel y luego pasaron a ser conocidos por el desarrollo de Moblin.

    Y se repite la misma historia. En el momento que Intel decide cambiar de rumbo, desde GTK+ a Qt, ¿cuál es la ruta lógica que seguirán los programadores de OpenedHand? En el corto plazo, algunos continuarán trabajando en lo que venían haciendo, pero en el mediano o plazo, es insensato pensar que continuarán pagando a desarrolladores para trabajar en GTK+.

    Al igual como anunció Nokia el 2009, el mensaje será: no se elimina el soporte de GTK+, sólo se transfiere a la comunidad.

    El que una empresa decida cambiar de un GTK+ a Qt, es un dato anecdótico. Puede doler un poco en el orgullo de un proyecto e incentivarlos a replantearse. Pero en dicho cambio o adopción en sí, no hay daño.

    El problema radica en envenenar al proyecto vía tomar desarrolladores clave y que ya no puedan dedicarse a trabajar en él.

    Si una empresa grande quisiera hacerlo a propósito, podría. No tiene que atacar al código, ni sus licencias. Tiene que envenenar a su comunidad, y particularmente, a sus líderes. Un proyecto como el núcleo de Linux, no tiene por donde ser atacado, pero proyectos que no son tan grandes como Linux, son vulnerables.

    Si el proyecto es pequeño, entonces lo que más uno podría desear, es que le ocurra a su proyecto. Aunque esto se puede esperar más de una empresa que recién parte.
    Finalmente, conocimiento esta amenaza (con o sin intención), un proyecto puede prepararse para que no le ocurra.

    Aclaración: lo que he escrito aquí es a título personal y de ninguna manera corresponde a la posición del proyecto GNOME, ni de la Fundación GNOME. Y lo aclaro, por si no parece políticamente correcto.

    February 08, 2010

    El contexto de la Fundación GNOME

    Hay mucha gente que ve el nombre de una Fundación como GNOME, Apache o Mozilla y lo primero que piensa es en el tamaño y/o poder que tiene. Y cuando se habla del Consejo de directores de la Fundación, se piensa en el centro de poder, oh magnificencia y un conjunto de adjetivos que tienden a sobrevalorar su rol.

    Aunque luego de reflexionar un poco, uno se pregunta : ¿qué hacen los miembros del consejo de directores?. Y creo que mucha gente no lo tiene claro. Antes de responder dicha pregunta, intentaré situar el contexto de la Fundación GNOME y en futuras notas pretendo abordar las actividades del consejo de directores. Lo hago en la lengua de Cervantes porque creo que cuando fui elegido como director el mayor apoyo lo recibí de la comunidad hispana, pero si alguien cree que debiera hacerlo en la lengua de Shakespeare también, que lo manifieste :-)

    Gnome brand

    La Fundación GNOME es el nexo entre el proyecto y el resto del mundo (empresas, gobiernos, otras organizaciones, etc.). Sirve como punto de contacto, así como un organismo que permite recibir contribuciones monetarias y otras asistencias, que permiten mejorar el proyecto.

    La Fundación GNOME pareciera ser una institución grande, pero en realidad no lo es. Dentro de la comunidad de (¿desarrolladores?) Free/Libre/Open Source Software (FLOSS) el proyecto GNOME es altamente visible, un proyecto grande y, por consiguiente, en el colectivo surge la idea que la Fundación GNOME también es grande.

    Hago la pregunta -retórica- si es visible sólo a nivel de desarrolladores, porque en muchas de las instalaciones de GNOME, no se indica que las aplicaciones pertenecen al proyecto GNOME. Así ocurre cuando se instala alguna distribución popular como Ubuntu o en sistemas como Moblin. Por lo que hay un posicionamiento de la «marca» que no está ocurriendo. Aunque lo mismo ocurre con Android y Linux, sólo que Linux está mucho mejor posicionado que GNOME porque sus usos son bastante amplios.

    Para ilustrar el tamaño de la Fundación GNOME, podemos tomar como referencia el presupuesto para el año fiscal 2010 (esto es, desde octubre de 2009 hasta septiembre de 2010). El monto a manejar se sitúa alrededor de los USD$465.000 (poco menos de medio millón de dólares).

    A partir del año 2010, las empresas grandes que apoyan GNOME lo hacen pagando un arancel de USD$20.000; mientras que las pequeñas lo hacen pagando USD$10.000. Cada patrocinador define dos directores, uno técnico y otro de negocios. También hay organizaciones sin fines de lucro que apoyan a GNOME (otros proyectos o fundaciones), tales como, Debian, Mozilla, Free Software Foundation, entre otros; quienes también pueden elegir un director. Ellos forman parte del consejo consultor.

    Consideremos ahora a LiMo Foundation (LiMo significa Linux Mobile), en donde tienen 3 categorías de patrocinadores, aquellos con derecho a elegir un director, lo hacen pagando un arancel de USD$465.000 al año, es decir, ¡el presupuesto anual de la Fundación GNOME!. Y de esos figuran 8 a la fecha que escribo esta nota.

    Es muy probable que LiMo Foundation no les sea familiar, y tal vez no la hayan visto ni en pelea de perros. Pero ahí está, respaldada por marcas bastante reconocidas.

    Puede ser que los resultados de LiMo Foundation no sean (muy) visibles. Pero podemos considerar entonces a la Fundación Mozilla, mejor conocida por su producto estrella: Firefox. Según el reporte del año fiscal 2008, la Fundación Mozilla recibió alrededor de USD$1.000.000 (un millón de dólares) por concepto de donaciones y suscripciones; vale decir, más del doble que nuestro presupuesto anual. Sin embargo, las donaciones y suscripciones ocupan una fracción pequeña de los ingresos de la Fundación Mozilla. El año 2008 ellos generaron ingresos por alrededor de US$78.600.000 (78,6 millones de dólares).

    En cuanto a la fuerza laboral, la Fundación Mozilla financió alrededor de 200 para trabajar a tiempo completo o parcial, mientras que la Fundación GNOME emplea a una persona a tiempo completo (Director Ejecutivo) y una persona a medio tiempo para las labores administrativas.

    Por cierto, la mayor fuente de ingresos de Fundación Mozilla provino de organizaciones como Google, Yahoo, Amazon, eBay y otros. El recuadro de búsqueda de Firexfox es la estrella: cada vez que un usuario busca algo allí, Mozilla Foundation recibe unos centavos. El modelo de ingresos de la Fundación GNOME aún se sustena en los patrocinadores como fuente principal.

    Bien, eso para situar, a grosso modo, el contexto de la Fundación GNOME. En la siguiente nota comentaré sobre el consejo de directores y otras yerbas.

    January 25, 2010

    Vida nueva

    Quiero empezar diciendo que finalmente encontré un nuevo y atractivo trabajo, wohoo!... pero pucha que me costó encontrarlo! En gran parte porque una gran condición era que mi futuro nuevo empleador me permitira no tener que alejarme de mi familia; de alguna forma, estar el mayor tiempo en mi ciudad natal, Concepción. En nuestro país (Chile) los trabajos relacionados con la informática se encuentran generalmente en la capital, Santiago (o "Santiasco" por muchos) e iba a hacer todo lo posible por quedarme; sí estaba dispuesto a viajar constantemente y hablé con varias empresas que se veían interesadas en mi, sin embargo, mi condición pesó muy negativamente.

    Luego de 6 meses...

    Recibo un "mensaje misterioso" de una empresa llamada Tubaloo, los cuales también querían de mis servicios y para mi sorpresa, el trabajar desde casa no fue un impedimento. Cuando me contaron la idea detrás de esta compañía, me emocioné muchísimo, tanto como para proyectarme en el futuro. 3 meses luego, soy un empleado formal de Tubaloo Inc.

    January 16, 2010

    Tirando la cámara fotográfica

    Ayer viernes, me mostraron unas imágenes que parecían fondos de pantallas construídos con alguna aplicación, pero se trataba de fotografías en donde se dejaba el obturador presionado y luego lanzaban la cámara girando hacia al aire.

    Anoche, antes de acostarme a dormir tomé algunas para probar. He aquí los primeros resultados que tomé con mi cámara DSLR y dejando el foco del lente en modo manual:

    Lámpara El living de mi casa cuando la cámara se mueve
    Primeros resultados moviendo rápidamente la cámara

    Ambas fotografías tienen una exposición de 2,5 segundos y una apertura de focal de 4.0. En la primera me demoré en soltar la cámara y por ello se nota la lámpara. Hay que notar que 2,5 segundos es bastante tiempo, suficiente que la cámara debe bastante vueltas y regrese a las manos. Me gusta la línea café anaranjado que se forma en la segunda y que tiene relieve.

    Probé otras combinaciones y puedo concluir que los colores cafés y anaranjados corresponden a la temperatura color de las ampolletas, acentuado por las pantallas y el color general de las habitaciones. La siguiente vez, me gustaría contar con luces de distintos colores. Quizás probar en el exterior.

    Para quien quiera intentarlo, debe tener en cuenta que la cámara podría golpearse o caer. Yo solté nunca el porta cámara, lo que hacía que se enredáse a medida que giraba, lo que también resulta de ayuda si se quiere girar la cámara paralela al suelo.

    Master en comunicación, redes y gestión de contenidos

    El año pasado comenzé este Master, reconozco que con un poco de “desconfianza” (al ser a distancia), pero en estos momentos debo reconocer que estoy muy contento por como ha resultado. Además de poder fortalecer algunos conocimientos (con fundamentos y por parte de un equipo de docentes) adquiridos por prueba y error, he podido de rebote hacer varias cosas:

    • viajar fuera de Chile (algunas asignaturas requieren exámenes presenciales y para esto hay un centro asociado en Buenos Aires… como opción de ir a España.)
    • documentar muchos de los trabajos que antes realizados para el trabajo, ahora tuve que hacerlos como actividad.

    Este Master lo estoy realizando en la UNED.

    Puedo comentar que esta manera de estudiar es muy comoda para quienes trabajan y necesitan cierta libertad de acción. Punto aparte es el costo, es lejos mucho mas barato que hacerlo acá en Chile, además de ser Master Oficiales y ser reconocidos por la Unión Europea. Lo recomiendo.

    November 24, 2009

    Tercer Encuentro Linux UA

    Este 26 y 27 de noviembre se llevará la tercera versión de este evento, al cual hemos sido invitados para dar una serie de charlas. Gracias amigos de la UA!

    El evento se desarrollará en las dependencias de la Universidad Autónoma de Chile, sede Talca.

    http://www.informaticaua.cl/

    Charla IRC canal #gnome-hispano

    El pasado sábado 21 de noviembre, nuestra comunidad se hizo presente en este ciclo de charlas dictando por IRC un taller de desarrollo de aplicaciones con PyGTK.

    http://es.gnome.org/Eventos/CharlasIRC/CharlaNoviembre2009

    Primera Feria Tecno Informática 2009

    Desarrollada el pasado 12 de noviembre en la ciudad de Curicó por el Instituto Profesional Santo Tomás. http://www.feriatecnoinformatica.cl/index.php

    Día de GNOME 2009

    El sábado 24 de octubre se llevó a cabo el Día de GNOME versión 2009. En el contexto de la celebración del Décimo Encuentro Nacional de Linux. En esta oportunidad realizado en Valparaiso.

    http://projects.gnome.org/diagnome
    http://2009.encuentrolinux.cl/

    Feeds