Planeta GNOME Hispano
La actividad Hispana de GNOME 24 x 7

27 de enero de 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.

26 de enero de 2012

Porting devhelp to WebKit2

When MiniBrowser was ported to the new WebKit2 GTK+ API, I said we had plans to create a webkit2 branch for epiphany. And we’ll do it as soon as we have enough API, but epiphany uses most of the WebKit API so this is going to take a bit. In the meantime, we have decided to focus on other applications that use a small part of the WebKit API like devhelp, yelp, liferea, etc. Yesterday I pushed a webkit2 branch into the devhelp git repository with some initial commits that allow to use devhelp with WebKit2. Even though WebKit2 is available in the latest WebKit unstable releases, there’s a bug and public headers are not installed, so you need to build WebKit from git to be able to build the devhelp webkit2 branch. The main functionality works, but there are still some features missing that we are currently working on:

  • Policy client: used by devhelp to decide what to do with unknown content and to open links in a new tab with middle click. Martin Robinson is working on Policy Client API for WebKit2, the patches are pretty good and will be pushed soon.
  • Search: We already agreed on the new API and Sergio Villar wrote the patch that will also land soon.
  • Printing: This is not only about adding API, it requires adding support for printing in the Web process too. The main problem is that we need to show the print dialog in the UI process and render pages for printing in the Web process, so we can’t use GtkPrintOperation. We have already patches to implement basic printing support and adding initial API. These patches only work for UNIX, so patches to make it work in win32 would be really appreciated.
  • Editing commands: There’s already a patch to add cut, copy and paste API, but we are discussing the possibility to move to a more generic approach for editing commands.

And here is the mandatory screenshot, although there’s nothing special since WebKit2 changes don’t affect the UI.

Devhelp using WebKit2

Devhelp using WebKit2

We will keep updating the webkit2 branch when new API lands in WebKit until there aren’t regressions. Then we’ll focus on yelp which requires two important challenges: DOM bindings and context menu API.

25 de enero de 2012

Openshift: computación gratuita en la nube de RedHat

OpenShift Express es una plataforma (PaaS) gratuita para el despliegue de aplicaciones en la nube proporcionada por RedHat. En ella podremos desplegar aplicaciones Java, Perl, PHP, Python y Ruby.  Además, permite la instalación (también gratuita) de un servidor de bases de datos como MySQL, Postgres o MongoDB.  El procedimiento es bastante simple: al abrir una cuenta, [...]

20 de enero de 2012

Multitouch is near…

So, after a few strives during the last year, the multitouch Xorg patches were posted and merged to master last month, making multitouch available in the upcoming Xorg release. This turns the multitouch GTK+ branch into a suitable candidate for GTK+ 3.4, which obviously deserves a video demoing what’s up there:



Hopefully soon in master, very soon…

19 de enero de 2012

Thinkfan for Fedora

Here it is the first release of Thinkfan, a simple and lightweight fan control program, for Fedora. As a thinkpad user so it's obvious what my interest is, but developer assures now can manage other computers fan too.

You can download from here:  http://olea.org/paquetes-rpm/repoview/thinkfan.html

Notes about this release:

  • Upstream tagged it as alpha until become more confident of it's stability. Feel free to test and contribute.
  • I've added it my first systemd configuration from scratch. Please send feedback if you detect any bug.

I'll very probably contribute it to Fedora as soon I feel it's operational.

As usual, package is available in my repo. You can set up paquetes-rpm repository in yum.
Enjoy.

07 de enero de 2012

03 de enero de 2012

New beginning

I guess it is time to announce that since yesterday I am working at Collabora, a UK-based company very well known for its work in several free software projects, like Telepathy, Farstream, GStreamer and others.

Haven’t had much time really to transition (and relax) from Canonical to Collabora, apart from last week, which I spent skiing, but hey, new year, new life, as we say in Spain, so the sooner you start with your new life, the better.

02 de enero de 2012

Turismo Google se hace social

Aprovechando que hoy estoy de vacaciones, acabo de añadir, no sin algo de dificultad ya que ando muy oxidado, los botones correspondientes para «gustar» y enviar a Facebook, así como el +1 de Google Plus. Realmente la mayoría ha sido retoque de las plantillas que muestran los artículos, pero también he tenido que tocar el comienzo del cuerpo de cada página para añadir el código de Facebook.

turismogoogle_social_1.png

A ver si consigo relanzar Turismo Google de verdad, que es una espinita que tengo, sobre todo después de que los otros dos o tres blogs del mismo estilo están, digamos, también moribundos.

turismogoogle_social_2.png

De momento ya tengo dos entradas en la cola y creo que, si le dedico al menos una media hora diaria (mucho decir, quizá) sería capaz de tener un par de publicaciones al mes.

Recuerden que se aceptan quejas y sugerencias.

Etiquetas: , ,

01 de enero de 2012

24 de diciembre de 2011

Libre Office 3.5 soporta la importación de ficheros VSD (MS Visio)

Breve noticia aprovechando que el 28 y 29 será el bug hunting day para cazar fallos en la beta de LibreOffice 3.5, he revisado por encima las novedades y me ha sorprendido que ya hayan integrado el soporte de importación de ficheros VSD (MS Visio) en LibreOffice Draw. Gran trabajo de LA hacker Eilidh McAdam’s, [...]

21 de diciembre de 2011

JuJu: el domador Ubuntu de servicios en la nube

Tercera ley de Clarke: “Cualquier tecnología lo suficientemente avanzada es indistinguible de la magia”. Eso es lo que me pasó por la cabeza la primera vez que ví éste vídeo sobre JuJu: En 5 minutos y un puñado de comandos, JuJu permite ensamblar, desplegar y escalar un sistema MediaWiki de dos unidades, con la capa [...]

19 de diciembre de 2011

Leaving Canonical

Today marks the beginning of my last week at Canonical, where I’ve been working for the last 2.5 years. Because of the conflicts between the direction the company is driving to and my personal interests (GNOME), I have decided it is time for me to move on.

