January 27, 2012

Accessibility support in WebKit2GTK+

As Piñeiro already mentioned in some posts, last week a bunch of hackers attended the ATK/AT-SPI Hackfest 2012 here at the Igalia offices, in the lovely city of Coruña.

As the guy working on accessibility support for WebKitGTK+, I attended the hackfest to join some other great people representing different projects, such as Mozilla, Orca, AT-SPI, ATK, GTK+ and Qt. So, apart from helping with some “local” organizational details of the hackfest and taking some pictures, I spent some time hacking in WebKitGTK+’s accessibility code and participating in some discussions.

And from that dedication I managed to achieve some interesting things too, being my favorite ones a big refactoring of the a11y code in WebCore (so it’s now better organized and hence more readable and easy to hack on) and pushing my patch for enabling accessibility support in WebKit2GTK+, after going through a meticulous process of review (see the related WK bug), which started with the patch I wrote and attached back when attending to the WebKitGTK+ hackfest, as I mentioned in my previous entry in this blog.

Yeah, I know that some weeks have already passed since then and so perhaps you’re thinking this could have been done faster… but I’ve spent some weeks on holidays in Barcelona in December (pictures here!) and so I wouldn’t have much time before January to devote to this task. However, the patch got integrated faster than what I would expect when I proposed the first version of it, so I’m quite satisfied and happy anyway just by being able to announce this at this moment. Hope you share my joy :-)

So, what does this mean from the point of view of accessibility in GNOME? Well, that’s an easy question to answer: from now on, every browser that uses WebKit2GTK+ will be as much accessible as those using the previous version of WebKitGTK+, and this is definitely a good thing. Of course, I’m certain there will be bugs in this specific part that will need fixing (as it always happens), but for the time being this achievement means “yet another thing less” preventing us from pushing for upgrading some applications to switch to WebKit2GTK+, such as devhelp (some ongoing work already done, as my mate Carlos announced yesterday), yelpliferea… and the mighty Epiphany browser, which is rocking more and more ech day that goes by.

Last, I’d like to share with you an screenshot showing this new stuff, but as I am a little bit tired of always using Minibrowser (that small browser we use for testing WebKit2), so I decided to try instead that new branch Carlos recently pushed for devhelp, so you could check that what I mentioned before is actually true.

So here you have it (along with a couple of additions done with Gimp):

As you can see, devhelp is running and Accerciser is showing the full hierarchy of accessible objects associated to the application, starting in the UI process (GTK+ world) and continuing in the Web process, where all the accessible objects from the WebKitGTK+ world are being exposed. As I explained in a previous post, the magic making possible the connection between the two process is done by means of the AtkSocket and the AtkPlug classes, also represented in the screenshot attached above.

So, that’s it.

por msanchez el January 27, 2012 02:06 PM

December 31, 2011

Serpents in my life (getting old ;-) part II)

In the previous post I wrote about one of my projects working at the GME and the new tools for me I used. This post relates to the other project I work on it.
The GME is partner of the MAAXIMUS Project (More Affordable Aircraft through eXtended, Integrated and Mature nUmerical Sizing). We put our knowledge about structural optimization to produce better materials and elements to be used in the aircraft industry–mainly in the AIRBUS Consortium.

Fuselage (source: eurocopter.com)

Fuselage (source: eurocopter.com)

Well, one of our tasks is to design and test some optimization methods. Because the complexity of the real elements to analize these are a collection of numerical methods working together. In fact the process implies using some computer programs: design, meshing, structural calculus, postprocessing tools, and, at the center of the system, the optimization tool.

The optimization tool generates via different engines  series of designs that must be tested by the other tools. Each engine implements a method or family methods. And this is my project: I must develop an engine to be integrated in a Dakota-style framework. I would use the old Fortran to do it. But I needed to program a text file parser, so I decided to make some experiments with the Python programming language.

I hadn’t programmed in Python before. I avoided it in part because I thought Python would have a lot of hype as some years ago it happened with Perl. Some proofs of concept after, I was really happy with the results. It’s true the basic Python was a bit limited to develop the numerical part of the engine. But then I discovered NumPy (now part of ScyPy libraries).

NumPy logo

NumPy allowed me quickly replace some code developed in Matlab language by my fellows and write my own, more clear and simpler code. And, after the experience of implementing some numerical methods, I seriously think it can be a good idea for me to leave Fortran (with the exception of educational purposes) and code Python+NumPy.

por 曹 tsao el December 31, 2011 02:52 AM

December 12, 2011

Cómo calcular raíces cuadradas

Un día se me ocurrió publicar un articulito sobre el fundamento matemático del método para calcular raíces cuadradas usando lápiz y papel. Desde entonces me llega un montón de visitas de gente que quiere saber cómo calcular una raíz cuadrada (supongo que les da igual por qué funciona el método si no saben cómo emplearlo, ¿no?). Por lo tanto, he decidido escribir este artículo explicativo.

Para empezar, vamos a ver cómo calcular la raíz cuadrada de un número de una o dos cifras. Por ejemplo, calculemos la raíz cuadrada de 71:

Esto es fácil: simplemente tenemos que hallar el número más alto, del 0 al 9, que multiplicado por si mismo nos dé 71 o menos. En este caso, el número que buscamos es 8, ya que 8x8=64, que es inferior a 71, y 9x9=81, que es superior a 71. Además, la operación tiene un "resto" que vale 7, ya que 71-8x8=7. Todo esto lo escribimos de esta manera:

Fácil, ¿no?

Pues ahora vamos a ver cómo se calcula la raíz cuadrada de un número de más de dos cifras. Por ejemplo, el 71.492:

El primer paso consiste en dividir el número en grupos de dos dígitos, comenzando por la derecha:

A continuación, calculamos la raíz cuadrada del grupo de más a la izquierda:

En este caso hemos calculado la raíz cuadrada de 7, que es 2 con un resto de 3.

A continuación "bajamos" el siguiente grupo de dos dígitos y lo ponemos a la derecha del resto:

En el siguiente paso multiplicamos nuestra solución parcial por 2 (siempre por 2) y ponemos el resultado (4) en una nueva fila de la columna de la derecha:

Ahora viene la parte más complicada del cálculo. Tenemos que buscar un dígito de 0 a 9 para añadir a la derecha del 4, lo cual nos dará un número de dos cifras. Ese número de dos cifras, multiplicado por el dígito que hemos buscado, nos dará un número que tiene que ser igual o inferior a 314, que es el número que tenemos después de "bajar" el siguiente grupo de cifras. El dígito más alto que encontremos será la siguiente cifra de la solución.

Veamos un dibujo para hacerlo más claro. Imaginad que "X" es un dígito de 0 a 9 y que "ABC" es el resultado de multiplicar "4X" por "X":

En este caso, el dígito que buscamos es 6, porque 46x6=276, que es inferior a 314, y 47x7=329, que se pasa de 314:

El resto es 38.

Ahora tenemos que, como antes, bajar el siguiente grupo de cifras y también multiplicar la solución parcial por 2 y añadir el resultado a la columna de la derecha:

Y, como antes, tenemos que buscar un dígito, concatenarlo al "52", multiplicarlo por el resultado, y procurar que el resultado sea igual o inferior a 3892:

Y, como podéis ver, la raíz cuadrada de 71492 es 267, con un resto de 203. Podemos comprobarlo fácilmente, calculando 267x267=71289, y 71492-71289=203.

Fácil, ¿no?

Algunos os preguntaréis cómo se pueden calcular las cifras decimales de la raíz cuadrada. Es decir, si usamos una calculadora, ésta nos dirá que la raíz cuadrada de 71492 es 267,3798... ¿cómo se pueden calcular estas cifras decimales con lápiz y papel?

La respuesta es muy simple: sólo tenéis que "bajar" grupos de dos ceros y seguir calculando la raíz cuadrada hasta que os canséis. Por ejemplo, aquí veis cómo he calculado las dos primeras cifras decimales:

Otra pregunta que algunos os haréis es: ¿cómo se calcula la raíz cuadrada si el número que nos dan tiene decimales? La respuesta es simple: cuando dividáis el número en grupos de dos cifras, en lugar de empezar por la derecha, empezad por la coma decimal. Si el grupo de más a la derecha se queda con una sola cifra, completadlo con un cero. Después, simplemente calculad la raíz cuadrada como siempre, acordándoos de poner la coma en el resultado cuando alcancéis la coma en el número original.

Y esto es todo de momento. Espero que esta explicación os haya sido útil y hayáis encontrado lo que buscábais.

por jacobo el December 12, 2011 12:41 AM

December 06, 2011

Internet en el bolsillo

He caído, ya llevo Internet en el bolsillo. R me ha enganchado con su estupendo sony arc (gratis para consumos mínimos de 29 euros).



Hace dos años y medio tuve una primera experiencia  con Vodafone. En una renovación escogí un samsung H1 (un linux bada) con tarifa de Internet gratuita durante 3 meses. Cuatro meses después le regalé el teléfono a mi sobrino y me peleé con operadores humanos y no humanos de Vodafone durante 2-3 horas para que me devolvieran una cuota injustamente cobrada. Lo divertido fue que se comprometieron a hacerlo en el mes siguiente pero al mes siguiente lo que hicieron fue volverla a cobrar, pero esa es otra historia.

La cuestión es que hasta este mes tenía la opinión que en los smartphone hay una referencia clara llamada "iphone" que es muy caro pero el resto no pasan de "sucedáneos" que te dejan insatisfecho. Sobre los rivales ya muertos (webos), en decadencia (blackberry) y próximos a resucitar por enésima vez (windows phone y nokia) sólo diré "yo no lo haría" así que sólo queda un rival serio llamado android, del que simpatizo por todo mis antecedentes pro-software libre pero ni los primeros android ni el poderoso galaxy me parecían rivales ante la interfaz de touch/iphone que es sencilla, rápida y elegante.

Mi opinión empieza a cambiar, el galaxy s2 ya parece un serio rival del que sólo se puede decir "en tono negativo" que es tan caro como un iphone (y en esa comparación siempre se prefiere comprar al "líder") pero lo que me ha impresionado es este android "gama media-alta", no es un iphone pero lo hace muy bien y te lo regalan gastando 29 euros al mes (si quieres un smartphone, que menos que tener una línea de datos que te llevará a esa cifra fácilmente).

¿Qué me ha sorprendido de este sony ericsson?

También hay que poner los peros:
  • la batería con un uso "ridículo" pero conectado a Internet siempre no pasa del día (lo bueno es que se pueden comprar segundas y terceras baterías con cargador externo, con un iphone te tienes que reír y apagarlo)
  • la pantalla, repito mejor protegerla no vaya a ser que sufra arañazos
  • hardware es medio alto, pero los hay mejores (ojo que el móvil siempre responde "al toque" así que no se nota en condiciones normales)
  • es un android: en móviles no me gusta complicarme; no cambio firmware, no quiero hacer cosas raras, quiero un cacharro que funcione y me de servicio de una forma directa e intuitiva y hay ciertas cosas que cuesta entender en este móvil para poder usarlo al 100% pero bueno para algo está google o preguntarle a los amigos.
En fin un gran producto que hace que sony ericsson (próximamente simplemente sony) vuelva a por sus viejos laureles en un mercado donde parecía que samsung, apple, htc e incluso lg le habían comido terreno.
Y si estás en Galicia y eres cliente de R puedes tenerlo por 0 euros mientras te comprometas a gastar 29. Yo he escogido una tarifa mini+internet con cuota de 19 euros que me da 1GB a velocidad "buena" y a partir de ahí reduce a 64kbps (señalar que otras operadoras dan 128kbps), pago por las llamadas normales 4 céntimos por minuto. Lo bueno es que mi consumo mínimo de 29 se suma el del móvil de mi mujer (6 euros, ahora serían 9) así que tenemos un mínimo de 35 de donde se nos quita 19 para la cuota y quedan 16 euros para llamadas que podemos hacer indistintamente desde cualquiera de los dos teléfonos (aunque imputan un mínimo de 3 euros de consumo a cada móvil).
Hay otras combinaciones que te pueden resultar interesantes, por lo visto está funcionando muy bien una oferta que por 29 euros te dan tarifa plana (más sincero sería llamarlo bono de 300 minutos gratis a cualquier hora).
Más información en movil.mundo-R.com.
Y para acabar, intento ser siempre sincero y no engañar al personal. No trabajo para R aunque llevo cerca de dos años trabajando casi exclusivamente en un montón de proyectos de esta empresa así que deberías desconfiar de este post.
Soy un "apasionado por la tecnología" que le gusta escribir de vez en cuando sobre ella pero entiendo que me ha quedado un post que casi parece publicidad de este teléfono y de este operador así que eres libre de pensar eso o que simplemente sony y movil.mundo-R.com están vendiendo un producto que me parece sensacional.

por Juanjo Iglesias (noreply@blogger.com) el December 06, 2011 07:12 PM

December 05, 2011

WebKitGTK+ Hackfest: WK2, a11y and Ephiphany’s ad blocker extension

Some posts have been already published about this during the last days, but just in case you missed them I will mention it here again: Last week, a bunch of hackers gathered together in the Igalia office in Coruña for the third edition of the WebKitGTK+ hackfest , and a lot of work has been done, as Juanjo has already summarized in his “WebKitGTK+ hackfest wrap up” post.

WebKitGTK+ 2011 Hackfest

So, as everything has been already said from a more general perspective, I’d like to write my very personal wrap up here, focused on the tasks that I’ve been working on, which can be summarized in three:

Enabling accessibility support in WebKit2GTK+

This has been, by far, the task I devoted most of the time to during the hackfest, mainly focused on writing a ‘feature complete’ patch that could be applied upstream, and thus that could be reviewed in first place. But, what do I mean by “a ‘feature complete’ patch”? Well, perhaps you are already aware of the initial results already got in the WebKit2GTK+ a11y realm, but those results were obtained with a patch still in a very early state and, among other things, lacking a very important requirement for getting it accepted upstream: tests.

Fortunately, I can now proudly say that I managed to find a good way to write those tests (specially tricky due to the multiprocess architecture of WebKit2) and that there shouldn’t be any problem either with getting them work properly in the buildbots, which was something I was quite concerned about by the begining of the week, to be honest.

Besides the tests, the other obvious problem was that such a patch was not widely tested yet with the Orca screen reader (I use Accerciser for development purposes most of the time), and that would for sure unveil issues that would need fixing before being really able to propose a patch for reviewing, and so that was the other aspect where I put the spotlight during this week.

And regarding to this, I have to say that Joanmarie Diggs was working tirelessly by testing Orca with my WebKit2GTK+ a11y patch, reporting bugs, and helping me a lot to prioritize the tasks that would need to be done. From all those, I mainly worked this week in the following ones:

So, the conclusion of this part would be that we have now a patch in WebKit’s bugzilla (see bug 72589) that, once it’s approved, would enable accessibility in WebKit2GTK+ once and for all. Of course, this will probably take some time before it gets accepted upstream, but it’s yet another nice milestone in my opinion, and I personally hope it would happen on time for GNOME 3.4. Time will tell, though.

Rewrite of the Ad Blocker extension for Epiphany

This was another thing I’ve been randomly working on since some time ago (whenever “spare” time permitted), and that I was able to advance quite a lot right after coming back from the parental leave I enjoyed on September (did I say my second child was born on August the 30th?). However, the patch was not finished by any means, and some issues kindly pointed by Xan in bugzilla needed fixing before being able to say aloud something like “hey, the new ad blocker is now in town!”.

Thus, we thought it would be good to devote some time during the hackfest to try to close this task too, so we did: Xan reviewed the new version of the patch (addressing the issues he previously pointed out), I made some last changes based on that new feedback from him and we finally pushed it to the repository, replacing the old ad blocker extension with this new one, which is based in Midori’s ad blocker and so is compatible with Adblock Plus filters, which work very well IMHO.

So, this basically means that the new ad blocker extension will be present from Epiphany 3.4 on. Check out the related bug in GNOME’s bugzilla: bug 660154

Bug fixing in WebKitGTK+’s accessibility related code

Besides working in the WebKit2GTK+ a11y realm and on finishing the new ad blocker extension, I’ve also spent some time (although not as much as I would have wanted) fixing regressions in WebKitGTK+’s a11y code as reported by Joanie (basically bug 72804 and bug 72830).

Compared to the other two points, this has been of course a pretty small contribution, but worth doing anyway since they were very important for Orca to work properly with WebKitGTK+ based browsers (special mention to bug 72830 here).

Conclusion

From the work-related point of view, I’d say this hackfest has been highly productive in general, as we achieved many goals which, as Juanjo pointed out in his wrap up post, “were not mainly about fixing critical and blocker bugs and implementing basic missing features, but about more ambitious and challenging” ones. As for me, I’m pretty happy with the results I got, specially with the WK2 a11y patch, which has now a much better shape, and so I hope we can integrate it soon upstream.

And from a more personal point of view, I’d like to say I had a great time (again!) this year in the hackfest, and not only because of the achiements got, but also because I had quite a lot of fun as well, because I met new people and because I felt, more than ever, part of a community and a project which I love.

To finish, I’d just like to mention that I’ve been taking some pictures during the hackfest, which you can check out in this photo set in flickr (pictures uploaded with Frogr, of course!). Nayan has also taken some pictures as well, check them out here.

WebKitGTK+ 2011 Hackfest (The End)

Of course, thanks a lot to the sponsors that made this possible: Collabora, Motorola, Igalia and the always awesome GNOME Foundation. I hope we’ll be able to repeat it next year, since this hackfest it’s only getting more and more awesome every time it happens.

por msanchez el December 05, 2011 10:01 PM

November 30, 2011

Presentación de Experiencias ante el cambio

Soy consciente que el número de visitantes de este blog ha caido en los últimos meses (o años) conforme han caido el número de posts que Ak, niushka y yo hemos ido escribiendo en el blog pero, bueno, esto es algo que hace ya tiempo me plantee compartir y haya va!

Hace ya algunos meses, desde la UOC me propusieron que diera una pequeña charla sobre alguna experiencia personal que pudiera ser interesante para los alumnos que se acercaran a la primera conferencia que iban a dar por Galicia. Esta proposición coincidió con un momento en el que estaba leyendo “Presentation Zen” un buen libro de cómo deben hacerse las presentaciones en el siglo XXI lo que hizo que aceptara sin rechistar la proposición y me puse a pensar “¿De qué voy a hablar?”

La busqueda sobre un tema para los asistentes me llevo más de lo esperado, no encontraba nada de lo que pudiera hablar y que le sirviera a la gente. Quería algo que me hubiera marcado y que fuera lo suficientemente común como para que le sirviera a la mayor parte de gente que viniera por las jornadas … finalmente, después de unos días, encontré el tema ¡Superación de problemas!

El siguiente paso era el “Cómo presentar el contenido”, para ello tenía claro que quería seguir las recomendaciones que Garr Reynolds me estaba dando en cada capítulo de su libro… parecía -y sólo parecía- una tarea facil. La máxima de Garr es algo como el KISS(Keep It simply Stupid) pero en realidad esto lo hace más dificil de implementar…

Hacer la presentación, prepararla y pulirla me llevo algún tiempo… no estoy acostumbrado a hacerlas y tenía muy claro cómo quería que saliera … la puesta en escena… aunque al final no pudo ser cómo lo tenía planificado…