Since I am a positive person, I would just remember the good things of these 2.5 years, which have been, mainly, the nice people I’ve been working with, with a special mention to the Ubuntu Desktop team, composed of very great people. Also, some good projects I’ve worked on, like the Ubuntu One music store or the work at the Desktop team.

I can’t say yet publically where I’ll be working next, but I’ll continue being around GNOME.

17 de diciembre de 2011

16 de diciembre de 2011

Preliminary WebKit2 GTK+ API documentation

We have just released WebKitGTK+ 1.7.3, the first release that includes WebKit2 API docs already generated in the tarball. The documentation is also available online now. Take into account that WebKit2 is still under development and the API might change, more specifically WebKitWebLoaderClient is going to be removed soon.

11 de diciembre de 2011

Software Libre en la Universidad: 2011 (II)

Seguimos comentando algunas de las charlas de la SLUN 2011 que más me llaman la atención. Unai Gangoiti nos hablará sobre FOG, una herramienta de clonado de equipos bajo licencia libre GPL (no he encontrado la versión exacta). Hasta ahora en la UPV/EHU se usaba Rembo, pero al parecer daba problemas con las últimas versiones [...]

10 de diciembre de 2011

BigBlueButton y Moodle (II)

Así que quieres integrar BigBlueButton en Moodle. La gente de Blindside Networks ha desarrollado un módulo de BBB para Moodle (módulo de tipo activity) que permite planificar videoconferencias BBB a través de Moodle (2.0 y 2.1). Con más detalle, ésto es lo que permite: crear mensajes de bienvenida que aparecen en la ventana de chat [...]

07 de diciembre de 2011

BigBlueButton (I)

En la home de BigBlueButton (BBB) resumen así el objetivo principal de la aplicación: “BBB permite a universidades e instituciones educativas ofrecer experiencias de aprendizaje de alta calidad a estudiantes remotos”. Es en la última palabra donde reside el quid de la cuestión. Efectivamente, BBB permite plantear reuniones online a través del navegador, con soporte [...]

Bitcoin for Fedora

I'm uploading a first approach of Bitcoin software for Fedora (15) v0.5.0. Bitcoin is a peer-to-peer electronic crypto-currency cash system.

It's not trivial to build Bitcoin in Fedora since it uses Elliptic Curve Digital Signature Algorithm (ECDSA) «a cryptographic algorithm used by Bitcoin to ensure that funds can only be spent by their rightful owners», a feature of OpenSSL which has been restricted in Fedora due to patents concerns.

To circumvent this obstacle package includes pristine sources of OpenSSL from upstream and builds it for the sole needs of bitcoin compilation and static linking.

Notes about this release:

  • This is supposed to be fully operational; if you find a disarrangement please report through comments below.
  • Support of UPNP is deactivated for a while. I'll fix this as soon I get miniupnpc decently bundled.
  • Some love is pending to make rpmlint happy.
  • It, sadly, doesn't build with Mock. The cause is some of the juggling for compiling the upstream OpenSSL. I'll try some workaround for it.
  • If you rebuild de src.rpm in your system you must remove the openssl-devel package to avoid conflicts.

If I got satisfied about the final results I probably postulate it to RPM Fusion, since the patents concerns restricts it in Fedora. If someone is interested on taking the responsability of maintain it I'll be very happy to let it.

As usual, package is available in my repo. You can set up paquetes-rpm repository in yum.
Enjoy.

06 de diciembre de 2011

+1

Ya llevo un año (y un mes) en la República Checa, y celebro mi segundo cumpleaños. Hasta ahora no puedo estar más que agradecido y sigo pensando en quedarme, especialmente tras recibir un regalo tan interesante desde la página de contactos ftp.gnome.org:

Hi Dear My name is Miss jessica i saw your profile today at (ftp.gnome.org) and became intrested in you, i will also like to know you the more, and i want you to send an email to my email address so i can give you my picture for you to know whom i am Here is my email address, (jessicaceline11@yahoo.in) I believe we can move from here! I am waiting for your mail to my email address above. jessica. then i will tall you more about my self, i need an Dating Serious Relationship with trust (Remeber the distance or colour does not matter but love matters a lot in life)(jessicaceline11@yahoo.in)

 Y yo que pensaba que GNOME era otra cosa...

Etiquetas:

05 de diciembre de 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+.
  • Rewrite of the Ad Blocker extension for Epiphany.
  • Bug fixing in WebKitGTK+’s accessibility related code.

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:

  • Emitting the AtkDocument’s signals (‘load-complete’, ‘load-stopped’ and ‘reload’), which was working only in WebKitGTK+ but not in WebKit2GTK+. See the bug report and the patch (still pending on review) for this issue in bug 73750. Also, I reported and worked for a while in another bug related to this, which is now already fixed upstream (see bug 73746). Yay!
  • Ensure that the accessibility hierarchy doesn’t break when (re)loading, which was causing that Orca stopped speaking unless it “manually” drilled down the full a11y hierarchy after the (re)load. I finally fixed that issue yesterday and integrated it in the patch for enabling a11y support in WebKit2GTK+, now already attached and pending on review along with bug 72589.

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.

04 de diciembre de 2011

WebKitGTK+ hackfest wrap up

After more than 5 days of hacking, discussions and some social activities, the 3rd edition of the WebKitGTK+ hackfest, which took place at the Igalia office in A Coruña, is coming to its end. We are about to go for dinner and most people are leaving tomorrow early in the morning, so it is time  for wrapping up.

WebKitGTK+ 2011 Hackfest

In my opinion the hackfest has been a success both in terms of technical progress and consolidating a common vision within the team about the way forward both for WebKitGTK+ and Epiphany. The intense work we have been doing during the past 2 years has given its results, and unlike the previous two editions in 2009 and 2010, the topics defined in the agenda this time were not mainly about fixing critical and blocker bugs and implementing basic missing features, but about more ambitious and challenging goals, aiming to make WebKitGTK+ and Epiphany rock.

Examples of this are the progress achieved this week in several areas, including the Epiphany improvements & new design, a consolidated WebKit2 API (which will improve the performance and stability once used by the browsers and embedders), accelerated compositing support, improved HTML5 video support, better accessibility support, JSC improvements, HTML5 notifications, HTML5 history, better networking, new and more updated bots for the continuous integration, or developer documentation.

Besides taking care of many of the organizational bits, my contributions were focused on participating in the discussions about the new Epiphany UI and mainly on the integration of open web apps and HTML5 technologies within GNOME. I will be blogging very soon about how we see this integration happening and the initial proofs of concept that we have already started to implement.

WebKitGTK+ 2011 Hackfest

Finally, I would like to thank our sponsors (Collabora, Motorola and Igalia) and mainly the GNOME Foundation for their contributions. Without this support, getting together 20 hackers in the same room, taking care of them, and enabling all the progress we have had during the week would have been impossible.

02 de diciembre de 2011

Un Gobierno en funciones no puede aprobar la ‘Ley Sinde’

(Este es un post colectivo. Tomado de Magonia, uno de los centenares de blogs donde se ha reproducido).

Ante la previsible aprobación dentro de unas horas de la polémica Ley Sinde, los periodistas, bloggers, usuarios, profesionales y creadores de Internet seguimos manifestando -como hicimos en el Manifiesto del 2 de diciembre de 2009- nuestra firme oposición a una norma que incluye modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet. En principio no parece de recibo que un Gobierno en funciones adopte esta decisión en su último o uno de sus últimos Consejos de Ministros. Sería doblemente grave que se confirmaran las presiones ejercidas por EEUU, a través de su embajada en Madrid, como revelaron los cables de Wikileaks. En todo caso insistimos en estos razonamientos:

1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.

2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del Ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.

3.- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.

4.- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.

5.- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.

6.- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.

7.- Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.

8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.

9.- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.

10.- En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

Pásalo. Publícalo.

___
Publicado simultáneamente en el Blog de Open Sistemas.
http://blog.opensistemas.com/

30 de noviembre de 2011

Software Libre en la Universidad: 2011 (I)

La Jornada Software Libre en la Universidad 2011 está a 15 días vista. El aforo de la sala es limitado, así que si estás pensando en acudir, más vale que te apuntes cuanto antes. Avisados quedáis :-) ¿Por qué creo que merece la pena este evento? Primero, porque es el lugar donde se reunirá todo [...]

19 de noviembre de 2011

libgxps 0.2.0

More than a month ago I released libgxps 0.1.0, the first release of libgxps, but for several reasons I ended up not announcing it. I’ve just released a new version that includes a small API break and a lot of new features and improvements, see the release notes for further details. I’ll release evince 3.3.2 next week depending on this new libgxps version (when building with –enable-xps).

18 de noviembre de 2011

Este 20N, No Les Votes

Lo dije el 22-M y lo vuelvo a decir ahora. Hubo un tiempo en que la alternancia se veía como la mejor opción. Hoy esa alternancia, que es puro bipartidismo, necesita una renovación. Por eso, sigue con toda vigencia la llamada al #nolesvotesno es una llamada al voto nulo, blanco o abstención. El que siga creyendo lo contrario, sinceramente se lo debe mirar. O aprender a leer. O ambas cosas.

17 de noviembre de 2011

Expolibre 2011

Como ya es tradicional, GNOME se hará presente en este importante evento de la región del Maule.

El sitio del evento es : http://www.expolibre.cl/index.php

Announcing the WebKitGTK+ hackfest 2011

For the third year in a row, by the end of this month (29th of November – 5th of December) we will be hosting at the igalia office in A Coruña a new edition of the WebKitGTK+ hackfest.

WebKitGTK+ 2010 Hackfest

About 20 GNOME and WebKit hackers will be working in the same place for a week on topics related to WebKitGTK+, Epiphany, JavaScriptCore, accelerated compositing, networking, accessibility, multimedia, GNOME Shell browser integration, web technologies for GNOME apps, and more.

The event is possible thanks to the invaluable support of the GNOME Foundation, being both Collabora and Igalia official sponsors.

The hackfest was a total success in previous years, and we have even higher expectations for this edition. We will blog during the week about the plans and achievements, so stay tuned.

16 de noviembre de 2011

10 years of igalia

As you probably have noticed via other sources, this month we are celebrating something very significant for us at igalia: we, the company, the project, the collective, are becoming 10 years old.

It has been an amazingly intense experience. 10 years is a lot of time, and for those of us who have been here since the very beginning, born close to the end of the 70s, it means that about 1/3 of our life, and therefore almost all our adulthood, was professionally devoted to contribute to the construction and evolution of igalia.

Although many things were discussed along several meetings during the first half of 2001, when we started defining our founding principles, two were clearly identified as the pillars of the project:

  • We wanted to develop free software, to participate in the amazing, international network of cooperation where people were then starting to explore new paths towards open innovation. Using and supporting free software, the most common business models back then (and arguably still now) was nice, but we wanted to go further and to humbly devote most of our energy to build new -and to contribute to already existent- software.
  • We wanted to bring direct democracy to the working place, embracing a cooperative internal structure, sharing ownership and making all the members of the project participate in the discussions and decisions that define the future of the company.

Looking back, I honestly think that we did a good job respecting those founding principles. Both us (individually and collectively) and our environment have changed a lot over the years, we have gone from a small local team of people to a much bigger and international team composed by colleagues with many nationalities working from many different locations; we have gone from small and local customers to working internationally with most of the relevant actors which are using or contributing to the different open source platforms/projects; we have gone from being relatively inexperienced but passionate and willing to learn to equally passionate but with already some experiences to learn from; and all this time, without exceptions, the essence has remained untouched: the spirit was the same all the time, and we still do free software, and we still believe in people and keep the flat internal structure.

It is quite difficult for me to write this post. Many memories and feelings cross my head, many good moments and also some more complicated ones, mainly in the first period, when a huge percentage of companies disappear and we managed to resist, learn and grow. If I wanted to be fair I would need to thank here a lot of people, a very big list, all those who in one way or another were part of this project, for all the help and support along the years, but they already know who they are and how grateful I am, so I will keep it private, and just say that I am very proud of what we have achieved:  10 years participating in the free (software) world.