Cuando llegue al salon de actos, me sorprendieron varias cosas:

  • La puesta en escena: Yo quería hacer una presentación de pie… pero tenía ue ser sentado… :@
  • Temas de las presentaciones: Sin duda, mi presentación era diferente a la del resto, mientras todos venían a hablar de sus empresas… yo venía a hablar de mis experiencias
  • <iframe allowfullscreen="allowfullscreen" class="youtube-player" frameborder="0" height="344" src="http://www.youtube.com/embed/of-rj4GqsHk?modestbranding=1&amp;fs=1&amp;hl=en&amp;loop=&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1&amp;theme=dark" title="YouTube video player" type="text/html" width="425"></iframe>

    www.youtube.com/watch?v=of-rj4GqsHk


    Presentación de la UOC

    En conclusión, era novato (y sigo siendolo), la puesta en escena no era la que yo buscaba… pero aun así… creo que vale la pena, por lo menos, oirlo creo que a alguien puede que le ayude

    Ya me direis qué opinais

    por kour el November 30, 2011 02:26 PM

    November 17, 2011

    10 years

    We have many reasons to be happy these days.

    10 years rocking in the free world

    por berto el November 17, 2011 09:10 AM

    November 11, 2011

    Orca and WebKit2GTK+: initial results

    Last May, I wrote about some initial tests I did back then with AtkSocket and AtkPlug, just to learn a bit about that API that allows connecting accessibility trees in different processes, thanks to the magic of the ATK bridge. I did that in order to prepare for the work that would probably be needed when adding accessibility support in WebKit2GTK+, so browsers using the new version of this web engine could be at least as much accessible as those using the single-process WebKitGTK+ library. Looking back, I think that the effort has definitely payed off…

    However, because of one reason or another (and not necessarily work-related), I was not able to devote much time to keep working on this until some weeks ago, but fortunately I’m now again working on this as my primary task in Igalia, as part of our WebKit team, so I expect to have some nice results soon, hopefully also in the form of integrated patches upstream.

    And talking about results, I can’t avoid sharing the following at this very same moment, which is actually the trigger that made me write this post: today I was able to make Orca read, for the very first time, web content rendered through WebKit2GTK’s MiniBrowser, which has been not an easy task since the multiprocess architecture of WebKit2 made it a little bit challenging, to say the least.

    Of  course there’s still much to do in this regard, so do not think of the current status of the task as it was nearly finished or anything… but still I thought it was a nice milestone to share with the world, and what a better way to do it than using a video for that. After all, Orca’s main job is about speaking, right?. So here it is:

    <iframe allowfullscreen="allowFullScreen" frameborder="0" height="250" src="http://player.vimeo.com/video/31969760?title=0&amp;byline=0&amp;portrait=0" webkitallowfullscreen="webkitAllowFullScreen" width="400"></iframe>

    Orca and WebKit2GTK+: initial results
    [video in Vimeo] [video in Ogv (Theora / Vorbis)]

    By the way, I’d like to make the most of this post by saying I’m really proud and happy to have Joanmarie Diggs aboard in Igalia for a few weeks now, who contributed a lot to making possible that I was writing this post today. Thanks , Joanie!

    por msanchez el November 11, 2011 09:38 PM

    November 10, 2011

    FileTea now available in Debian

    In the past few weeks I’ve been preparing the Debian packages of FileTea and its companion EventDance. They’re finally available.

    FileTea is a free, web-based file sharing system that just works. It only requires a browser, and no user registration is needed. If you want to know more about it, you can read my previous blog post. For a more detailed description, read Nathan Willis’s excellent article on LWN.net. There have been a few changes since that article (HTTPS support in particular) but it’s still the best one you can find on the net.

    Igalia still provides a FileTea server at http://filetea.me/, that you can use to share your files and see how it works. We plan to keep offering this service, but you don’t need to trust it/depend on it anymore: now you can apt-get install filetea and have your own.

    por berto el November 10, 2011 10:09 AM

    November 09, 2011

    The Qt x-perience (getting old ;-), part I)

    Some time ago I think about writting my (short) experience programming GUI with C++/Qt/Qwt. This interesting post by Linus Torvalds blaming C++ motivated me again to do it.
    As I wrote in a previous post, last year I began to work in the Structural Mechanics Group of my civil engineers School. My first work was to develop a GUI to use with PULO by PhD Arturo Fontán, an engine used to optimize launched bridges. Trends in previous works in our team aimed to use MS VisualBasic, but I made a report evaluating some free and privative software. I considered some topics:

    So I wrote about Java, .net, Qt, GTK+, wxWidgets, GNUstep,Fox Toolkit, and FLTK. And, you guess, Qt was the winner for me.
    My next step was learning C++. I previously has written code in C, but never C++. In two weeks I learned C++ and Qt enough to make a simple proof-of-concept. I programmed a very (dirty) simple editor.

    I learned a lot with two books: The C++ programming language by Bjarne Stroustrup and C++ GUI Programming with Qt4 by Jasmin Blanchette and  Mark Summerfield.

    Then I began the real work. Of course, the final code can be cleaned and optimized, but after six months the main target was reached: to have an interface that easily can be used to introduce an initial design of properties and constructive process of the bridge, and read results from the engine and analyze them.

    Splash

    I used QtCreator to develop the GUI and Emacs to modify the engine. Both with best control version system ever, git, made my work really, shaming easy.

    Initial design input

    Initial design input

    To develop the postprocess I thought on gnuplot, but finally I used the Qwt library because its good integration with Qt.

    Postprocess

    Postprocess

    And what about C++? Well, Linus has strong reasons to run C++ down, but Linus develop operating systems. I think doing all this work in pure C would be a pain. It’s true if you want to program more confortable, you’ll produce a less optimum code. But it’s true too programming with C++ is far to attract monkey coders that only had in mind the fastest solution.

    por 曹 tsao el November 09, 2011 08:29 AM

    October 31, 2011

    Simetría lateral

    Un experimento fácil de hacer para el que tenga un poco de familiaridad con software de retoque fotográfico:

    1. Sacaos una foto de vuestra cara, completamente de frente;
    2. recortadla a lo largo del eje vertical de vuestra cara y separadla en dos mitades;
    3. para cada mitad, hacedle una copia e invertidla de derecha a izquierda (como un espejo);
    4. pegad cada mitad a su correspondiente copia invertida, formando así dos caras.

    Nadie tiene la cara completamente simétrica, así que los resultados suelen ser interesantes.

    Tengo una foto de los resultados con mi cara.

    Si alguna vez me van a clonar usando de ejemplo una foto de un lado de mi cara, ya sé qué lado quiero que usen. Uno de estos dos macizos tiene una gran carrera en el mundo del cine. El otro es John Cleese cuando aún no tenía bigote.

    por jacobo el October 31, 2011 04:42 AM

    October 20, 2011

    Qué ocurre con mi voto

    He aquí las últimas novedades sobre mi intento de votar en las próximas elecciones generales.

    Como ya habéis podido leer, a finales de agosto descubrí que mi inscripción en el CERA no se había actualizado cuando fui a registrar mis mudanzas, así que aún tenía mi primera dirección en Dublín. Me puse en contacto con el consulado para enviarles los datos actualizados, pero éstos entraron en el censo de octubre, mientras que para las elecciones se usa el de julio, así que hace un par de semanas tuve que ir a San Francisco a hacer la reclamación al censo electoral.

    El siguiente paso es enviar un impreso a la delegación provincial de A Coruña de la oficina del censo electoral. Este impreso, en teoría, me lo mandan a casa y luego tengo que enviarlo de vuelta firmado y acompañado de una fotocopia del DNI, para lo cual tengo el 22 de octubre de plazo. Ayer me llegó una carta de la oficina del censo electoral, así que fui a la oficina de correos a recogerla. Sin embargo, no era el impreso de marras, sino una confirmación de que habían estimado mi reclamación (aunque copiaron incorrectamente el número del apartamento -- menos mal que parece que el cartero se sabe mi nombre y ha dejado el aviso en mi buzón).

    Como ya me conozco el percal y ya sé que este impreso no llegará hasta después del plazo (si es que llega), lo he descargado y cumplimentado yo mismo y lo he enviado directamente por fax a la susodicha oficina del censo electoral (en la web del proceso electoral dice que se admite el envío por fax).

    Ahora, en teoría, me deberían enviar las papeletas y toda la documentación para que yo pueda ejercer mi derecho al voto. Espero que no ocurra como en las últimas elecciones gallegas, que las papeletas no llegaron hasta que ya era demasiado tarde para ello (me parece percibir un patrón). Ya os contaré qué ocurre.

    por jacobo el October 20, 2011 08:49 PM

    October 09, 2011

    TARTA DE CHOCOLATE BLANCO Y QUESO

    Seguimos con las semanas de tartas… hoy toca la tarta de chocolate blanco (no apta para regimenes ;) )

    Bueno, empecemos con los ingredientes


    Un poco de chocolate negro (5 ó 6 onzas).Se utiliza para "pegar " las galletas.
    2 tabletas de chocolate blanco
    1 tarrina de queso de untar
    2 cucharadas de azúcar
    1/2 litro de nata
    100 cc de leche.
    1 sobre y 1/2 de cuajada
    Galletas María o napolitanas
    Una pizca de sal

    Una vez tenemos los ingredientes, el siguiente paso es ponerse manos a la obra!!

    Lo primero, es deshacer el chocolate negro en el microondas. Con este chocolate y las galletas, forramos el molde. Mi recomendación es poner la capa de galletas primero de forma que no se vea el fondo del molde y, después echarle el chocolate negro por encima y exparcirlo bien. Esto es muy importante porque será la base de la tarta. Cuando esté bien hecha la base, la dejamos un rato enfriar en la nevera.

    Mientras enfria la base (5min son más que suficienteS), con el resto de los ingredientes los echaremos en un cazo al fuego hasta que se deshaga todo, hay que moverlo para que no hierva y para que no se pegue.La cuajada es mejor echarla al final.

    Solo queda echar la mezcla sobre las galletas y dejar enfriar.

    Bom apetit ;)

    por kour el October 09, 2011 08:37 PM

    October 04, 2011

    XV Aniversario de KDE

    ¡KDE Cumple 15 años

    Este mes cúmprense 15 anos dende o nacemento de KDE. Para celebralo imos organizar o día 14 de Outubro, en colaboración con KDE España, as seguintes actividades:

    • 18:00 Poñencia: Historia de KDE
    • 19:00 Poñencia: Como colaborar con KDE
    • 20:00 Celebración XV aniversario de KDE
    • 22:00 Cea aniversario de KDE (Celebrarase en "A Cervexa", Alcalde Marchesi, 21)

    O evento (excepto a cea) terá lugar na Aula de Graos da Facultade de Informática da Universidade da Coruña, as poñencias e a celebración son gratuítas e o prezo aproximado da cea será de 6€.

    Haberá obsequios para os asistentes.

    Esta actividade forma parte parte das actividades realizadas co financiamento da Xunta de Galicia a través do Convenio de Colaboración das AGUSL coa Secretaría Xeral de Modernización e Innovación Tecnolóxica da Xunta de Galicia incluído dentro do Plan de Acción FLOSS 2011.

    Información sobre todos os eventos de aniversario celebrados en España.

    Información sobre a celebración a nivel mundial.

    Organizan:
    GPUL
    KDE España
    KDE España
    Colaboran:
    Igalia Universidade da Coruña
     

    por fid_jose el October 04, 2011 08:55 AM

    October 02, 2011

    TARTA DE TRES CHOCOLATES


    450 grs de nata
    450 grs de leche
    3cucharadas de azúcar
    1 tableta de chocolate negro
    2 tabletas de chocolate con leche
    2 tabletas de chocolate blanco
    3 sobres de cuajada
    1 paquete de galletas tipo María
    Un poco de mantequilla para mezclar con las galletas y poder hacer la base

    Triturar las galletas y mezclar con la mantequilla. Echar la mezcla en el molde y aplastar bien.Meter un momentito en el horno para que quede una masa compacta.

    En un cazo calentar 150 de leche con 150 de nata , dos cucharadas de azúcar y el chocolate negro.Revolver la mezcla, que no hierva, hasta que se deshaga bien el chocolate.Añadir un sobre de cuajada (que no forme grumos) y seguir calentando un minuto.
    Verter la mezcla en el molde de las galletas.

    Hacer lo mismo con el chocolate con leche pero con solo una cucharada de azúcar.

    Hacer lo mismo con el chocolate blanco pero sin azúcar.

    Dejar enfriar y meter en la nevera para que endurezca.

    Recomendación: Es mejor hacerla la víspera

    por kour el October 02, 2011 08:35 PM

    October 01, 2011

    Jornadas sobre HPC y Software Libre en Ourense

    Undefined

    Desde la Red Gallega de Computación de Altas Prestaciones en
    colaboración con la Escuela Superior de Ingeniería Informática de la
    Universidad de Vigo se organiza en el Campus de Ourense los próximos
    días 5, 6 y 7 de octubre unas Jornadas sobre HPC y Software Libre.
    El programa del evento y web de inscripciones se encuentra disponible
    en:

    http://it.ephyslab.uvigo.es/hpcsl

    por tsao el October 01, 2011 01:14 PM

    September 18, 2011

    Pastel de Manzana y Nueces


    Receta
    4 manzanas
    3 tazas de harina
    1 sobre de Royal
    250 grs. de mantequilla o margarina (vale tb aceite de girasol)
    5 huevos
    2 tazas de azúcar morena (si no tienes vale blanca)
    1 taza de nueces

    Por un lado, mezclar la harina y el Royal, por otro, batir la mantequilla medio derretida (a temperatura ambiente) con los huevos y el azúcar y mezclar bien las dos mezclas

    Una vez bien mezclados, añadir las nueces y la manzana cortada en cuadraditos.

    Echar en un molde engrasado y enharinado (otra opción buena es enharinarlo con pan rallado en lugar de harina)

    Hornear mas o menos una hora a temperatura media y listo

    Si os gusta más jugosa podeis echarle una salsa cuando la saques del horno

    SALSA


    INGREDIENTES:
    1 taza de azúcar moreno.
    1/2 taza de leche
    150 grs. de mantequilla

    Receta:

    Mezclar todos los ingredientes y cocer 5 minutos

    Que aproveche.

    por kour el September 18, 2011 09:49 AM

    September 11, 2011

    Tarta facil de Almendras

    Siguiendo con las recetas de la abuela (en este caso de mi madre), hoy le toca el turno a una de las ultimas en llegar, la bizcocho de almendras. Este postre es muy socorrido y suele tener mucho exito entre los comensales. Espero que os guste:


    Ingredientes:

            150 grs azúcar
            3 huevos
            200grs nata
            200 grs harina
            1 sobre royal
            un pellizco de sal.
            2 sobres de almendra fileteada
            200 grs mantequilla
            100 grs azúcar

    Receta
    Se baten los huevos con la nata, pellizco sal, se añade el azúcar, la harina y sobre royal. Se mezcla todo bien y se vierte en una bandeja de horno. Hornear durante 10 minutos a 150-160 grados

    A continuacion, se pone a hervir la mantequilla con los 100 grs de azúcar. Se le añaden en caliente los dos sobres de almendra fileteada y se vierte por encima de la pasta que ya hemos quitado del del horno.

    Se aplasta con un tenedor y se mete al grill durante 7 minutos.

    PD: Prometo poner una foto la proxima vez que la hagamos en casa :)

    por kour el September 11, 2011 09:47 AM

    September 08, 2011

    FileTea: a simple file sharing system

    FileTea is a simple way to send files to other people: drag a file into your web browser, give the link to your friends and they can start downloading it right away.

    FileTea

    This is not a substitute for DropBox and the like. FileTea is not a file hosting service: the web server is only used to route the traffic, no data is stored there.

    You can see it as a web-based P2P file sharing system, or a replacement for good ol’ DCC SEND. You don’t need to worry about firewalls or redirections: if you can surf the web, you can send the file. The only client that you need is your browser.

    FileTea is a project developed by my fellow Igalian Eduardo Lima, and you can see more details about it here. It was written on top of EventDance, a peer-to-peer inter-process communication library based on GLib and also written by him (see also The Web jumps into D-Bus).

    FileTea is free software and you can download it and install it in your machine.

    We have also set up a server at http://filetea.me/.

    Important: this is still an alpha release and our bandwith is limited so bear with us if you find any problem :)

    Happy sharing!

    por berto el September 08, 2011 11:52 AM

    September 04, 2011

    No voy a votar al PP ni al PSOE (pero no por los motivos que piensas)

    El censo electoral en España es permanente. Esto quiere decir que se mantiene un censo que recibe actualizaciones constantemente, en lugar de hacer un censo nuevo cada cierto tiempo. Aún así, el 1 de cada mes se "cierra" el censo con las actualizaciones recibidas durante el mes anterior. Cuando hay elecciones, el censo que se utiliza es el cerrado en el segundo mes anterior a la convocatoria. Si no me equivoco, tienen previsto publicar la convocatoria de las próximas elecciones generales el día 27 de setiembre, con lo que se utilizaría el censo cerrado el 1 de julio.

    Cuando un español se va a vivir al extranjero ha de ir a registrarse a la oficina consular correspondiente; al mismo tiempo, le añadirán al CERA, que es el censo de los españoles que viven en el extranjero. Cuando me fui a vivir a Irlanda acudí a la embajada, y allí me dieron de alta en el CERA. Un tiempo más tarde me cambié de piso y di aviso del cambio de dirección. Algo más tarde todavía me vine a EEUU, y también fui al consulado a registrarme.

    Podéis imaginar la sorpresa que me llevé la semana pasada cuando fui a la web del INE para revisar mis datos del CERA y vi que seguía figurando con mi primera dirección irlandesa. Es decir, que no actualizaron mi inscripción en el censo cuando fui a registrar mi cambio de dirección en Irlanda ni cuando fui a registrarme en San Francisco.

    He enviado los correspondientes impresos para actualizar mi dirección en el CERA, y anteayer me dijeron que ya han actualizado mis datos en el censo. Estos datos saldrán en el censo del 1 de octubre, que es después de la convocatoria y, por lo tanto, no voy a poder votar en las próximas elecciones.

    (Los españoles residentes en el extranjero tenemos un obstáculo más a la hora de votar: en la reciente modificación de la ley electoral se han sacado de la manga que los votantes tienen que enviar una solicitud para poder ejercer su derecho al voto, utilizando un formulario que se les enviará antes por correo. Me disculparéis que me entre una sonrisita cínica al recordar que en las últimas elecciones de la Xunta de Galicia mis impresos y papeletas de votación se retrasaron tanto que, cuando al fin llegaron, ya no tuve tiempo para enviar mi voto).

    Añadido: parece que mi lectura de la normativa electoral no fue lo suficientemente profunda y no me di cuenta de que, viviendo en el extranjero, mi circunscripción electoral está separada de mi lugar de residencia. Como en periodo de reclamaciones no admiten cambios en la circunscripción, pensaba que esto significaba que mi cambio de consulado tampoco lo admitirían y querrían que votara en Dublín. Sin embargo, aunque he cambiado de país de residencia (y, por lo tanto, ahora trato con un consulado distinto), sigo votando en Santiago de Compostela, con lo que mi circunscripción electoral no ha variado, y, en teoría, deberían admitir mi reclamación cuando la presente. Ya os diré qué tal.

    por jacobo el September 04, 2011 06:34 AM

    September 02, 2011

    Pensar mucho…

    Pensar

    por kour el September 02, 2011 08:08 PM

    August 31, 2011

    No Stress!!

    <iframe allowfullscreen="allowfullscreen" class="youtube-player" frameborder="0" height="344" src="http://www.youtube.com/embed/Up1MzGUhQG0?modestbranding=1&amp;fs=1&amp;hl=en&amp;loop=&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1&amp;theme=dark" title="YouTube video player" type="text/html" width="425"></iframe>

    www.youtube.com/watch?v=Up1MzGUhQG0

    No Stress

    :/

    por kour el August 31, 2011 06:54 PM

    August 19, 2011

    Frogr 0.6.1 (bugfixing) release

    Shit happens in many ways, and sometimes that means you release an application with some bugs you just can’t stand and need to roll out a bugfixing release as soon as possible. Does this sound familiar to you? :)

    So that’s why this new release of frogr, just one week after the 0.6 version had been published, has arrived, taking care exclusively of fixing the following problems, as stated in the NEWS file:

    From those above, patches for some them were already included in the debian packages from frogr’s Ubuntu PPA and in the package for the Mac, but the most important ones -the leaks- were not, so that’s why I decided to roll this new version out.

    So that’s all, if you were already an user of frogr, go and grab it through the usual ways.

    por msanchez el August 19, 2011 05:18 PM

    DD-WRT e IPv6

    Recientemente he adquirido un router WRT610N para sustituir a mi antiguo WRT54GL. Las razones principales del cambio han sido que el segundo (pese ser uno de los routers mas versátiles del mercado) se queda un poco corto en cuanto a velocidad de red y memoria, siendo el primero una bestia parda con su doble circuiteria WiFi, lo que permite tener dos redes inalámbricas reales que pueden funcionar a diferentes velocidades (lo cual es muy útil, ya que los equipos hoy por hoy suelen funcionar en estándar N, pero los móviles siguen estancados en G), su red alámbrica gigabit y el puerto USB, que permite conectar un dispositivo de almacenamiento para ampliar las posibilidades del producto.

    Otra de las razones por las cuales decidí actualizar mi hardware de red fue que quería probar a trabajar de una vez por todas con IPv6.

    Hoy por hoy mi proveedor de acceso no ofrece ninguna posibilidad de utilizar IPv6 (como la gran mayoría), pero eso no quita de que nosotros no podamos usar los servicios de túnel que pueden facilitarnos empresas de terceros, como por ejemplo Hurricane Electric.

    En mi caso concreto lo primero que hice fue solicitar un túnel con ellos, hay que tener en cuenta que cuando solicitamos dicho túnel ellos comprueban nuestra IP pública a través de un Ping para ver si es alcanzable, por lo que debemos tener habilitada la respuesta ICMP.

    Una vez que nos dan el túnel (podemos solicitar hasta 5, pero con uno es suficiente, en el /64 que nos dan tenemos 18.446.744.073.709.551.616 direcciones posibles) nos facilitarán la información necesaria para configurarlo. Lo que realmente nos interesa es la dirección IPv4 del servidor, la dirección IPv6 del cliente y el prefijo enrutado IPv6.

    A partir de aquí toca configurar el Router. Yo ya lo tenía preparado con el firmware de dd-wrt. Para no agotarle la memoria interna le conecte un llavero USB de 1GB que tenía por casa y lo utilice como /jffs, de tal forma que todos los scripts y configuraciones extensas los meto en esta ubicación.

    Para levantar la red IPv6 utilizo este script al que he llamado hetunnelbroker.sh:

    #! /bin/sh -x
    
    # Load Module
    insmod ipv6
    insmod sit
    sleep 5
    
    # Get WAN IP
    WANIP="$(ip -4 addr show dev vlan2 | awk '/inet / {print $2}' | cut -d/ -f1)"
    
    # Configure HE Tunnelbroker
    SERVER_IPV4_ADDR="209.51.181.2"
    CLIENT_IPV6_ADDR="2001:470:bebe:cafe::2/64"
    ROUTED_IPV6_ADDR="2001:470:bebe:cafe::/64"
    
    # Write small log
    echo "External IP: $WANIP" > /jffs/ipv6/startup.log
    
    # Configure Tunnel if WAN is UP
    if [ -n "$WANIP" ]
    then
    
            echo "Configuring tunnel" >> /jffs/ipv6/startup.log
    
            # Set Public IP in HE Servers (if the user gives the passwd via stdin)
            [ -n "$1" ] && [ -n "$2" ] && [ -n "$3" ] && \
             echo "Updating tunnel" >> /jffs/ipv6/startup.log && \
             iptables -I INPUT 1 -p ICMP --icmp-type echo-request -s 66.220.2.74 -j ACCEPT && \
             MD5PASS=`echo -n $2 | md5sum | sed -e 's/  -//g'` && \
             wget 'http://ipv4.tunnelbroker.net/ipv4_end.php?ip='$WANIP'&pass='$MD5PASS'&apikey='$1'&tid='$3 -O - >> \
               /jffs/ipv6/startup.log && \
             iptables -D INPUT 1
    
            # Add HE tunnel
            ip tunnel add he-ipv6 mode sit remote $SERVER_IPV4_ADDR local $WANIP ttl 255
            ip link set he-ipv6 up
            ip addr add $CLIENT_IPV6_ADDR dev he-ipv6
            ip route add ::/0 dev he-ipv6 metric 1
            ip -6 addr add $ROUTED_IPV6_ADDR dev br0
    
            # Provide IPv6 Forwarding
            echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
    
            # Start radvd to provide IPv6 pull to network
            echo -e "\nStarting radvd" >> /jffs/ipv6/startup.log
            radvd -C /jffs/ipv6/radvd.conf
    fi

    Comentando el funcionamiento del script, lo primero que hace es cargar los módulos necesarios para dar soporte a IPv6. Después almacena en la variable WAN_IP nuestra dirección IPv4 recogiéndola de la interfaz de red que está conectada a internet. Hay que tener en cuenta que en mi caso concreto esta interfaz es vlan2, pero dependiendo del modelo de router que tengamos esto puede variar.

    A partir de este punto comienza la configuración que sera personal nuestra en cada caso. En SERVER_IPV4_ADDR pondremos la dirección IPv4 del servidor que nos facilita Hurricane Electric, en CLIENT_IPV6_ADDR la dirección IPv6 del cliente y en ROUTED_IPV6_ADDR el prefijo enrutado IPv6.

    Lo siguiente ya son la ejecución de los comandos necesarios para levantar IPv6, si nos fijamos el script escribe un pequeño log en /jffs/ipv6/startup.log. También podemos observar que es capaz de recoger 3 variables de la línea de entrada. Estas variables son la API Key (que aparece como User ID en nuestra página de entrada del Tunnel Broker de Hurricane Electric), nuestra contraseña de acceso y la ID del túnel. Si al llamar al script le pasamos estos valores, será capaz de actualizar nuestra IP pública en Hurricane Electric, de tal forma que si ha cambiado, el túnel seguira activo.

    Por último el script levanta radvd (un servicio que advierte a la red de la configuración de prefijo IPv6 que debe de usar) leyendo su configuración de /jffs/ipv6/radvd.conf:

    interface br0 {
            MinRtrAdvInterval 3;
            MaxRtrAdvInterval 10;
            AdvLinkMTU 1480;
            AdvSendAdvert on;
            prefix 2001:470:bebe:cafe::/64 {
                    AdvOnLink on;
                    AdvAutonomous on;
                    AdvValidLifetime 86400;
                    AdvPreferredLifetime 86400;
            };
    };

    Aquí lo único que es necesario configurar es el prefix para que coincida con nuestro prefijo enrutado IPv6.

    Para que todo esto funcione simplemente tenemos que llamar al script hetunnelbroker.sh desde la lista de comandos de arranque del router. Como comente anteriormente si lo llamamos sin argumentos simplemente levantará el túnel, sin embargo si le pasamos argumentos actualizara nuestra IP. Debemos utilizar una forma u otra dependiendo de si nuestra IP es fija o dinámica.

    Una vez levantado el router, ya deberíamos de tener disponible IPv6. Para verificarlo, podemos intentar alcanzar esta misma página por IPv6 en ipv6.entropia.moire.org.

    IPv6 y Windows 7.

    Si bien, una vez que tenemos todo configurado, funciona correctamente en Windows 7, en la maquina que tengo yo como consola de videojuegos no me gusta el comportamiento por defecto que tiene este Sistema Operativo.

    Micro$soft, fiel a sus principios, se pasa por el (póngase lo que se quiera) los estándares definidos para la configuración de IPv6 y en vez de utilizar una IP basada en la MAC de la ethernet, utiliza una basada en un número aleatorio generado. Aunque esto puede resultar interesante para mantener la privacidad, es un infierno si se utilizan DNS locales.

    Si queremos deshabilitar esta característica, podemos hacerlo ejecutando los siguientes comandos en una consola cmd:

    netsh interface ipv6 set privacy state=disabled store=active
    netsh interface ipv6 set privacy state=disabled store=persistent
    netsh interface ipv6 set global randomizeidentifiers=disabled store=active
    netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent
    

    Una vez hecho esto reiniciamos la maquina y veremos que la interfaz se configurara correctamente usando EUI-64.

    Para terminar, si queréis saber un poco mas sobre estos estándares de direccionamiento podéis leer este articulo que, curiosamente, me he encontrado en el TechNet de Micro$oft.

    por Óscar García Amor el August 19, 2011 11:21 AM

    August 14, 2011

    Homo Economicus

    Cuando vi que Penalonga había escrito un libro, al principio pensé que se trataría de una ida de olla de este simpático lugués. Lo bueno del facebook es que te mantiene informado sobre las cosas que les pasan a tus amigos así que realmente me equivoqué, Penalonga ya es una persona que lleva años haciendo libros de economía para editoriales de prestigio y trabaja en la enseñanza. Debería haber pensado que el libro tiene que estar bien; el autor tiene una amplia experiencia, sabe de lo que habla y aún encima todos los días se lo tiene que explicar a mucha gente.

    Cuando vi en la FNAC el libro colocado en un sitio preferente en la estantería de los libros de economía y empresa y con un buen número de ejemplares, empecé a sentir que ese libro incluso debía ser muy bueno. Sólo faltaba coger uno y poder hojearlo; y sorpresa, cada página que leía me resultaba interesante.
    Me encanta regalar libros por muchas razones, una de ellas es que tengo un intervalo de tiempo dónde yo los puedo leer, regalar a su real destinatario y pensar que he ahorrado dinero. 
    Este fin de semana he devorado "Homo Economicus" explica de forma amena y clara un montón de conceptos de economía como la inflación, la creación de dinero por los bancos, la globalización.
    Ciertamente tiene un "regustillo" neoliberal, no critica los fallos del sistema y parece sugerir la típica idea de que la competividad crea una mayor eficiencia que trae el avance a la Humanidad. Echo en falta algún capítulo que aborde el previsible problema de que si la economía crece de forma infinita y no nos vamos a otro planeta este sistema construido para construir y consumir tiene un serio problema.
    Tampoco me gustó el último capítulo con una exposición que hace entender que todo el riesgo es relativo y que nuestra percepción sobre él puede ser errónea. Compara probabilidades de viajar en coche o avión, hacer encierros, ... No le veo ninguna conclusión salvo la de hacer pensar que "todo es relativo".
    Y por último, hablando sobre la naturaleza de monopolios y oligopolios saca el típico ejemplo de Microsoft. Para justificar la posición de esa empresa por el lado tecnólogico sólo habla de patentes. Habría que precisar que las patentes de Microsoft en Europa no son aplicables y que su posición de dominio nace de su control absoluto de las interfaces de programación y estándares de datos que le permiten dictar las normas al resto de empresas (aunque los últimos años ese control ha quedado muy en duda, irrupción de linux, macos, móviles, tabletas y una Internet que se resiste a no seguir estándares públicos).
    Ahora bien, podría hablar mucho más de todas las cosas que me han gustado y que de hecho me han aclarado un montón de dudas. La economía hoy se ha convertido en un tema central de las conversaciones humanas; como el tiempo, el fútbol, la política, ...Así que el libro es muy recomendable para gente que no sabe nada de economía pero que quiere hablar con cierta propiedad con los amigos sobre estos temas. 
    Mis euros han estado muy bien gastados, sobre todo cuando mañana diga "¡Felicidades, Susana!"

    por Juanjo Iglesias (noreply@blogger.com) el August 14, 2011 04:31 PM

    Jornadas de puertas abiertas del Máster de Software Libre

    Desde el Máster de Software Libre que organizan Igalia, NCG y la Universidad Rey Juan Carlos, nos llega la noticia de estas interesantes jornadas de puertas abiertas, que se celebrarán el próximo septiembre. La entrada es libre, aunque se pide registro para calcular aforo. Se puede consultar el programa completo en la página del Máster.

    por tsao el August 14, 2011 02:45 PM

    August 13, 2011

    Frogr 0.6 released

    After some changes here and there frogr 0.6 is finally out.

    Frogr 0.6 running in GNOME 3

    Besides the usual bugfixing work, the main new features on this release are:

    • Integration with the GNOME general proxy settings (optional).
    • Open pictures in the default image viewer  from the details dialog and the main view.
    • Allow users to specify the license to be set for the pictures.
    • A new User Manual, under “Help > Contents”.
    • Some UI improvements.

    As usual, you can get frogr through different ways: you can grab the source code from its git repository or via the xz and bzip2 tarballs, specific packages for Fedora or for Ubuntu (ranging from Karmic to Oneiric) and even a version for MacOSX, if you dare to use it.

    By the way, at the moment frogr is already being packaged in some distros (see this) and others might follow, so perhaps it could be that you already were able to install it by just using your favorite package manager with the standard repos. Otherwise, it might be just a matter of time, I guess…

    For more information about the project and also how to contribute, check out its web site.

    Last, but not least, I’d like to make an special mention here to the awesome Quinn Dombrowski, who very well could be the “most passionate frogr user I’ve ever known” and who was kind enough to design, handcraft and send -from Chicago to Spain- a stuffed frogr mascot plus a beautiful vest for my son (which design comes also with its own incredible story), as a sign of gratitude for writing this tiny app. I’m still shocked about it, see what I’m talking about:

    Frogr mascot Onfim vest

    If you want to see more pictures you can check my set in flickr, although I warn you these two ones taken by the artist are way better than mine :-)

    Seriously Quinn… and yet once again: Thank you!

    por msanchez el August 13, 2011 09:02 AM

    August 10, 2011

    La GUADEC 2012 se celebrará en Coruña

    Undefined

    Anuncio GUADEC 2012

     

    El anuncio lo dice todo. Hace algunas semanas publicábamos la noticia de la candidatura que GPUL presentaba para organizar la GUADEC 2012. Desde entonces se han sucedido las reuniones, las campañas para darnos a conocer, y finalmente, en el Desktop Summit que se está celebrando estos días en Berlín, se ha dado la noticia, en la que A Coruña era elegida frente a ciudades con tanta importancia y respaldo como Brno y Lyon, para la organización de este evento. Muchas gracias, al grupo de personas, liderado por Chema Casanova, que ha confeccionado la candidatura y la ha defendido en estas semanas.

    Por delante queda un arduo trabajo que se irá desarrollando en los próximos 11 meses. El presupuesto da un poco de vértigo, pero eso no es lo esencial. Lo esencial, lo hemos demostrado en estos años de vida de la asociación, es el equipo humano. Y estoy seguro que, con la ayuda de la gente de Igalia, GHANDALF, los propios voluntarios de GNOME, y de otras organizaciones, GPUL llevará a buen puerto la empresa que se nos ha encomendado.

    por tsao el August 10, 2011 12:45 AM

    August 02, 2011

    Desktop Summit 2011

    Undefined

    Desktop Summit 2011

    Nuns días dará comezo en Berlín o evento "Desktop Summit 2011". Este evento bianual consiste na celebración simultánea da Akademy (reunión de desenvolvedores de KDE) e da GUADEC (reunión de desenvolvedores de GNOME).

    No Desktop Summit deste ano, o socio de GPUL José Millán Soto impartirá a charla breve "KMail, Kopete and Dolphin accessibility ", dentro da sesión "GNOME and KDE Interns Showcase", que se celebrará o sábado 6 de agosto as 17:15.

    Ademais, será neste evento onde se decidirá se a nosa proposta para a celebración da GUADEC 2012 é a elexida ou se a GUADEC do ano que ven se celebrará noutra das ubicacións posibles.

    A participación coma poñente de José Millán forma parte das actividades que GPUL realiza co financiamento da Xunta de Galicia a través do Convenio de Colaboración das AGUSL coa Secretaría Xeral de Modernización e Innovación Tecnolóxica da Xunta de Galicia incluído dentro do Plan de Acción FLOSS 2011.

    por fid_jose el August 02, 2011 02:49 PM

    July 15, 2011

    Respeto por decreto

    Estos días estuve pensando, lo cual es peligroso, en el asunto de los colegios profesionales para ingenieros en informática, y me he dado cuenta, por fin, de uno de los motivos por lo que ese tipo de organizaciones me dan tan mala espina.

    He estado mirando en las webs de varios de esos colegios, y uno de los temas que se repiten continuamente es el del respeto. “Para que se respete nuestra profesión”, “que se nos dé el respeto que merecemos”, etc., etc. (No son citas literales, ojo).

    Sin embargo, el respeto por decreto no existe. Por ejemplo, el principal objetivo de la SGAE es, ostensiblemente, que se respete a los autores y editores. Ya me diréis cuánto éxito tiene esa organización, y cuánto respeto reciben Alejandro Sanz o Ramoncín cada vez que la SGAE cobra el 10% de la recaudación de un recital benéfico. Del mismo modo, no puedo imaginarme qué puede hacer un colegio profesional para “hacer que se respete la profesión” sin conseguir que mis posibles clientes me desprecien más. “Oiga usted, que para hacer este trabajo tiene que contratar por ley a un ingeniero informático colegiado” no es forma de ganarse el respeto de nadie.

    El respeto no se obtiene con leyes. El respeto se gana día a día, en el trabajo y tratando con los clientes, jefes y compañeros de trabajo. Una persona que hace un mal trabajo no es respetada. Una persona que no es capaz de hacerse valer no es respetada. Una persona que trata mal a sus compañeros o subordinados no es respetada. Siendo una persona como es debido, haciendo un buen trabajo y exigiendo lo que mereces; así es como uno se gana el respeto de los demás. Y lo demás son tonterías.

    por jacobo el July 15, 2011 06:31 AM

    July 11, 2011

    GPUL candidata a organizar a GUADEC 2012 na Coruña

    Actualización: A GNOME Foundation acaba de anunciar que elixe coruña como cidade para a celebración da GUADEC do próximo ano.

    GPUL presentou o pasado fin de semana a súa candidatura para organizar en Coruña a conferencia GUADEC en 2012 en colaboración coa asociación GHANDALF e a Universidade da Coruña. A GUADEC é a conferencia europea de usuarios e desenvolvedores de GNOME que se organiza anualmente nunha cidade Europea, en 2011 terá lugar en Berlín conxuntamente coa aKademy . GPUL presenta con ilusión, por segunda vez, a súa candidatura para a organización desta conferencia na que se toman as principais decisións sobre o futuro do proxecto GNOME.

    O proxecto GNOME está formado por unha comunidade internacional de usuarios e desenvolvedores que queren achegar un escritorio e unha plataforma de desenvolvemento libre amigable a toda a sociedade. A posibilidade dunha GUADEC na Coruña significaría organizar a Conferencia de Software Libre máis importante en Galicia ata a data de hoxe. Isto  favorecerá o impulso e promoción do Software Libre achegando a máis de 300 hackers de todo o mundo para construír un GNOME mellor. A GUADEC ten unha duración dunha semana na que o intercambio de ideas realizase en charlas, talleres, mesas de debate e paneis.

    Logo GUADEC

    A proposta remitida por GPUL está a ser avaliada pola Fundación GNOME xunto coas outras candidaturas de Lyon (Francia) e Brno (República Checa).

    Dende GPUL queremos agradecer os apoios recibidos por parte da GHANDALF, Universidade da Coruña, Xunta de Galicia, GNOME HISPANO e Igalia, así coma a resposta dos voluntarios de cara a participar o vindeiro ano nun dos eventos referentes en Software Libre a nivel Europeo, no caso de saíren seleccionados.

    por chema el July 11, 2011 07:10 PM

    July 07, 2011

    gvSIG CodeSprint en Galicia

    Undefined

    Directo de Mancomún.org:

     

    Os vindeiros días 14 e 15 de Xullo vaise celebrar o codesprint de gvSIG no Cartolab da Escola de Enxeñería de Camiños, Canais e Portos da Universidade de A Coruña. O codesprint é basicamente unha reunión co obxectivo de xuntar á comunidade de desenvolvedores nun ambiente informal para entre todos arranxar erros, facer melloras ou mesmo implementar novas funcionalidades.

    Banner do Galician CodeSprint

    A idea é xuntarse nun mesmo lugar desenvolvedores de gvSIG e desenvolvedores da comunidade cada un co seu computador e unha vez reunidos definir os intereses e puntos sobre os que traballar na xornada, establecer os grupos de traballo en función dos intereses e do número de expertos en gvSIG e poñerse mans á obra.

    Seguramente gran parte do traballo realizado durante estes dous días sexa incorporado ás próximas versión de gvSIG así que é unha gran oportunidade para que Galicia participe neste proxecto, e os desenvolvedores galegos poidan facer chegar dun xeito rápido as súas contribucións a gvSIG así como conseguir axuda dos desenvolvedores oficiais.

    En resume é unha excelente oportunidade para que as persoas interesadas en achegarse a gvSIG poidan coñecer de primeira man á xente que está detrás do proxecto, coñecer como está montada a súa comunidade e de que maneira pode comezar a colaborar.

    Polo momento está confirmada a participación de persoal do propio Cartolab, da empresa galega Icarto membro de AGASOL, e de persoal do Servizo de "Coordinación e Información Territorial" da Xunta de Galicia.

    Aínda que non se trata dun curso de programación con gvSIG, senón dunha sesión de traballo en comunidade, o evento está aberto á participación de desenvolvedores pouco experimentados. Segundo recollen no wiki do evento, “se sabes o que é compilar, se eclipse é algo máis que un fenómeno astronómico para ti e sénteste con gañas de aprender, tamén podes asistir”.

    Aqueles que teñan intención de asistir só deben inscribirse no wiki para facilitar a organización do evento. A participación é completamente gratuíta.

    por tsao el July 07, 2011 10:13 AM

    Xornadas Multimedia con Software Libre

    Undefined

    El próximo miércoles 20 de julio GPUL organiza una nueva edición de las "Xornadas Multimedia con Software Libre" en la Facultad de Informática. El plan del día es el que sigue:

    11:00 Apertura das Xornadas Multimedia

    11:30 Introducción a reproductores multimedia multiplataforma

            Unha introducción a diversos reproductores, tanto de audio coma vídeo. Todos os reproductores que se verán dispoñen de versión nativa   para   varios si stemas operativos/plataformas, centrarémonos naqueles que se poidan atopar nas tres máis empregadas: GNU/Linux, MacOS e Windows.
            Serafín Villar (GPUL)

    12:15 Motores 3D Open Source: Posibilidades Reales
            Charla/coloquio sobre los motores de videojuegos open source y sus ventajas y desventajas en el mundo comercial y desarrollo de videojuegos. Mención a algunos de los motores más conocidos NO OpenSource a modo de comparación como pueden ser UDK, CRYEngine, BlitzBasic, DarkBasic, Dev, etc.
            Jorge Parada Fernandez (FREAKS Party)

    13:00 Xantar

    Actualización: imos cun pouco de atraso. Adiamos as charlas da tarde media hora. Comezaremos ás 15:30.

    15:00 Cinelerra: editando vídeo e dando guerra
            Breve introducción á edición de vídeo con editores libres e pequena demostración de edición con Cinelerra.
            Alejo Pacín Jul (GPUL)

    16:00 Introducción al desarrollo de aplicaciones interactivas con software libre (o no)
            Se describirán los pasos en el proceso para el desarrollo de una apliación audiovisual interactiva, discutiendo las posibilidades (y las carencias) existentes en software libre para el desarrollo de los trabajos.
            Antonio Seoane Nolasco (Profesor Fac. Ciencias Comunicación - UDC)

    17:30 Blender: proyecto piloto
            Relatorio en donde se hablará sobre la experiencia de Dygrafilms con Blender: pruebas de implantación, funcionalidades y compatibilidades con otros programas 3D.
            Juan Carlos Pena Babío (Dygrafilms)

    Actualización: la charla precedente a este aviso queda cancelada. Disculpad las molestias.

    18:30 HTML 5 e as novas etiquetas multimedia
            O novo estándar HTML está moi enfocado a poder acoller ó, cada vez maior, contido multimedia co que contan as actuais páxinas web. Nesta charla veremos cales son eses novos elementos e daremos unha pequena introducción de como empregalos.
            Francisco Sobrino (alumno da FIC)

    19:15 Peche das xornadas

     

    [baixao en pdf]

    Estas xornadas forman parte das actividades que GPUL realiza co financiamento da Xunta de Galicia a través do Convenio de Colaboración das AGUSL coa Secretaría Xeral de Modernización e Innovación Tecnolóxica da Xunta de Galicia incluído dentro do Plan de Acción FLOSS 2011.

    por tsao el July 07, 2011 08:25 AM

    July 02, 2011

    El Día de la Independencia

    Este lunes es el cuatro de julio, que es cuando aquí en los EEUU celebran su “Día de la Independencia”. El Día de la Independencia es el día en que todos los chavales que hayan cumplido los dieciocho años y, por lo tanto, sean legalmente adultos, abandonan el hogar paterno y se independizan.

    Seguro que habéis visto esta tradición decenas de veces, ya que es el inicio de montones de películas americanas: el campus de la Universidad lleno de recién llegados pisando todo el césped, y los coches dando vueltas alrededor de un macizo con el escudo de la Universidad, hasta que la cámara se acerca a un coche que se detiene y, por pura casualidad, consigue aparcar en el mejor sitio de todo el campus y sin necesidad de hacer maniobras. Un chaval se baja del coche y mira con asombro y un poco de aprensión toda la fauna y flora que le rodea, y su padre, que es judío y lleva gafas, le da un abrazo lateral, estrechándole los hombros, y le dice: “¡bueno, por fin estamos aquí!” Y, por si no quedaba claro, añade: “¡la universidad!”

    La escena que esas películas no muestran es cuando, esa noche, los padres llegan a casa, y se dan cuenta de que por fin están solos, y de que pueden hacer lo que quieran, donde quieran, y cuantas veces quieran. Y de tanta alegría que les entra, lanzan fuegos artificiales, y los vecinos se reunen a admirarlos. Cada año, entre cuatro y seis millones de personas cumplen los 18, así que, como os podéis imaginar, el cuatro de julio hay un montón de fuegos artificiales...

    por jacobo el July 02, 2011 05:51 AM

    July 01, 2011

    Vagalume 0.8.5

    Dear Last.fm fellows, I’ve just released Vagalume 0.8.5.

    Vagalume 0.8.5

    These are the most important changes since the previous version:

    This makes 0.8.5 the first Vagalume to support GTK+ 3, and this without even needing to break backwards compatibility. So now it compiles with any GTK+ version from (at least) 2.6 till 3.0 :-)

    Source code, as usual, here. Binaries very soon in your favourite distro.

    por berto el July 01, 2011 02:50 PM

    June 23, 2011

    N9

    The Nokia N9 is out.

    Yes, after all what happened lately there are many reasons to be sad, cynic or pessimistic, particularly considering all the excitement and hopes that many people (including me) had when the N900 came out.

    But still, even if this is a dead-end product and this team’s swan song, it’s a hell of a beautiful one.

    Nokia N9

    I’m happy to see the N9 out. Philip is damn right, and Urho is damn right. I think this is a great achievement, I’m personally proud of all the work we’ve put into it and also very glad for all the good reviews it’s getting.

    Free software can produce amazing things, and this is just one more proof. Our hopes will not die here. No pasarán.

    por berto el June 23, 2011 08:35 AM

    June 21, 2011

    Instalando una Debian en el DreamPlug

    En mi anterior articulo comentaba cómo podíamos sustituir la Ubuntu 9.04 que viene por defecto en el DreamPlug utilizando una Debian prefabricada por la gente de Golbalscale. El problema es que esta imagen no es todo lo limpia que debería ser. Tiene demasiado software innecesario e incluso alguno que no funciona correctamente. Por lo que he decidido realizar una instalación del sistema partiendo de cero.

    Parto del supuesto de que ya se dispone del USB de arranque con Debian y de que ya hemos iniciado el DreamPlug con el mismo utilizando el JTAG. Si no fuese así, aquí explico como hacerlo (pasos uno y dos). También es necesario que el DreamPlug disponga de conexión a internet en su interface eth0.

    Una vez autenticados en el sistema configuramos la red, en mi caso dispongo de un servidor dhcp:

    # dhclient eth0

    Si no disponemos de servidor dhcp podemos configurar la interfaz a mano:

    # ifconfig eth0 192.168.0.100 # Se configura una IP válida dentro del rango
    # route add default gw 192.168.0.1 # Se agrega la puerta de enlace
    # echo "nameserver 8.8.8.8" > /etc/resolv.conf # Utilizamos el servidor DNS de Google

    Configurada la conexión limpiamos el disco interno del DreamPlug y lo montamos:

    # mkfs.ext4 /dev/sda2 # Formateamos con ext4
    # e2label /dev/sda2 root # Etiquetamos la partición como root (opcional)
    # mount -t ext4 /dev/sda2 /mnt

    Ya tenemos el sistema listo para comenzar la instalación, para ello utilizaremos la herramienta debootstrap. Cómo la idea es instalar Debian Testing, instalaremos primero el paquete de squeeze para luego sustituirlo por el de wheezy, finalmente agregamos la opcion –no-check-gpg a debootstrap para que no se detenga cuando compruebe la llave con la que están firmados los paquetes:

    # apt-get install debootstrap # Instalamos debootstrap de squeeze para resolver las dependencias
    # wget http://ftp.us.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.30_all.deb
    # dpkg -i debootstrap_1.0.30_all.deb # Instalamos el de wheezy
    # debootstrap --no-check-gpg --verbose --arch armel wheezy /mnt http://ftp.debian.org/debian/

    Esperamos ahora un rato que es lo que tardara el debootstrap en descargar en instalar todos los paquetes del sistema base, una vez finalizado hacemos un chroot para entrar en el nuevo sistema y realizar un par de configuraciones:

    # chroot /mnt
    # passwd # Establecemos la contraseña para el usuario root
    # vi /etc/inittab # Editamos el inittab para establecer que el terminal funcione con el JTAG
    
    Ya que no es necesario que se carguen los terminales normales porque el GuruPlug no tiene pantalla, comentamos las líneas:
    1:2345:respawn:/sbin/getty 38400 tty1
    2:23:respawn:/sbin/getty 38400 tty2
    3:23:respawn:/sbin/getty 38400 tty3
    4:23:respawn:/sbin/getty 38400 tty4
    5:23:respawn:/sbin/getty 38400 tty5
    6:23:respawn:/sbin/getty 38400 tty6
    Después de la línea:
    # Example how to put a getty on a serial line (for a terminal)
    Insertamos la siguiente para establecer un terminal COM para que funcione con el JTAG:
    T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100

    Una vez hechos estos cambios podemos salir del chroot.

    Antes de reiniciar y arrancar con nuestro nuevo sistema limpio debemos copiar los módulos del kernel y el firmware del USB al disco interno:

    # cp -r /lib/modules/2.6.33.6 /mnt/lib/modules
    # cp -r /lib/firmware/* /mnt/lib/firmware
    # cp /root/firmware/* /mnt/lib/firmware
    # cp /root/*.ko /mnt/lib/modules/2.6.33.6/kernel/drivers/net/wireless

    Como podemos ver hay ciertos ficheros de firmware y módulos del kernel de la tarjeta inalámbrica en la carpeta root. Esta es una pequeña guarreria que tienen todos los DreamPlugs, pero podemos colocarlos de forma ordenada en /lib.

    En este momento ya podemos reiniciar la máquina y arrancar con nuestro nuevo sistema. Una vez iniciado nos quedan unos pasos por hacer para dejar el sistema listo:

    # depmod # Para que los módulos copiados a mano de root se puedan cargar con modprobe
    # apt-reconfigure tzdata # Para seleccionar el timezone correcto
    
    # vi /etc/fstab # Agregamos lo siguiente
    # Basic System Mounts
    udev                    /dev                    tmpfs   rw,mode=0755            0 0
    tmpfs                   /dev/shm                tmpfs   rw,nosuid,nodev         0 0
    devpts                  /dev/pts                devpts  rw,noexec,nosuid,gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   rw,noexec,nosuid,nodev        0 0
    proc                    /proc                   proc    rw,noexec,nosuid,nodev        0 0
    
    # vi /etc/default/locale # Configuramos los locales por defecto en ingles
    LANG=en_US.UTF-8
    
    # apt-get install locales # Los instalamos
    # dpkg-reconfigure locales # Y los configuramos, debemos seleccionar en_US.UTF8
    
    # vi /etc/apt/sources.list # Configuramos los repositorios de APT
    deb http://ftp.debian.org/debian wheezy main contrib non-free
    deb http://security.debian.org wheezy/updates main contrib non-free

    Ahora ya disponemos de un sistema base listo para trabajar.

    Para finalizar decir que hay que tener en cuenta que esta es la instalación mas limpia posible por lo que tendremos que instalar todo aquello que necesitemos para nuestro DreamPlug.

    Actualización:

    A los pocos días de instalar wheezy, udev comenzó a darme los siguientes errores (siendo X un número, ya que lo arrojaba en todos los dispositivos del mismo tipo):

    udevd[621]: inotify_add_watch(6, /dev/loopX, 10) failed: No such file or directory
    udevd[621]: inotify_add_watch(6, /dev/ramX, 10) failed: No such file or directory
    udevd[621]: inotify_add_watch(6, /dev/sdaX, 10) failed: No such file or directory
    udevd[621]: inotify_add_watch(6, /dev/sdbX, 10) failed: No such file or directory

    Inicialmente pensé que el problema podría venir de que, por alguna extraña razón, el debootstrap no hubiese creado el /dev estático y que udev estaba intentando acceder al mismo antes de crear los dispositivos dinámicamente, pero después de revisarlo (mount bind es tu amigo), vi que ese no era el problema y que todo estaba correcto.

    Cómo la maquina arrancaba y funcionaba terminé por dejarlo de lado y presuponer que se trataba de algún fallo de la Debian testing que estaba haciendo de las suyas.

    Pero la cosa cambió hace un par de días. Después de aplicar una actualización de estas que meten miedo y cambian medio sistema base, le pegué un reinicio al Dream. Para mi sorpresa, pese a que todo se había actualizado correctamente, la máquina no arrancó.

    Revisando el registro de inicio pude ver que el fallo estaba en udev. En este caso el número de errores que sacaba por consola tendía hacia infinito y la máquina se quedaba ahí colgada.

    Desde el primer momento sospeché que el fallo podía venir del kernel, que simplemente la versión que viene con el Dream es muy antigua para trabajar con la versión de udev que viene en weezy, así que lo sustituí por uno mas moderno. Para no romperme la cabeza compilando una nueva versión, utilice la última que podemos descargar de http://l.moire.org/plug-kernel, un sitio muy chulo donde están disponibles todas las versiones que han salido hasta la fecha, ya cocinadas con las opciones que vienen por defecto en el Dream y alguna más, como por ejemplo el soporte base a sistemas como XFS o UBIFS.

    Una vez sustituido el kernel por uno mas moderno la máquina comenzó a trabajar perfectamente y todos los errores de udev desaparecieron.

    El procedimiento de actualización es simple. Montamos la primera partición FAT en un directorio temporal, bajamos la versión que queramos usar (normalmente la última) a ese punto de montaje (hay sitio de sobra), renombramos el uImage a uImage.bak (para tener respaldo del original) y el fichero bajado a uImage, bajamos los módulos y los dejamos en /lib/modules (también tenemos disponible el firmware por si lo queremos usar), reiniciamos y listo, sistema arrancado con el nuevo kernel.

    por Óscar García Amor el June 21, 2011 03:44 PM

    June 19, 2011

    early adopters

    Los americanos que para algunas cosas son muy burros pero para el resto son los que saben, tienen una mezcla de palabras llamada "early adopter" que es muy interesante. Originalmente la inventaron para designar a los clientes de un producto que de forma más o menos voluntaria empiezan a probar la nueva versión de ese producto. En español, podríamos decir que son "conejillos de indias" pero faltaría por añadir el matiz de "voluntarios" que suele haber.


    Las empresas con early adopters tienen todo un patrimonio para su producto, estas personas les permiten corregir los fallos antes de salir a un mercado que suele ser muy cruel y olvidarse de las experiencias positivas anteriores.

    Los mejores early adopters son los que aún encima de ser voluntarios resulta que les encanta poder disfrutar de esas nuevas versiones antes que el resto del mundo. Son mejores que los beta testers, ya que los "probadores de versiones beta" están usando versiones en pruebas buscando errores en entornos de laboratorio dónde las condiciones reales no se tienen por qué dar. Un early adopter no usa un entorno de laboratorio sino que usa la nueva versión en su entorno de producción.

    Obviamente si ese "entorno de producción" supone euros perdidos por hora en caso de interrupción hay que pensar que cambiar a la siguiente versión se debe hacer cuando ya "esté más probada". El problema es que los que andamos con tecnología solemos quedar fascinados con ella, nos encanta cambiar de versión y hacerlo antes que nadie para tomarnos un café y decirle a un colega que "sí, pero en android 3.0 ya no pasa eso"...

    Seguramente sea cierto, ya no pasa eso pero seguramente pasaran otras cosas y no quiero decir que haya que tener reticencia al cambio sino que cada cambio se ha de valorar para considerar si es o no es adecuado. Tampoco hay que ser un cascarrabias que tenga el "si funciona, no lo toques" como máxima absoluta. Tenemos que ser expertos que conozcan todas las opciones y puedan evaluar si es mejor o peor cada una de ellas; y ojo, esto casi es más importante, algo es mejor o peor sólo en base a la resolución de un problema; no a lo bonito, moderno o garantizado que esté cada opción.

    Y todo este rollo para contar como me resistí durante meses a desinstalar windows 7 de mi netbook (tiene unas cuantas cosas que me gustan y office 2010 con visio era muy interesante) pese a que de vez en cuando "se quedaba tonto" y opté por instalar una kubuntu (que se mueve bien con eclipses, okulars, kmail, navegadores y consolas abiertas a dolor) pero como ya es tarde, me guardaré la historieta para otro día y así además no repito la vieja reclamación de "¿por qué no me puedo ahorrar los euros del maldito windows en mi ordenador?" y no me pondré nostálgico pensando que hace 5 años hubiera instalado una debian como dios manda (y además acabaría reconociendo que hubiera usado fedora si no fuera porque el firmware de la wifi no "viene de serie" en la distribución).

    por Juanjo Iglesias (noreply@blogger.com) el June 19, 2011 06:30 PM

    June 13, 2011

    El deporte misterioso

    Cuando me vine a EEUU me parecía que adaptarme a este país sería una cosa facilísima. Al fin y al cabo, el 90% de las películas y series de TV que veo proceden de este país, así que debería conocerlo razonablemente bien, ¿no? Pues bien; de vez en cuando, algo ocurre que me recuerda que estoy en un país extranjero que no conozco tan bien como creía. Lo que me ha venido a la mente hace un momento, sin embargo, no es algo que me haya ocurrido hace poco, sino algo que me pasó al poco tiempo de llegar:

    Acababa de alquilar el apartamento, y mis cosas todavía estaban en algún almacén en Irlanda, esperando a que tuvieran a bien cargarlas en un barco que viniese a California (y no llegarían hasta un par de meses después), así que tenía que comprar ropa de cama, platos, cubiertos, etc. ¿Adónde fui a comprar todo eso, sabiendo que estoy en EEUU? Al Walmart, por supuesto.

    Si queda alguien que no lo sepa, Walmart es la mayor cadena de hipermercados de EEUU, y como tienen las cosas tiradas de precio, en ocasiones se junta en sus tiendas la fauna más variada. Pero esta historia no es sobre la gente que va al Walmart, sino sobre los americanos en general, vistos a través del prisma de las secciones del Walmart.

    Mi búsqueda de artículos del hogar me llevó junto a la sección de artículos deportivos, y allí pude ver estantes llenos de adminículos y con un cartelito que indicaba para qué deporte eran esos elementos. “Swimming” (natación), “basketball”, “baseball”, “skating” (patinaje), y así sucesivamente hasta que vi uno que no conocía: “tailgating”.

    Hasta entonces, el único “tailgating” que conocía consistía en ir por carretera pegado al vehículo que te precede, pero no creía que, aún con tanta afición que tienen aquí al NASCAR y otros deportes del motor, hubiesen convertido eso en un deporte. Un vistazo al contenido de la estantería no me aclaró en qué podía consistir ese deporte; no parecían artículos para practicar ese deporte, sino más bien para ir a verlo. En fin, como no estaba muy interesado en el tema y tenía otras cosas que hacer me olvidé del asunto y pasó el tiempo...

    ... Hasta que un día vi un artículo sobre el béisbol, que explicaba que el pre-partido es una auténtica ocasión social. Unas cuantas horas antes de que se abran las puertas del estadio, unos cuantos cientos o miles de personas llegan con sus camionetas, aparcan y luego abren el portón de la camioneta y sacan sillas y mesas y bebidas y la barbacoa y montan una auténtica fiesta-picnic, compartiendo vituallas con sus vecinos de camioneta. Ah, y como el portón de una camioneta se llama “tail gate”, esa especie de picnic masivo motorizado sobre asfalto se llama “tailgating”.

    Bonito deporte. Y ahora sé algo más sobre EEUU.

    por jacobo el June 13, 2011 01:10 AM

    June 05, 2011

    Xornadas Multimedia con SL: petición de contribucións

    Dende o Grupo de Programadores e Usuarios de Linux (GPUL) comprácenos anunciar que, retomando o espírito das xa consolidadas «Xornadas de Audio e Gráficos con SL» (tres edicións), estanse a organizar as novas «Xornadas Multimedia con SL» que se celebrarán na Facultade de Informática da Universidade da Coruña os días 12 e 13 de xullo de 2011.
    Sirva esta chamada á participación para invitar a todos os interesados en temas multimedia en xeral a asistir ou participar activamente nas xornadas, enviando unha proposta de charla ou obradoiro.

    Ligazón do evento: http://www.gpul.org/?q=node/224

    • Requisitos de presentación
      • Temática: estará relacionada co Software Libre e coa temática das xornadas (render, animación, deseño gráfico, vídeo, audio...). As propostas poden ter todo tipo de enfoques: divulgativo, desenvolvemento, investigación...
      • Lingua: poderanse presentar propostas en galego, castelán, portugués, inglés ou francés.
      • Software: todo software referenciado debe de ser compatible coa definición de Software Libre da FSF.
      • Gravación e distribución dos contidos: o poñente autoriza a GPUL a facer unha gravación da súa intervención, así como a distribuir tanto a gravación coma o resto do material empregado durante a intervención, baixo unha licencia libre (segundo a FSF).
    • Envío de propostas
      • Pódense formalizar as propostas a través deste formulario ou ben por correo a xm@gpul.org, indicando:
        • Temática
        • Título
        • Nome do poñente
        • Enderezo electrónico
        • Teléfono de contacto (opcional)
        • Empresa/Institución á que pertence
        • Duración aproximada: recomendado 45 min./máximo 90 min.
        • Resumo: o máis completo posible sen extenderse demasiado
        • Solicita axuda de viaxe: Si/Non
      • A data límite para a recepción de propostas será o 25 de xuño. Actualización: data límite ampliada ata o 26 de xuño.
      • A data de notificación da aceptación das propostas será o 27 de xuño. Actualización: data de notificación ampliada ata o 28 de xuño.
    • Contacto
      • Para máis información podedes contactar coa organización a través do enderezo xm@gpul.org.

    ¡Animádevos a presentar as vosas propostas!

    por xuco el June 05, 2011 11:50 PM

    June 04, 2011

    Primeros pasos con el DreamPlug

    Hace unas semanas recibí en un pedido conjunto mi nuevo DreamPlug, un pequeño equipo basado en tecnología ARM de NewIT. Inmediatamente me puse a trabajar con el para ponerlo a funcionar. La idea era sustituir a mi actual GuruPlug, y dejar este último para un trabajo mas liviano y exclusivo con la web de Connectical. En mi primera toma de contacto, una vez arrancado, me encontré con una serie de problemas de software no demasiado graves. Echando un ojo a los foros de NewIT, parece ser que, tal vez por tratarse de un equipo demasiado moderno, todas las unidades vienen con estos problemas de fábrica. Afortunadamente, al tratarse de software, todos ellos tiene fácil solución.

    El primer fallo que me encontré nada mas arrancar fue un error conocido en la tabla de particiones y, aunque el equipo funciona correctamente, las particiones aparecen «montadas» unas sobre otras generando errores de bus en el /var/adm/messages. El segundo no es un fallo en si mismo, pero el equipo viene con una Ubuntu 9.04 instalado por defecto, una distribución obsoleta y tal vez no demasiado liviana.

    Estos son los pasos que he dado para corregir los errores citados. Comentar que Globalscale no da soporte a las modificaciones que podamos hacer en el sistema base, por lo que si quieres tener tu equipo cubierto, simplemente sigue los primeros pasos de la guía y no sustituyas la distribución, aunque si lo haces que sepas que siempre se puede volver atrás instalando de nuevo la imagen de fábrica.

    Paso previo: Comprobación de Hardware.

    Algunas unidades de DreamPlug vienen con dos posibles fallos de hardware.

    El primero de ellos, el menos problemático, está en el adaptador del enchufe europeo, donde el aparato se conecta con el cable de corriente. En algunos modelos este adaptador viene demasiado holgado y hace que el cable de alimentación se desconecte solo con tocarlo. La solución a esto es sencilla, podemos enviar un reporte para que nos manden un adaptador nuevo o, si tenemos mucha prisa por ponernos a trabajar, pegar el adaptador al cable, lo cual no interfiere para nada con el funcionamiento normal del DreamPlug.

    El segundo fallo es mas problemático, y la solución pasa por cambiar el aparato entero. Se trata de un error en la frecuencia de reloj del microprocesador, en algunos modelos esta fijada a 400 Mhz cuando debería de estar a 1.2 Ghz. Para comprobar si nuestro equipo está afectado podemos mirar el /proc/cpuinfo como comentan en este hilo, si los BogoMIPS están en torno a 396 nuestro equipo está en fallo, si por el contrario esta en torno a los 1192 es que está funcionando correctamente. Comentar para vuestra tranquilidad que por ahora ningún equipo europeo vendido por NewIT se ha visto afectado.

    Paso 1: Crear un USB arrancable.

    El primer paso del proceso es crear un volumen USB seudo-arrancable. Es «seudo» porque aunque en el USB almacenamos un sistema base, el kernel de arranque es el que viene en el propio DreamPlug.

    Para crear este sistema base USB podemos utilizar la imagen de fábrica, la imagen Debian que nos proveen los chicos de Globalscale o una imagen Debian modificada por Andrés J Díaz. Será necesario entonces formatear el USB en un sistema ext2, ext3 o ext4 (que son los nativos de Linux que soporta el kernel) y desempaquetar esta imagen dentro. En mi caso he realizado todos los pasos en el propio DreamPlug con la imagen Debian de Golbalscale.

    # wget http://l.moire.org/dp_deb_01 http://l.moire.org/dp_deb_02
    # cat dreamplug_debian_v0.2.zip.001 dreamplug_debian_v0.2.zip.002 > dp_deb.zip
    # unzip dp_deb.zip
    # mkfs.ext4 /dev/sdñ1 # Siendo sdñ tu unidad USB
    # mount /dev/sdñ1 /mnt
    # tar xvzpf dreamplug_debian_v0.2.tar.gz -C /mnt
    # cp dreamplug_debian_v0.2.tar.gz /mnt # En caso de querer sustituir el sistema

    En este ejemplo asumo que sdñ es la unidad conectada por USB, llavero o similar. Con un dispositivo de 2Gb es suficiente. El último paso solo es necesario realizarlo si planificamos sustituir el sistema base Ubuntu 9.04 por el Debian que hemos descargado.

    Paso 2: Arrancar desde el USB

    El siguiente paso es arrancar desde el USB para poder realizar operaciones en el «disco interno» del DreamPlug. Para realizar toda esta operativa es necesario tener conectado el módulo JTAG. Sin este módulo nos sería imposible controlar el proceso de arranque de la máquina y no podríamos forzar al U-Boot a usar el USB. La idea es arrancar utilizando el kernel de fábrica que se encuentra en el DreamPlug pero seleccionando como disco de sistema el USB.

    Cuando el sistema arranca el la consola del JTAG vemos estas líneas:

    88E1121 Initialized on egiga1
    Hit any key to stop autoboot: 3

    En ese momento pulsaremos cualquier tecla para interrumpir el arranque normal y acceder al U-Boot:

    Marvell>>

    Entonces se modifica el entorno para que se utilice el sistema raíz del USB:

    Marvell>> setenv x_bootargs_root root=/dev/sdc1 rootdelay=15
    Marvell>> boot

    Es necesario el parámetro «rootdelay» para esperar a que el bus USB se inicie después de la carga del kernel ya que el escaneo de dicho bus es asíncrono. No es posible controlar exactamente este tiempo, ya que depende de diferentes factores, pero 15 segundos es mas que suficiente.

    Hay que tener en cuenta que no se realiza un guardado del los cambios en el entorno de arranque, por lo tanto esto no afecta a los siguientes inicios del DreamPlug.

    Paso 3: Reconstruir las particiones

    Una vez iniciado el sistema nos autenticamos como root con la contraseña por defecto de las imágenes «nosoup4u».

    Revisamos la tabla de particiones:

    # fdisk -l /dev/sda
    Disk /dev/sda: 1967 MB, 1967128576 bytes
    61 heads, 62 sectors/track, 1015 cylinders
    Units = cylinders of 3782 * 512 = 1936384 bytes
    Disk identifier: 0xabcdef
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        1016     1920993+   6  FAT16
    Partition 1 has different physical/logical endings:
         phys=(54, 61, 61) logical=(1015, 54, 24)
    /dev/sdb2              56        1021     1826706   83  Linux

    Como se puede observar hay un problema en la tabla. La primera partición FAT16, que es la utilizada para almacenar la imagen del kernel que usa U-Boot para arrancar no tiene el tamaño correcto. La partición debería de ser de 16 Mb o 55 cilindros, por lo que la eliminamos y la creamos de nuevo:

    # fdisk /dev/sda
    Command (m for help): d
    Partition number (1-4): 1
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-1015, default 1): 1
    Last cylinder, +cylinders or +size{K,M,G} (1-55, default 55): 55
    
    Command (m for help): t
    Partition number (1-4): 1
    Hex code (type L to list codes): 6
    Changed system type of partition 1 to 6 (FAT16)
    
    Command (m for help): w
    The partition table has been altered!
    
    Syncing disks.

    Ahora la primera partición tiene el tamaño correcto, pero la segunda sigue siendo incorrecta. Comienza en el cilindro 56 lo cual está bien, pero termina mas allá del final del disco. Es necesario corregir también esta partición:

    # fdisk /dev/sda
    Command (m for help): d
    Partition number (1-4): 2
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 2
    First cylinder (56-1015, default 56): [enter]
    Using default value 56
    Last cylinder, +cylinders or +size{K,M,G} (56-1015, default 1015): [enter]
    Using default value 1015
    
    Command (m for help): w
    The partition table has been altered!
    
    Syncing disks.

    Y esto es todo. En este momento ya tenemos las particiones correctamente creadas, el sistema debería de funcionar sin problemas puesto que ya hemos corregido todos los fallos. Solo sería necesario reiniciar, rezar al dios que mas nos convenga, hacer algo de vudú, sacrificar un carnero y construir un falso ídolo.

    Paso 4: Debianizar

    Si lo que queríamos era simplemente corregir los errores de fábrica del DreamPlug no es necesario realizar los cambios siguientes, pero si queremos disponer de una distribución mas ligera podemos sustituir la Ubuntu 9.04 de la siguiente manera.

    En el primer paso habíamos copiado la imagen tar.gz de Debian en nuestro USB. Vamos a utilizarla ahora. Suponemos que ya hemos arrancado desde el USB según el paso 2 y nos hemos autenticado en el sistema. Realizamos ahora el cambio:

    # umount /dev/sda2 # Puesto que ha sido montado automáticamente por usbmount
    # mkfs.ext4 /dev/sda2 # Formateamos con ext4
    # e2label /dev/sda2 root # Etiquetamos la partición como root (opcional)
    # mount -t ext4 /dev/sda2 /mnt
    # tar xvzpf /dreamplug_debian_v0.2.tar.gz -C /mnt
    # sync && sync && sync
    # umount /mnt

    En este momento ya tenemos instalada la nueva distribución Debian en disco interno del DreamPlug. Solo resta reiniciar y podremos comenzar a trabajar.

    Para terminar decir que para aquellos que no os sintáis cómodos con el idioma de Cervantes, tenéis una versión de este artículo en inglés aquí.

    por Óscar García Amor el June 04, 2011 12:03 PM

    May 27, 2011

    Frogr 0.5 released

    Now announcing that the new release of frogr is finally out.

    This time, I’m afraid you won’t find huge changes in the application, but a bunch of small improvements instead, in the way of subtle -yet handy- new features, bug fixes and new and uptaded translations mainly. Still, I can mention some of the new small features that I specially like, since I use it a lot:

    As usual, you can get it through different ways:

    [Update 31/05/2011]: If you have already installed frogr 0.5 for Ubuntu from my PPA or from the pre-compiled packages, please do upgrade to the latest version of the Ubuntu packages as soon as possible, as available in my PPA. If you already have the PPA configured in your system, you can upgrade just frogr by simply doing this:

    sudo apt-get update && sudo install frogr

    There was a problem with the generation of the previous version of the packages for Ubuntu (files being installed under /tmp/frogr, instead of /usr/share) and all of them are broken and need to be updated. Sorry for the hassle.

    If you want to contribute, remember you can do it by proposing ideas, translatingcodingdiscussing or filing and/or fixing bugs.

    Also if you want to see frogr packaged for your favourite distro and can help with that (maybe you’re a packager or know better than me the required steps for that), that would be awesome. At the moment only Debian has packaged it so far that I know of (thanks Berto!), but I would love to see it also in other distros (specially in Fedora, which is what I currently use) so more people can use it without having to use either the Frogr PPA or the homegrown packages I usually prepare with each release.

    For more information, just check out its web site. Here you have a screenshot of how frogr 0.5 looks in the awesome GNOME 3 in my Fedora box:

    Frogr 0.5 running in GNOME 3

    por msanchez el May 27, 2011 10:24 AM

    May 26, 2011

    Live == Risk

    <iframe allowfullscreen="allowfullscreen" frameborder="0" height="349" src="http://www.youtube.com/embed/9Z2HjgzN7oc" width="560"></iframe>

    ¿Algo más que añadir?

    via: http://franciscoalcaide.blogspot.com/

    por kour el May 26, 2011 09:06 PM

    Trasnada 11.0 en Ourense

    Undefined

    Banner da Trasnada 11.0

    A trasnada é o evento que reune aos tradutores de software libre ao galego. Celebrado por primeira vez en Ordes, desta volta a súa segunda edición celebrase na cidade das Burgas. Alí daranse cita para fixar terminoloxía e expor ao público o seu traballo moitos dos principais implicados na localización de software libre ao galego.

    En que consiste?

    A trasnada serve de punto de encontro para tradutores de software libre, aqueles que traballan baixo o paraugas do Proxecto Trasno. O evento serve de sesión de traballo. Estando enfocados en producir calidade, o tema de debate fundamental será a terminoloxía no ámbito da tradución. Por outra banda, serve de escaparate ao público que queira coñecer o proxecto, a xente que o conforma e como punto de aprendizaxe para todos os interesados en colaborar na localización.

    Cando e Onde?

    A trasnada 11.0 farase este 28 de Maio na Casa da Xuventude, na cidade de Ourense. Máis información e todo o programa da xornada na páxina web do evento.

    por emilioj el May 26, 2011 07:57 AM

    May 19, 2011

    A limerick

    Composing a Limerick ingenious
    is task apropos for a genius,
    for to find a good rhyme
    without wasting much time
    is something I'm not very good at.

    (Edit: heterogeneous).

    por jacobo el May 19, 2011 03:47 PM

    May 17, 2011

    Calla

    No día das Letras Galegas decidín voltar á xardinería xunto onde o deixara, na primeira isleta que bordea a casa. O obxectivo é sinxelo, recuperar o cesped e plantar algunhas flores que traían cores vivos.

    Tivemos hai uns días un regalo, un exemplar de calla, a planta non é que me entusiasmara moito pero hai que aproveitala así que a plantei no rincón máis soleado desa terra:

    A wikipedia di que calla é unha planta con orixe no hemisferio norte nas zonas frías o qué é moi interesante pola orientación norte do frente da casa. Unha cousa intranquilizadora é o seu caracter venenoso, resulta que ten ácido oxálico, polo visto incluso hai quen a usa para reuma, resfríados e gripe (facendo unha especie de té coas raices secas).

    A wikipedia fala de follas parecidas a un corazón, case redondeadas, e as da miña calla son alongadas, resultame moi raro sobre todo cando a referencia dí que só hai unha especie pero en fin haberá que facer caso á etiqueta da maceta do proveedor.

    Non me gustou nada unhas manchiñas que se ven nas follas. Sobre todo porque estou sensibilizado polo mildiu que estragou case todos os rosais que temos.


    A parte triste do día foi precisamente facer unha "poda" salvaxe para ver se empezamos a eliminar ese maldito fungo. É o que ten ter descoidado o xardín durante case dous anos, volver a empezar ou peor ter que cortar todo para plantar de novo.

    Google sempre axuda, polo visto debemos ter algo que chaman zantedeschia elliottiana e as manchas parecen normales. Nese enlace falan de varias especies, unhas de floración precoz e outras tardía (coma a miña, tocan entre marzo e outubro) e dan unha completa información sobre como coidas a planta. Resumo:

    Todas as especies queren da luz pero non directa. Unha vez que a última flor cae as actividades deben ser as mínimas: rego o xusto para humedecer a terra, nada de abono. O fruto que hai dentro da flor chámase spadice, vólvese de cor verde e sea coa caída do fuste.

    O rego é escaso, increméntase gradualmente ao chegar a floración ata ser abundante. Pode ser boa idea humedecer  as follas con auga non calcárea (viva os deshumidificadores) sen mollar as flores.

    É unha planta de rizomas, pódense trasplantar os rizomas a principios de febreiro (para as variedades tardías). De abril a outubro poden ser abonadas con preferencia de potasio e menor medida de fósforo, tamén microelementos.

    As calas non se podan, pero no caso de follas secas pode ser interesante cortar para evitar infeccións. A planta se pode multiplicar por rizomas, excavar e extraer o bulbo, cortar, tratar con funxicidas basados en azufre, secanse un par de días e se meten baixo 10 cm en terra seca e quente (25º). Cando alcanzan 20 cm trasplantar.

    por Juanjo Iglesias (noreply@blogger.com) el May 17, 2011 08:03 PM

    May 11, 2011

    An unexpected e-mail

    Today, while at the ATK/AT-SPI hackfest, I received a mail in my INBOX from a well known guy from the GNOME community stating just the following:

    Don't know if you read Hackers news, but this one is pretty nice:
    http://news.ycombinator.com/item?id=2532790
    --
    Regards

    So I followed the link and I found a nice thread titled “Love in GIT” where people were commenting about something which remind me of one of the last commits I did in frogr, which became my favourite one so far in the project, by the way.

    But the big surprise for me came when I realized that the thread was actually about the commit I innocently made last week, when I realized that the so-much-important THANKS file was outdated since almost one year ago, right when I got married, so I decided to update it. Then I understood that there was actually a good reason for the thread to remind me of that change… Yes, I know, sometimes I’m “a little bit too slow” :-)

    So I’d just like to publicly say thanks to the misterious-but-well-known-hacker that sent me the e-mail for making me draw a big smile on my face, and to the people commenting in that thread for the so nice (and funny… “make babies”??) messages posted in there.

    Thanks!

    Update [2011/05/12]: Now it seems the whole thing hit LWN… hilarious!

    por msanchez el May 11, 2011 07:16 PM

    May 06, 2011

    Identi.ca Updates for 2011-05-06

    por 曹 tsao el May 06, 2011 11:59 PM

    Jornada de Accesibilidad en Software Libre

    Español

    GPUL, en colaboración con la GNOME Foundation, organiza la Xornada de Accesibilidad en Software Libre el próximo Miércores 11 de mayo de 2011 en la Facultad de Informática de la Universidade da Coruña.

    Jornadas de AccesibilidadLa accesibilidad es la característica del software que permite que sea usado por personas ciegas, con discapacidades auditivas, motoras o otras necesidades especiales. El proyecto GNOME define entre sus objetivos principales que el software sea accesible.

    El GNOME Accesibility Team se reune la próxima semana en Coruña en el Hackfest sobre ATK y AT-SPI. El Hackfest es la reunión de los desarrolladores de accesibilidad de GNOME en la que impulsarán el desarrollo de las tecnologías que hacen que el entorno GNOME sea accesible.

    Gracias a la colaboración entre GPUL y la GNOME Foundation, se organiza esta Jornada abierta para acercar al público los avances y mejoras que permiten adaptar nuestro entorno de trabajo para que las persoas que necesitan tecnologías de asistencia.

    Programa de la Jornada  de Accesibilidad:

    18:00  Introducción a la accessibilidad en GNOME (PDF)

                 Alejandro Piñeiro (Igalia, GNOME Accessibility Team)

    18:30 Orca, lector de pantalla de GNOME (PDF)

                Alejandro Leiva (Emergya, Orca)

    19:00 Accessibilidad en la web: Firefox, Webkit (PDF)

                Fernando Herrera (Mozilla Foundation, Firefox)

                Mario Sánchez Prada (Igalia, Webkit)

    19:30 Que hacemos en el Hackfest de ATK/AT-SPI2? (PDF)

                Alejando Piñeiro (Igalia, GNOME Accessibility Team)

    Máis información en el cuerpo de la noticia.

    Localización: Aula de Grados, 2º Planta.

       Facultade de Informática

      Campus de Elviña s/n

      15071 A Coruña

    Fecha y hora: Miércoles , 11 de mayo de 2011 as 18:00

    Los asistentes a la jornada conocerán el sistema de accesibilidad de GNOME, como funciona el lector de pantalla Orca o como se puede navegar de forma accesible en los navegadores Firefox e Webkit. Todas estas charlas mostrarán la potencia del Software Libre para acercar las tecnologías de la información a los colectivos con necesidades especiales.

    Para concluír, se presentarán los obxectivos a alcanzar durante la semana de trabajo del equipo internacional de desarrolladores que se reunirá en las oficinas de Igalia en Coruña.

    La Jornada de Accesibilidad en Software Libre, parte del  ATK and AT-SPI Hackfest, forma parte de las actividades que GPUL realiza con financiación de la Xunta de Galicia a través del Convenio de Colaboración de las  Asociaciones Gallegas de Usuarios de Software Libre con la Secretaría Xeral de Modernización e Innovación Tecnolóxica de la Xunta de Galicia incluída dentro del Plan de Acción FLOSS 2011. Agradecemos la colaboración  en la organización del  evento a la Facultade de Informática, la Universidade da Coruña e Igalia.

    Recomendamos enviar un correo a info@gpul.org indicando el interés en participar en la jornada para controlar el aforo de la sala. El acceso es libre y gratuíto.

     

     

    por chema el May 06, 2011 05:35 PM

    Xornada de Accesibilidade en Software Libre

    GPUL, en colaboración coa GNOME Foundation, organiza a Xornada de Accesibilidade en Software Libre o vindeiro Mércores 11 de maio de 2011 na Facultade de Informática da Universidade da Coruña.

    Jornadas de AccesibilidadA accesibilidade é a característica do software que permite que sexa empregado por persoas cegas, con discapacidades auditivas, motoras ou outras necesidades especiais. O proxecto GNOME define entre os seus obxectivos principais que o software sexa accesible.

    O GNOME Accesibility Team reúnese durante a próxima semana na Coruña no Hackfest sobre ATK e AT-SPI. O Hackfest é a reunión dos desenvolvedores da accesibilidade de GNOME na que impulsarán o desenvolvemento das tecnoloxías que fan que o entorno GNOME sexa accesible. 

    Grazas a colaboración entre GPUL e a GNOME Foundation, organizase esta Xornada aberta para achegar ao público os avances e melloras que permiten adaptar o noso entorno de traballo para as persoas que precisan tecnoloxías de asistencia.

    Programa da Xornada de Accesibilidade:

    18:00  Introducción á accessibilidade en GNOME

                 Alejandro Piñeiro (Igalia, GNOME Accessibility Team)

    18:30 Orca, o lector de pantalla de GNOME

                Alejandro Leiva (Emergya, Orca)

    19:00 Accessibilidade na web: Firefox, Webkit

                Fernando Herrera (Mozilla Foundation, Firefox)

                Mario Sánchez Prada (Igalia, Webkit)

    19:30 Que facemos no Hackfest de ATK/AT-SPI2?

                Alejando Piñeiro (Igalia, GNOME Accessibility Team)

    Máis información no corpo da nova.

    leer más

    por chema el May 06, 2011 05:20 PM

    May 05, 2011

    Identi.ca Updates for 2011-05-05

    por 曹 tsao el May 05, 2011 11:59 PM

    WebKit Contributors Meeting, sockets &amp; plugs

    Last week some of the members of the Igalia WebKit team,  attended to the second edition of the WebKit Contributors Meeting in Cupertino, California, in order to gather round with other WebKit contributors to discuss and work around our favorite web engine, away from IRC and with a more personal and “human” touch.

    WebKit Contributors Meeting '11 - group photo

    As for me, it was the first time I attended this unconference and I have to say it was a great experience overall, even if accessibility (the field I usually work on through the GTK port of WebKit) was not precisely a hot topic there. But in the other hand, I managed to put some faces to people I just knew from IRC, attended to several interesting discussions and sessions, did some actual work ™ and met Chris Fleizach, the guy from Apple involved in accessibility for the Mac port, who attended the meeting on Tuesday morning and discussed with me some interesting topics, mainly about the implementation of the accessibility support in the Mac port of WebKit2.

    For those of you that are not up to date with what WebKit2 means and what’s the current state of the whole thing, I’d recommend you to take a look to the WebKit2 wiki, although I can already advance you that one of the main features (if not the main one) of WebKit2 is the new multi-process architecture, which will go bundled right along with the engine, instead of doing the split in the final application, like Google Chrome does now with WebKit1 (see the wiki for more details, and some nice diagrams too, like the following one).

    WebKit2 multi-process architecture

    The problem however, from the accessibility point of view, is how to expose such a new architecture to Assistive Technologies (ATs) while, at the same time, having those ATs seeing just one process (the UI process), regardless of the different processes that would be running on each of the tabs (the Web proceses). In other words, how to “hide” to the ATs that they are extracting accessibility related information from a multi-process based browser, so they still keep the illusion of having only one application exposing accessibility objects, as it used to be so far.

    Talking to Chris about how they implemented this in the Mac port, he told me they basically needed to make up a way to transparently connect the UI process and the Web Process, so navigation between the root accessibility object in the Web Process and the “leaf” accessibility object in the UI process were done in a seamless way, through a mechanism that would basically allow bidirectional communication in the same way it used to be when there was just one process running. This makes a lot of sense, if you ask me, since you “just” (saying it as if it were not a complex task, even though it actually is) add this mechanism to WebKit2 accessibility code and you’ll automagically get your ATs working as they used to work, without any other changes needed from their side.

    However, when it comes to ATK/AT-SPI, which is what we currently use in GNOME to expose accessible objects from applications to ATs, it looks like such a mechanism (or something pretty similar) is already available by means of the AtkSocket and the AtkPlug classes, both subclasses of AtkObject, which basically act as a bridge that allows to connect two AtkObject’s so the children of one of those (the Plug) are exposed as children of the other one (the Socket), no matter they’re in the same process or in different ones. And this, unless I’m missing something, is exactly what we’d need in WebKit2, probably along with some other things and tweaks that I just can’t think of at this moment. But at least is definitely a very good start point, IMHO.

    But… how to communicate those sockets and plugs if they are in different processes? You might be wondering… Well, if you are using the D-Bus implementation of AT-SPI, also known as AT-SPI2, the needed bits for that (the implementation for the atk_socket_embed() and atk_plug_get_id() functions) are already implemented by the ATK bridge (at-spi2-atk), so the only thing you’ll need to do is to provide the remaining implementation of the AtkSocket and AtkPlug classes, register those new AtkObject’s as the right accessible objects for your widgets (or whatever your “normal” objects are) and to use the ID that at-spi2-atk provides for the AtkPlug object to connect from the AtkSocket object… and you’re done.

    However, I have to say that the documentation I’ve found so far about AtkSocket and AtkPlug is not precisely very detailed, so I basically ended up looking directly at the code and trying to write myself a small example to better understand things. And at this point, I asked in the #a11y channel in GIMPNet and it was Mike Gorse who kindly handed me out a nice tarball with an example they had written in C#, which was exactly what I was looking for. Yay! Thanks, Mike!

    However, I’d be more interested in a plain C, GObject based, implementation of that example which would serve me both to better understand how it works and to use it as the base for further tests in WebKitGTK, so I went ahead and wrote it, and this is how the results look now, as seen through Accerciser’s eyes:

    AtkSocket / AtkPlug example in action

    As you can see, there are two processes running, ta-socket and ta-plug, and in ta-socket we have an AtkObject named “The Socket” which is exposing, as his only child, the whole subtree present in the other process ta-plug, starting in another AtkObject named “The Plug”… which is exactly, although of course at a much smaller dimension, what I think we would like to see happening in the accessibility tree of any WebKitGTK based application in the future, once that WebKit2 is mature enough to replace WebKit1.

    Obviously, this shouldn’t be taken as a “we’re done with WebKitGTK/WebKit2 when it comes to a11y” comment or the like. Actually this is just the beginning of the whole thing… But I think, or at least I would like to think, that is at least a good start point :-) .

    And before you shoot… “yes”, I’m already planning to help improve the ATK documentation in this regard with the knowledge I acquired while working on this examples, even perhaps next week during the ATK/AT-SPI hackfest (it’s actually one of the proposed tasks) I’ll be attending here in Coruña, at the Igalia offices.

    By the way, feel free to grab the source for this example from its git respository at gitorious:

    git clone http://git.gitorious.org/atksocket-atkplug-example/mainline.git

    por msanchez el May 05, 2011 08:06 PM

    May 01, 2011

    Aprendiendo a errar

    Reconozcámoslo: a ninguno de nosotros le gusta cometer errores. Los errores hacen que nuestros planes salgan mal, nos hacen perder tiempo y dinero, y nos pueden llevar al fracaso, que en muchas sociedades conlleva un fuerte golpe en nuestra reputación. Sin embargo, las personas que más éxito tienen son también las que más errores han cometido; lo importante es que son capaces de analizar sus errores y aprender de ellos para no cometerlos en el futuro.

    En la industria informática, como es bien sabido, cometemos errores como el que más: proyectos que se salen de plazo, proyectos que nunca se terminan, redes que se caen, intrusiones en sistemas seguros, datos perdidos, etc. Vaya, que no nos han faltado oportunidades de aprender de nuestros errores, y una de las herramientas más importantes que tenemos para hacerlo es el “postmortem”.

    El postmortem es un documento en el que se analiza un suceso. Este suceso suele ser un fallo, aunque se pueden hacer postmortem de cualquier tipo de suceso, incluso de éxitos inesperados. El objetivo de este análisis es conocer las causas del suceso y la manera de evitarlo en el futuro -- o de repetirlo, si es un postmortem de un suceso exitoso. Como la mayoría de postmortem se escriben después de un fallo, en este artículo hablaré de fallos, soluciones y acciones paliativas.

    Inevitablemente, un postmortem tendrá que hablar de errores cometidos y de malas decisiones tomadas por una o más personas. Es importante que no se utilice el postmortem para echar las culpas a nadie o para distribuir castigos. Para escribir un postmortem de calidad es imprescindible la colaboración de todas las personas implicadas, y es de suponer que no prestarán toda la ayuda necesaria si conlleva consecuencias negativas para ellos.

    Un postmortem debería contener, como mínimo, explicaciones de qué sucedió, cómo sucedió, por qué sucedió, cómo terminó (si es que terminó), qué se hizo bien, qué se hizo mal, y qué se va a hacer en el futuro. Normalmente, los postmortem tienen una estructura similar a: resumen, secuencia temporal, acciones paliativas (realizadas y por realizar), lecciones aprendidas y acciones a largo plazo.

    Los postmortem suelen entrar en detalles, ya que son documentos para uso interno: mencionan quién intervino en el suceso, qué máquinas y servicios estuvieron implicados, qué líneas de código tenían errores, … Como dije antes, no es objetivo del postmortem echarle la culpa a nadie, así que “aparecer” en uno no debería tener, por si mismo, más consecuencias que tener que aguantar que los compañeros se metan con uno de vez en cuando.

    (Voy a aclarar esto, que tengo muchos lectores que se toman todo lo que leen con excesiva literalidad: estoy hablando de situaciones normales en las que uno se equivoca y pierde datos porque ha copiado un disco vacío sobre uno lleno o ha causado un fallo de servicio porque ha conectado la red de producción al “uplink” incorrecto, no de casos delictivos en los que el sistema falla catastróficamente porque alguien ha vendido los sistemas secundarios y se ha quedado con el dinero).

    No obstante, en ocasiones hay que redactar postmortem dirigidos a audiencias externas. En esos casos, es habitual reducir el nivel de detalle del documento. Esto puede ser tan simple como eliminar nombres y referencias a elementos confidenciales, o puede ser una reescritura total del documento. El nivel de detalle queda, en general, a elección de la persona que vaya a publicar el postmortem, pero siempre debe ser suficiente para que el lector tenga una idea aproximada del fallo que hubo y pueda estar razonablemente seguro de que se están tomando medidas efectivas para evitar que vuelva a suceder. En general, la gente aprecia más los postmortem detallados.

    Como sé que queréis ejemplos pero no tengo ganas de inventarme uno, voy a poneros un enlace a la versión pública del postmortem de un fallo de App Engine, que me gusta bastante como ejemplo porque es muy parecido a la versión interna, salvo por la ausencia de nombres de personas y otros datos confidenciales.

    Al terminar este artículo me gustaría animaros a escribir postmortem, a convertirlo en una rutina cada vez que haya habido un problema (o algo haya salido mejor de lo esperado, para ver si se puede repetir), y a solicitar postmortem de vuestros proveedores cada vez que tengáis un problema gordo con su servicio.

    Y vosotros, ¿escribís postmortem en vuestra empresa? ¿Los solicitáis de vuestros proveedores? ¿Conocéis mejores ejemplos de postmortem accesibles por la web? ¿Son cuatro preguntas al final de un artículo demasiadas? Escribid un comentario y dadme vuestra opinión.

    por jacobo el May 01, 2011 11:03 PM

    April 27, 2011

    Identi.ca Updates for 2011-04-27

    por 曹 tsao el April 27, 2011 11:59 PM

    April 26, 2011

    Gnome 3 Launch Party Galicia

    Co lanzamento da versión 3, o proxecto Gnome dá un enorme salto cualitativo tanto dende o punto de vista tecnolóxico, como dende o punto de vista funcional. Deste xeito, a versión 3 representa a nova xeración do escritorio libre por excelencia.
    Para difundir a trascendencia deste lanzamento, o vindeiro xoves 28 de abril na aula 3.1 da Facultade de Informática da Universidade da Coruña, celebraremos a Gnome 3 Launch Party galega.
    Para profundizar axeitadamente en Gnome3, temos preparado o seguinte programa:

    A Launch Party galega está sendo organizada pola Asociación Ghandalf en colaboración coas Asociacións Gpul e Trasno, contando co patrocinio da Xunta de Galicia a través do Convenio 2011 coas Asociacións Galegas de Usuarios de Software Libre.
    En base ao programa exposto, percorreremos a interesante historia do proxecto Gnome, amosando as importantes innovacións presentes tras do recente salto xeracional, para a continuación ver en acción o que Gnome 3 nos ofrece, e coñecer de primeira man o intenso traballo da comunidade galega de localización de Gnome, a cal posibilitou que todos nós poidamos disfrutar de Gnome 3 en galego dende o primeiro día.
    Para rematar a launch party, repartiremos agasallos entre todos os asistentes. A maiores das camisolas, chapas, tazas, etc. conmemorativas do lanzamento, tamén podes conseguir un portatil con Gnome 3, listo para que poidas empregar a última versión deste exitoso escritorio libre!

    leer más

    por xuco el April 26, 2011 06:03 PM

    April 20, 2011

    Identi.ca Updates for 2011-04-20

    por 曹 tsao el April 20, 2011 11:59 PM

    April 19, 2011

    Identi.ca Updates for 2011-04-19

    por 曹 tsao el April 19, 2011 11:59 PM

    April 18, 2011

    Identi.ca Updates for 2011-04-18

    por 曹 tsao el April 18, 2011 11:59 PM

    April 16, 2011

    Identi.ca Updates for 2011-04-16

    por 曹 tsao el April 16, 2011 11:59 PM

    Amargura

    Recuperando viejos cds y dvds con backups perdidos comprendes que ya no eres un chavalín de instituto que creía que la vida podía ser como un buen anime japonés con héroes y prodigiosas aventuras que vivir.

    Al final también aprendes que ese chaval aún sigue por ahí y que de vez en cuando quiere salir y luchar contra lo que haga falta.

    El problema es que no es tan fácil como subir a una nave espacial y luchar contra el mal. Las naves espaciales no son fáciles de conseguir y aún encima no sabes quien es el malo de la película.

    Así que te acabas conformando con un video en youtube.

    por Juanjo Iglesias (noreply@blogger.com) el April 16, 2011 04:43 PM