15 de noviembre de 2011

SparkleShare for Fedora

I've just uploaded my first SparkleShare for Fedora (15) v0.4.0. SparkleShare is a collaboration and sharing tool.

I'm not used to SparkleShare so I'm not sure if all dependencies are well tuned. I've activated the support of libnotify and smartirc4net. The first is working but I don't really know how it uses it and if it's really working. Integration with Nautilus is available too.

The package quality is a bit under Fedora requirements but it's, but the application seems to me mature enough to add it to Fedora. I encourage you to contribute it. In the middle, please report here any defect you detect.

It's available in my repo. You can set up paquetes-rpm repository in yum. Enjoy.

14 de noviembre de 2011

One of the Maemo/Nokia guy : Guillem Jover

Some personal news: I’m joining the Qt team to help making the Qt Project rock. A small change of floor at the Nokia offices in Sunnyvale (California) and barely a change to be noticed by my relatives and non-geek friends. Still, for me it is a big change, the end of a phase and the beginning of something fresh.

With a stable SDK released and a new product in the shops, this is the time when I would start shifting internally to the next product iteration. In fact this is what I’m doing now as well, but this time swimming upstream. In practice this means that I´m less conditioned by Nokia products (although they still pay my salary) and closer to the work of a wide community of organizations and individuals putting their bets in Qt.

My work keeps combining the big topics of community, openness, sustainability and fun – also understood by some as marketing & communication applied to OSS development. This is how I started contributing to the free software community around 2003, this is why Nokia recruited me for the Open Source Software Operations in 2007 and this is what I have done best since then.

At the beginning there was GNOME

One of the Maemo/Nokia guy : Guillem Jover

I was introduced to the Nokia 770 in GUADEC 2005 by no less than the great Guillem Jover. In 2004 I wanted to recruit him but he had just moved to Helsinki to work for... Nokia! Two years later I would follow the same path.

Once a full time GNOME community contributor (founded by the Catalan government to assure a great GUADEC 2006 in Vilanova), my approximation to Qt has been directly related to the steps taken by Nokia in that direction. One day Ari Jaaksi (then the boss of my boss, Valtteri Halla) started to suggest the possibility to shift our basically GNOME Mobile compliant Maemo to Qt. A big debate followed and I contributed my dose of voice and brain. My strong arguments were that GNOME had a distributed setup combined with a more suitable license, plus Nokia was lacking the skills in house. Our team moved to Qt but I was never proven wrong. One morning we read in the news that Nokia was acquiring Trolltech, getting a big load of Qt skills in house. “Fair enough”, I told surprised to myself. Then the LGPL license came (a change I had been lobbying for since the Nokia-Trolltech deal was announced). And finally the Qt Project is here, willing to reach a diversified open governance setup like the Linux kernel, WebKit or GNOME itself.

My closer approach to Qt matters started after the Nokia N900 was released. As said, that was the time when I would start shifting to the next big iteration (Harmattan, a name that I had the honor to propose). The Qt 4.6 libraries were available for Maemo 5 and I felt it was the time to test the cross-platform compatibility promise. I proposed the Miniature project with only three hard requirements: chess, mobile & Qt. At the time C++ & QGraphicsView was the way, and good that Michael Hasselman was around, otherwise I wouldn’t have progressed at all. Things were not that easy yet.

Calling the Harmattan wind

By that time Peter Schneider was my manager and I was learning from him the usefulness of keeping activities and messages simple and focused (in this case in Qt). One day I started getting some tasks related to a project that one day would be introduced to the World as MeeGo. The fundamentals of that project were for me a dream come true: standard Linux & freedesktop.org stack plus Qt toolkit and development environment, developed openly by multiple parties, targeting multiple form factor devices.

Qt Quick started to emerge between the two equivalent frameworks that Maemo and Symbian were building. I became an internal advocate almost instantly, not because of any technical analysis (I’m not the guy for these things) but because of the basic principle of following and supporting the way proposed upstream, as opposed to attempting to create shortcuts on your own. It took a while, but one day a CEO called Stephen Elop made the call that no top manager had made before: focus on Qt Quick, other alternatives to be deprecated. In the meantime other old discussions had settled with similar trends: Qt Mobility, Qt Creator and the WebKit alignment.

Next Billion, no less

Between #feb11 and the Nokia N9 launch on #jun28 a lot happened and a lot was said, inside and outside Nokia. Everybody updated their CVs and so did I. Working in the USA as a foreigner with family and a visa tied to your company can be distressing in times of company changes. One morning I got a call from Daniel Kihlberg, who tomorrow will become my new manager. In short, he described a space where different dimensions needed to be combined successfully: Nokia’s Next Billion strategy, a truly open Qt Project and a rich Qt global ecosystem across different industries. Like all real-life equations, there are more factors, more dimensions and a lot of entropy. All in all the proposal fits my views and the type of game where I feel motivated and useful.

And here I am, ready for the next step. I’m permanently thankful to Carlos Guerreiro (and Zara) who actually pulled us to Helsinki. It has been a pleasure to be involved in ideas/projects like the Nokia open devices, the Hacker Editions, the Maemo Downloads (more than 100M!) and the Summits. It has been an extreme pleasure to work together with great people inside Nokia and out in the community, including brilliant unsung heroes like Soumya Bijjal or Niels Breet.

Let me say Big Thank You for these great years – even if I’m just moving downstairs.


Tagged: GNOME, maemo, MeeGo, Nokia, Qt, Qt Project, qtquick

13 de noviembre de 2011

11 de noviembre de 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:

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!

Ya no se molestan ni en ocultarlo

Y es que hasta en la propaganda electoral del PSOE que me llega a casa viene el PP.

propaganda-electoral-ppsoe.jpeg

Nota: P.P.  Swiss Post.

Etiquetas: , , , , , , ,

09 de noviembre de 2011

07 de noviembre de 2011

05 de noviembre de 2011

04 de noviembre de 2011

WebKit2 GTK+ MiniBrowser ported to GTK+ API!

MiniBrowser is a small web browser application for testing WebKit2. MiniBrowser for the GTK+ port has been working for some time now, but it was implemented using the C-based WebKit2 API. WebKitGTK+ 1.7.1 introduced an initial high level GTK+ API for WebKit2 more similar to the current WebKit1 GTK+ API. This week, Igalia’s WebKit team started to port the MiniBrowser code to use the new GTK+ API.

MiniBrowser running
MiniBrowser running

This new GTK+ API is far from complete compared to the WebKit1 API, but it’s already possible to implement a small application with basic features, and we have plans to create a webkit2 branch for epiphany soon. API is already documented in the code, but the html generation is not available yet. We are already working on it so that WebKitGTK+ 1.7.2 will generate the API documentation when compiled with –enable-gtk-doc and –enable-webkit2 and it will be available on the WebKitGTK+ website too.

Thanks to the multiprocess architecture, WebKit2GTK+ solves the problem of using flash (or any other plugin using GTK+2) with GTK+3. The UI process depends unconditonally on GTK+3 and the plugin process is always built with GTK+2. And of course, flash will never crash or block your web browser. Plugins are broken in WebKitGTK+ 1.7.1 due to a bug that has already been fixed, so in order to try it out you need to either wait until 1.7.2 is released or build WebKit from current git master.

MiniBrowser showing a youtube video
MiniBrowser showing a youtube video

03 de noviembre de 2011

01 de noviembre de 2011

30 de octubre de 2011

Clase sobre “Líderes FLOSS” en el Master de Software Libre

Para el próximo 4 de noviembre, a las 17H, en el Campus de Fuenlabrada de la Universidad Rey Juan Carlos, tendré el honor de participar en una sesión del máster oficial de software libre que imparte dicha universidad. La clase, en la que estudiaremos a los líderes del software libre, será muy práctica y esperamos que, sobre todo, divertida.

Esta sesión forma parte de la asignatura sobre desarrolladores de software libre y sus motivaciones, y su material quedará publicado en la plataforma de e-learning del máster.

Mi empresa, Open Sistemas, es colaboradora con este máster desde su primera edición.

___
Publicado simultáneamente en el Blog de OpenSistemas.
http://blog.opensistemas.com/

28 de octubre de 2011

Házle un favor a tu país: emigra

En serio, házle un favor a tu país, y de paso a ti mismo, y emigra de España.

Tanto si tienes trabajo como si no; si lo tienes y te vas, dejarás un puesto libre para otro. Si no tienes trabajo y te vas, harás que baje el número de personas apuntadas en el paro.

¿Por qué no te vas de España?

  • Porque tienes trabajo: solo cuenta si es un buen trabajo, te gusta, está bien remunerado y demás.
  • Porque tienes falimia (mujer, hijos, etc.): solo cuenta si vives bien de forma normal, es decir, no estás ahogado por deudas, créditos y demás.
  • Porque no sabes idiomas: es el momento de aprenderlos.
  • Porque quieres mucho a tu familia: ya es hora de independizarte y hacerte mayor.
  • Porque piensas que España es lo mejor: es hora de que viajes y conozcas mundo, probablemente no hayas salido de tu pueblo y de la playa de turno en tu vida.
  • Porque la fiesta en España está muy bien: sí, está bien cuando tienes pasta, ahora probablemente no la tienes. Además, he salido de fiesta en Aarhus, Düsseldorf y Praga mientras vivía en ellas y en Berlín, Colonia, Copenhague, Kiev, Varsovia, Cracovia, Bratislava, Budapest, Split, Fráncfort, Bruselas, Milán, Roma, Estambul, Bangkok y algún sitio más de visita, y la fiesta, créeme, es cojonuda; con sus playas junto a los ríos, con sus piscinas en bares en verano, con sus cócteles diferentes y bebidas autóctonas, con sus mujeres (y hombres) distintos... Esta es una excusa de mierda. 
  • Porque la comida en España está muy bien: vale, sí, no hay dudas. Cada país tiene alguna comida típica muy buena, no lo dudo, pero hasta ahora la única comida que he probado que se parece en calidad es la Italiana, aunque dicen que, en general, casi toda la comida de los países mediterráneos es muy buena. No obstante tengo que comentar que antes de ayer me comí unos mejillones al alvariño comprados en el supermercado, en Praga. Se puede comprar jamón, fuet, algún queso, chorizo, salchichón... etc. Y no sólo en Praga, sino en la mitad de Europa, así que la excusa de la comida no cuenta tanto.
  • No hay playa/mar: cierto, en muchos países de Europa no la hay o no es tan buena, pero hay otras cosas. En cualquier caso, tienes otros países donde sí la hay: Argentina, Brasil, Chile, Tailandia, Australia...
  • La temperatura es muy mala en el resto de Europa: no, lo que pasa es que en España estás muy mal acostumbrado, los del centro sabemos lo que es la temperatura continental, pero los demás parece que no. En cualquier caso, te compras un abrigo y listo. Las casas en Europa están preparadas para el frío.

Sigue leyendo...

Etiquetas: , , ,

26 de octubre de 2011

Puesta de sol sobre Alemania

En mi regreso de Madrid a Praga, sobre Alemania.

Sunset over Germany

Etiquetas: , , , , ,

25 de octubre de 2011

Recuperando espacio en el buzón Gmail

Guardo correo en GMail desde el 14 de Junio de 2004. Sabiendo que Gmail salió al mercado el 15 de Abril de ese mismo año… se entiende que esté a punto de llenar el buzón, a pesar de tener más de 7GB de espacio (y subiendo, poquito a poquito) Hace tiempo también que tomé la [...]

24 de octubre de 2011

22 de octubre de 2011

20 de octubre de 2011

Nuevo coordinador en el equipo español

Copio y pego el mensaje que hace ya unos días mandé a la lista de traductores al español de GNOME, creo que es importante. 

Después de más de cuatro años coordinando el equipo ha llegado elmomento de dejarlo. Ya he propuesto a Daniel Mustieles como mi sucesor, él ha aceptado y no creo que i18n tenga mucho que aportar a ello.

No me voy del equipo, seguiré intentando colaborar, como hasta ahora, pero bajo la dirección de Daniel, ya que básicamente es él quién lleva haciendo desde hace muchos meses las tareas de coordinación, por lo que tiene más sentido que sea él quién coordine, en lugar de hacerlo.

Quiero daros las gracias a todos los que habéis colaborado conmigo a lo largo de este tiempo, por vuestras traducciones, sugerencias, apoyos, comentarios, informes de error... He aprendido mucho, no solo profesionalmente (ya que, aunque no se puede considerar como un trabajo «remunerado», si ha exigido muchas horas y mucho esfuerzo, recompensado en los trabajos que he ido desarrollando a lo largo de estos años, gran conocimiento de inglés técnico, etc.) sino personalmente con el equipo con el que he trabajado a lo largo de estos largos 4 añosasí como su gestión, aunque últimamente no lo haya hecho muy bien.

Creo que no hay mucho más que decir, ya que como seguiré formando parte del equipo, se podrá contar conmigo para casi todo, así que, «no es un adiós, es un hasta luego».

Nos veremos por aquí, sean tan buenos con Daniel como lo fueron conmigo.

Suerte Daniel.

Etiquetas: , ,

18 de octubre de 2011

Setting up a Gmail backup


After reading the horror story of a hacked Gmail account I decided to get more benefit of my underused backup storage.

I currently have a desktop machine working as a server with Fedora Linux and an attached Drobo storage. Thus I set up the next configuration:

  • a Gmail account
  • OfflineIMAP for syncing to a local repository
  • drobo redundant storage with 4 hardisks
  • a maildir repository on the drobo
  • a daily cron entry

The thing is syncing right now.  Evolution is supposed to be able to access the local repo which is very nice to check the repo althought I plan to use for one direction sync only. If interested, OfflineIMAP is supposed to do double direction syncs smothly.

Some caveats:

I'm having random OfflineIMAP crashes so I'm doing the first full sync calling it manually inside a while true bash line, but as far as I read seems to be a mature program with specific support for Gmail IMAP server.

If you wish secured access take care to set up the ssl variable to yes for each repository since setting port to 993 is not enough.

For next steps I'm considering to switch definitively to the Google 2-step verification and to set up a duplicated cloud backup using Amazon S3 or similar. I'm open for other suggestions :-)

17 de octubre de 2011

Cara de huaco

LUCHALIBRO – SEMIFINAL 8va. FECHA MIÉRCOLES 05 DE OCTUBRE 2011
LUCHA 2 – KIKIRI-BOO

Cara de huaco le dicen, es que no es que sea feo. Es que es horrible.

—Mamá, ya vengo. Voy a salir.

Otra tarde de verano, pero hoy cara de huaco buscaba algo que complementase su personalidad. Su amiga Angie lo había invitado a una fiesta de disfraces y necesitaba a toda costa un gran disfraz. ¿La solución? Pues qué más que imitar a la otra cultura mesoamericana mística tangencial blah blah bláh: México.

Tiró la tabla al piso, su fiel skate de 3 años de uso. Que se caía por pedazos, pero qué más da, si es igual de feo que yo. Decía.

El centro, el congreso. El dato de su amigo era preciso: a la vuelta. Llegó en cosa de minutos. Pero se perdió tan rápido como llegó. Preguntó a la señora de los jugos de naranja con cáscaras coleccionables. Preguntó a los esposos viejos y roídos que hacen música en el jirón Andahuaylas.

Dio con la tienda.
—Señor, ¿tiene sombreros?
—Hijo, esto es una sombrerería. ¿Qué más tendríamos?
—Necesito uno mexicano, para un disfraz.

El canuto dependiente fue a la trastienda, y volvió con una seriedad coherente con su piel negra:

—Muchacho, no tengo sombreros mexicanos. Pero… ¿no has pensado en disfrazarte de Inca?


(huaco, skate, sombrero mexicano)
(huaco: pieza de alfarería que puede encontrarse en antiguos sepulcros incas)

12 de octubre de 2011

Upstart: una introducción para los viejos rockeros de init

Upstart es el sistema que muchas distribuciones Linux utilizan para gestionar las tareas a realizar en el arranque. Para los más veteranos del lugar, Upstart tiene como objetivo reemplazar los daemons tradicionales de SystemV que gestionan las tareas a ejecutar en el arranque, la parada y puesta en marcha de servicios. Upstart busca sustituir al [...]

11 de octubre de 2011

Frases del Quijote que no están en el Quijote: «ladran luego cabalgamos»

Hace tiempo me leí el Quijote, como a todo buen hispano-hablante se le supone, aunque lo acabara haciendo con treinta años largos, para mi oprobio. Y lo que me trae hoy hasta aquí es esa tan recordada cita de Cervantes atribuída a don Quijote, quien dirigiéndose a Sancho le responde con aquello de «ladran Sancho, luego cabalgamos» a la sazón de no sé qué perros. No recuerdo haberla encontrado nunca en el texto. Y hoy se me ha ocurrido comprobarlo mejor.

Tras buscar varias fuentes de la novela disponibles en la Red, la más adecuada a mi propósito hoy ha sido el Don Quijote de la Mancha que publica el Centro Virtual Cervantes por estar aparentemente completo en HTML en un formato bastante razonable. Lo siguiente es comprobar si aparece la expresión para lo que he usado la siguiente consulta en Google:

    http://www.google.es/search?&q=ladran+AND+cabalgamos+site%3Acvc.cervantes.es%2Fobref%2Fquijote

¿El resultado? Nada. Cervantes no puso esas palabras en boca del hidalgo Quijano. Un bulo. Pueden comprobar que la búsqueda aparentemente funciona usando otros términos como micomicona, barataria o fierabrás.

Invito al lector que haga uso de esta información para ridiculizar en público a cualquier atrevido ignorante.

PD: Si alguien puede comprobar que estoy en un error le agraderé la referencia.

LuchaLibro: improvisación literaria

Estas últimas semanas participé en un campeonato de improvisación literaria llamado LuchaLibro.


Consistía en enfrentamientos (luchas) entre dos escritores/luchadores quienes reciben una cartilla con 3 elementos con los que tienen que escribir un cuento.

Todo esto en 5 minutos, mientras se proyecta lo que escriben en pantalla gigante y usan una máscara de lucha libre para ocultar su identidad. Un jurado de 3 escritores/artistas escoge al ganador que avanza a la siguiente ronda, mientras que el perdedor debe quitarse la máscara.

El campeón recibía como premio la publicación de un libro, propio.

Llegué hasta la semifinal, donde el campeón del torneo me ganó con justicia. Mi seudónimo fue Kikiri-Boo.

Mi amiga Angie debió haberme acompañado en semifinales... Pero, un jurado (comentario censurado) decidió eliminarla por tecnicismos. Sus cuentos, en su blog.

Publicaré mis cuentos tal cual. No esperen obras de Ribeyro.

09 de octubre de 2011

First impressions with Liferay

A couple of weekends ago I had my first experience customizing a Liferay site. I wrote a very simple theme to change the standard look & feel and I also wrote some portlets in several differente languages. The goal was to analyze which portlet technology was the best to suit our needs.

Writing the theme was not difficult at all. Liferay has an excellent SDK for writing plugins, which include themes. I didn’t start from scratch but used the great HTML5Goodness responsive theme. The main navigation menu was easy to do since there is a method to iterate over first level pages. However, when I tried to do the same with the footer menu I couldn’t find an easy and clean way to do it. I wanted to put standard links in the footer menu as the Terms of Use, the Privacy Policy and so on in the footer menu but I didn’t know how to organize this stuff in Liferay CMS so I could retrieve them back easily. I thought about using a portlet for the footer but I think that’s not the way to do it since that would affect the portlets layout for all the pages. So I added some variables in the XML that describes the theme and hardcoded the links there. At least I don’t have to change the theme code if we change any of those links.

About the portlets, we needed to write a portlet that pulls the content from an external service via REST calls and render it nicely using some kind of templates. These were the attempts I made and my conclusións:

  • Portlet written in Java: this was the obvious choice. The advantages was full access to Liferay API and easyness to integrate the portlet with the SDK stanrdard procedures. The disadvantages were, well, it has to be written in Java. We are far less productive in Java that with other languages. Just for making an HTTP request is quite involved. Hopefully Liferay has APIs for making this easier.
  • Portlet written in Javascript: This looked promising and was easy to setup, the problem was the importPackage and importClass functions were not available from the Rhino environment. This made Javascript just a toy language in Liferay since the language itself has no useful standard library and it needs to leverage the net or filesystem or any other calls to the runtime it runs on. This make javascript a very integrable language but also a very dependent language. If we can’t call Liferay API from Javascript and there are no network functions in the language itself we can’t use it for our purposes.
  • Portlet written in Python: Our last try was writting the portlet in Python. First we had to update the Jython jar that was included in Liferay since it was a little bit old. Then we added the jyson jar to the jython jar itself to have support for json parsing. We also used Liferay Network APIs since we couldn’t import urllib2 from Python. Finally we even managed to use the Python debugger (PDB) by running Tomcat in the foreground. (bin/catalina.sh run)

One important thing when writing portlets with a scripting language like Python or Javascript is that Liferay will concatenate all your modules into a single big file before running it in the scripting engine (jython or rhino, in our case). This is important to know when reading errors information where the line numbers is not always what we expect. In Python, we can avoid this behavior by changing the PYTHONPATH dinamically at runtime (at the beginning of our script) and then, importing our regular modules will work again.

06 de octubre de 2011

El mundo sin Steve Jobs

Y llegó el día que no queríamos que llegara, se ha ido Steve Jobs. Para muchos es un genio, y para otros un tirano, lo que no queda en duda es su aporte a la vida moderna: Tienes que vivir en una caverna para poder decir que la influencia de Steve no afecta tu vida diaria.

Puede no ser el inventor de muchas cosas, pero esas invenciones probablemente estarían perdidas en un laboratorio o hubiesen sido una curiosidad tecnológica sin la visión y el liderazgo de Steve. Se necesita alguien que sea capaz de alinear a los expertos técnicos y comerciales – muchas veces rock stars que son muy difíciles de manejar – sólo así puedes sacar adelante productos y conceptos como los que hoy atribuimos a Steve.

A modo de homenaje, recordemos cómo era o sería el mundo sin Steve Jobs.

  • Antes de Apple los computadores estaban destinados a hacer cálculos balísticos o financieros, costaban una fortuna y se necesitaban expertos para manejarlos.  La gente normal “no necesitaba computadores”, ya que no había nada que hacer con ellos.  Steve Jobs creía que lo computadores podían darle poder a la gente normal, y afortunadamente fue capaz de convencer al genio de Steve Wozniak de que esa idea tenía sentido.
  • Antes de Apple los computadores se manejaban con comandos crípticos, todo se realizaba por medio del texto, tanto las instrucciones que se le daban al computador, como la propia respuesta del computador a esas instrucciones.  Steve conoció en los laboratorios de Xerox el concepto de la interfaz gráfica y el ratón, el problema era hacer que esa tecnología funcionara en las limitadas capacidades de los computadores personales que Apple podía producir, a un costo razonable.

Procesador de Texto WordStar sobre CP/M

  • Antes de Apple la música digital sólo se podía obtener de forma ilegal.  Los músicos estaban condenados a ser pirateados o seguir siendo abusados por los sellos discográficos.  iTunes demostró que había un mercado para la distribución de música en formato digital, y que la red no servía sólo para piratear.  En poco tiempo se convirtió en el primer canal de distribución de la música, dejando atrás a los medios tradicionales.
  • Antes de Apple tenías que seleccionar qué musica llevabas contigo, a menos que quisieras andar con un bolsito en tu mochila.  Apple logró poner horas y horas de música en tu bolsillo, incluso en el bolsillo más pequeño de tu pantalón con el iPod Nano.  Como si esto fuera poco, incorporó una sencilla interfaz de usuario basada en una ruedita tactil desde donde puedes realizar todas las operaciones que necesita el dispositivo.
  • Antes de Apple la producción musical estaba estrictamente reservada a grandes estudios, con equipos carísimos basados en hardware.  Si bien Apple no inventó el concepto, ni la tecnología directamente, tenía un computador y un sistema operativo suficientemente fiable y poderoso para que empresas como Digidesign creyeran en que los computadores podían ayudar a tareas de edición, grabación, mezcla y postproducción musical.  Gracias a esta simbiosis, hoy puedes tener un estudio musical en tu casa.

Reproductor de MP3 RIO

  • Antes de Apple los teléfonos inteligentes tenían muchos botones, carecían de aplicaciones y servían para ver planillas de cálculo o leer correos electrónicos.  Se manejaban con un lapiz y su interfaz de usuario imitaba a la interfaz de un sistema de escritorio, con menú de inicio incluido.  Hoy todo smartphone trata de imitar al iPhone de Apple de alguna forma, ya sea por su pantalla táctil, su único botón o su interfaz gráfica basada en lanzadores de aplicaciones que corren a pantalla completa.
  • Antes de Apple los desarrolladores de software necesitaban una fuerte inversión para llevar sus productos al mercado, si es que lograban obtener algo de notoriedad.  Por otra parte los usuarios tenían que salir a buscar el software “a la calle”, sin que nadie asegurara la calidad del software disponible.  Junto con el iPhone, no sólo se creó un sistema operativo que hoy es un referente respecto al software base y ambiente que se debe proveer a los desarrolladores, sino que también achicó la brecha existente entre éstos y sus usuarios.  El AppStore hizo millonarios a muchos, permitió que la distribución de las aplicaciones se democratizara, y al mismo tiempo permitió que los usuarios lograran tener acceso a software de calidad en un solo lugar.  Hoy todas las compañías tratan de tener su propio AppStore.

IPaq - Smartphone de HP

  • Antes de Apple la televisión sólo servía para… ver televisión.  Aunque nunca ha sido un éxito, el AppleTV abrió las puertas para ver la televisión de otra forma.  AppleTV convirtió a los televisores en un dispositivo más conectado a Internet.  Pese a sus problemas de comercialización, y desencanto en la propia compañía, hoy los SmartTV son un lejano descendiente de este concepto.
  • Antes de Apple los tablets eran unos computadores que no tenían mayor gracia que permitir tomar notas con un lapiz stylus.  Se trataba de notebooks con un teclado escondido, en donde el sistema operativo y su interfaz eran iguales a lo que podemos encontrar en los escritorios.  El iPad de Apple demostró que esa dirección estaba equivocada, y no se trataba simplemente de un notebook (o netbook) sin teclado, sino que se trataba de un computador con raza propia.  Eliminó el stylus, y adaptó la interfaz de usuario para ser usada sólo con los dedos.  Al igual que con el iPhone, hoy todos los tablets se quieren parecer al iPad, pero ninguno cuenta con el nivel de terminación y el ecosistema de aplicaciones que distingue al iPad.

Sketch de Mickey Mouse

  • Antes de Apple el navegador más usado en el mundo era el nefasto Internet Explorer.  Si bien Mozilla logró que los más techies impulsaran una alternativa de calidad en el mundo de los navegadores, fue Apple quien tomó KHTML (KDE) y lo convirtió en una competencia en el mundo del usuario común y corriente al incorporarlo en sus productos estrella a través de Safari.  Con esta incorporación se le terminó la excusa a los desarrolladores de que sólo valía la pena probar que sus creaciones sólo funcionaran en Internet Explorer.
  • Antes de Apple, el sistema operativo Unix era sólo para privilegiados expertos.  Aunque en Linux se han hecho intentos por llevar esta tecnología a los usuarios “de a pie”, fue Mac OSX el que logró construir todo lo que hacía falta para llevar este sistema al público. Sus distintas tecnologías que agregan valor a Unix y lo convierten en un producto de lujo, han sido imitadas tanto por Linux como por Windows con años de retraso.
  • Antes de Pixar – otra de las empresas con el sello de Steve – se necesitaban grandes ejércitos de dibujantes para crear películas animadas.  Steve ayudó a John Lasseter a convertir el sueño del cine animado por computadores en una realidad.  Lasseter despreciado por Disney y más tarde abandonado por George Lucas tuvo la suerte de encontrar en Steve a alguien quien creía que el mundo del cine podía ser distinto, así nació Toy Story y el cine cambió para siempre.

Seguramente se me quedaron cosas en el tintero, pero con lo expuesto ya es suficiente para entender el peso de Steve Jobs en nuestra vida, de alguna forma trajo el futuro a nuestro presente.

Te extrañaremos Steve.

 

Thu 2011/Oct/06

  • Most of us who work in technology, secretly wish that one day, something we've created will change the world in a positive way, or that we will be able to look back at some point and realize that we've contributed somehow to make this world a better place. For many of us, this is the driving force that put us in this field in the first place, even when we rarely admit it to each other, let alone to anyone else.

    Some of us get to achieve it, one way or another. In an anonymous way, most likely in the form of one single link in a chain of events that, individually, might seem insignificant, but altogether, represent the continuous and dynamic steering of human progress. Our names will not be remembered, neither will our individual contributions, but they will be there for others to build upon, one link at the time, one step after another.

    And then there are those who manage to envision that things are possible in ways that would be unthinkable for the rest of us, and not only that, strive to make them happen. They don't work alone and rely on others, that's certain, yet it's their unique inspiration, persistence, and the exceptional love for what they do what motivates others to flock along them and help them change the world. Steve Jobs was probably one of the most remarkable examples in the latest times of this rare but wonderful people, and we've been lucky to be challenged with his contributions to technology. I am not sure whether being in this industry would be so challenging and exciting as it is, if he hadn't been around.