Archive for the ‘Good news’ Category

On PHP and cache slams and solutions

December 16, 2013 Leave a comment

While reading about Doctrine’s cache mechanism (which applies to other stuff than database queries, by the way), my eye was caught by a little message at the end (last section) about cache slams.

I have used cache mechanisms extensively over the last few years, but (maybe luckily) never happened to witness a “cache slam”.
There’s a link to a blog (by an unnamed author) that explains that.

To make it short, you can have race conditions in APC (and probably in other caching mechanisms in PHP) when you assign a specific time for expiry of cache data, and a user gets to that expiry time at the same time (or very very very closely) as other users. This provokes a chain reaction (a little bit like an atomic bomb, but not with the same effect – unless some crazy military scientist binds a high-traffic website to the initiation process of an atomic bomb) which makes your website eat all memory and freeze (or something like that).

In reply to me mentioning it on Twitter, @PierreJoye (from the PHP development team) kindly pointed me to APCu, which is a user-land caching mechanism (or so to speak an APC without the opcode, and simplified).

Apparently, this one doesn’t have the cache slam issue (although I haven’t checked it myself, I have faith in Pierre here) and it’s already in PECL (still in beta though), so if you want to try it out on Debian/Ubuntu, you will probably be able to sort it out with a simple:

sudo apt-get install php5-dev php5-pear make
sudo pecl install APCu

(and then configure your PHP to include it).

Don’t forget that it is a PECL library, meaning it’s most likely you’ll have to recompile your PHP to enable it, but PECL should handle that just fine (in our case it’s a bit more complicated if we want to avoid asking our users – of Chamilo, that is – for more dependencies).

Anyway, just so you know, there are people like that who like to make the world a better place for us, PHP developers, so that we can make the world a better place developing professional-grade, super-efficient free software in PHP! Don’t miss out on contributing to that!


El Consejo de Estado Francés recuerda el derecho de las comunidades locales a elegir software libre


El 30 de septiembre 2011, el Consejo del Estado Francés dió una decisión sobre los mercados de provisión de servicios en software libre1. Este decreto subraya la diferencia entre los mercados de servicios y los mercados de provisión y confirma por la jurisprudencia la posibilidad de los actores públicos de optar por el software libre.

En este caso, la región de Picardía había decidido poner en marcha el software libre Lilie para los espacios numéricos de trabajo de los liceos de la región. Había, posteriormente, lanzado una licitación pública para la puesta en marcha, la explotación, el mantenimiento y el hosting de una plataforma de servicios de este entorno de trabajo. Esta decisión había sido atacada por dos empresas, argumentando que la elección de un software libre específico antes de la redacción de la licitación pública para los servicios malograba el principio de libre competencia.

El Consejo de Estado Francés ha dado razón a la Región de Picardía, recordando que, para software libre, no hay mercado de provisión de software, ya que la región ha podido “gratuitamente y libremente” obtenerlo: no hay juridicamente una compra (ya que el software es gratuito), por lo tanto no hay mercado. En otras palabras, y es el primer aporte de esta jurisprudencia, las colectividades locales pueden elegir libremente software libre y usarlos sin pasar por un mercado de provisión de software.

El Consejo de Estado Francés aprovecha luego para subrayar que las libertades del software libre permiten la competencia entre los prestatarios de servicios, y que por lo tanto el mercado de provisión de servicios para el despliegue y la adecuación del software responde a todas las exigencias de igualdad entre los candidatos. En efecto, y segun los términos mismos del Consejo de Estado Francés (ndlr: texto traducido del original),

« En lo que se refiere a su caracter de software libre, [este software] estaba libremente y gratuitamente accesible y modificable por el conjunto de empresas especializadas […] que estaban por lo tanto todas en capacidad de adecuarlo a las necesidades de la colectividad y de presentar una propuesta indicando las modalidades de esta adaptación. »

Los jueces del Palacio Royal precisan luego que, por consecuencia, hasta una empresa co-propietaria del software no tien ventaja de competencia indebido para responder a la licitación, lo cual es, por lo tanto, perfectamente legal.

Esta decisión conforta el análisis de la April sobre los mercados públicos informáticos2 : la elección de un software libre puede ser hecha librement por las colectividades, ya que las libertades del software no se limitan por la competencia a continuación. La April recuerda que estas libertades se traducen igualmente en otras ventajas para las colectividades locales, ya que permiten evitar encerrarse tecnológicamente y garantizan la perenidad de los datos.

Un análisis más detallado de las consecuencias de esta decisión será publicada próximamente (en el sitio de April).

Chamilo 1.9.4 released, clear the way!

January 18, 2013 Leave a comment

Logo por omisión del campus de ChamiloToday we release Chamilo 1.9.4, with a number of notable improvements in speed, usability and features, but you know… that’s nothing compared to what we’re preparing for version 1.10. We’ve got a pocket full of kryptonite ready to blow your eyes out this year, but let’s focus on 1.9.4 for now. You can download it from here: The free campus will be upgraded, probably this week-end, to have everybody enjoying the improvements.

For this great release, I’d like to personally thank our AMAZING team. We’ve all been hard at work, and they deserve some praise. In particular, thanks to Julio, Yoselyn, Hubert, Jérémie, José, Laura, Noa and, of course, Michela for their efforts in all directions, helping Chamilo spread like crazy and helping build this brilliant piece of software that you’re probably downloading already. Many more people deserve thanks. They’ve all (I hope I didn’t forget anybody) figuring in the Chamilo 1.9.4 credits. My sincere apologies to the Chamilo translators for having failed once again to distinguish their contributions and thank them properly for that. You make Chamilo a better tool for your communities and this is invaluable!

You can find the full changelog of Chamilo 1.9.4, as always, on, but if you prefer a short version, have it here:

  • Teachers can now generate an export in PDF all the certificates of their students at once (and print them as one big file)
  • Improvement to the attendances tool, allowing you to mark “late” students and warning you about overlaps
  • Stylesheets can now be uploaded *and downloaded* directly from the admin page, so happy editing!
  • Exercises now generate score reports by questions categories (nice!)
  • You can now group questions by the same media resource (a large text, a video, etc)
  • LP image is now shown as a starter icon on the course homepage if you want to
  • You can now create student classes through CSV import
  • General reports now show IP address to identify where this student was connecting from (you know… his exam seemed so good, for once…!?)
  • Considerably improved learning path usability
  • Single Sign On class has improved security with blocking per IP (or IP range) the Single Sign On origin
  • Improved responsive design: better positionning of most blocks
  • HTML5 support improvements
  • WCAG improvements (alt/title tags and other stuff)
  • SEO improvements: H1 and H2 tags reorganized
  • BigBlueButton plugin improvements and fixes
  • Fixed issues with IE9 (with and without compatibility mode) in exercises
  • Fixed problem with accentuated chars in image zones question types
  • Fixed issues with files upload in HTTPS
  • Fixed XLS questions import
  • Fixed courses copy bugs
  • Translation to Tagalog

But 1.9.4 is just one step further from 1.9.0, with 1.10 looming in th background for the big leap. 1.9.6 should be ready in about two months from now (mid March?), with just around 50 issues to review and fix (which will give us plenty of time to look at other important Chamilo stuff), then 1.10 should come out somewhere around May (that’s a very wide guess). I don’t want to sell it too early, so you’ll just have to believe that what is coming is much more than what 1.9 was in comparison to 1.8. With 1.10, we should get a large foot into the large corporate environment scale, with Chamilo being used progressively by hundreds of thousands of users on a few portals, with more features, better efficiency (still) and a more reliable behaviour.

To match our ambitions, we’ve worked even harder so that Chamilo could now be automatically tested, documented, analyzed (and soon packaged) by our brand new Jenkins server at With this one, we’ll be able to optimize our review cycle, spending more time on important stuff, and less time fighting against undetected regressions. Including the new Symfony framework bits that we’ve been adding recently, Chamilo LMS (just that branch) has now about 1 million lines of code, which makes it a huge development project, so it was time for us to get armed with the proper weapons. Two new developers (maybe more) will soon be joining the team as well. Our previous projects have won us a long series of good relationships and we are on our way to grow, both as an association and as a group of companies. Talking about that, the association subscribed almost 50 new personal members last year, so if you’re interested, don’t hesitate to check out the guide on how to become a member.

Our crowdfunding portal is on its way too, so you’ll be able to show your support for a specific feature. More about this soon…

And finally, Chamilo certification exams will soon be updated to Chamilo 1.9.4. You can buy an exam attempt at The process is completely automated. Video courses will be available for sale soon too.

Want to have your own Chamilo 1.9.4 portal? Why not try Chamihost for free for 15 days?

Oh, by the way, today’s Chamilo’s 3rd birthday!

The amazing Chamilo project is warming up for 2013. Are you?

BeezNest to launch cloud hosting for Chamilo LMS

November 19, 2012 Leave a comment

At the beginning of December, BeezNest will be launching its new, low-cost cloud hosting service for Chamilo LMS 1.9. This will enable non-technical teachers to host their own Chamilo LMS portal by only completing a form and scheduling a monthly payment depending on the number of users subscribed to the platform.

We hope this will give teachers a greater commodity regarding their course material and will give a gentle push in the right direction for the improvement of educational methodologies, making it easier for them to put their contents online and keep track of their students’ progress.

This cloud hosting will respect the philosophy of free software by giving you full access to the application’s souce code.

More information about this very soon!

More free software and open source good news from Europe

October 16, 2012 Leave a comment

On the line of my latest post about Linagora, a European data researcher recently published the results of a study concluding in that the European Community is saving 450 billion euros per year thanks to Open Source software.

In the same orientation, the APRIL (French Association for digital freedom) published a study reporting the substantial savings of the French Government thanks to Open Source and Free Software.

These are all good news that have taken too many years and financial crisis to come, but let’s rejoyce in their presence at this point.

Congratulations to Linagora for a 15M€ contract with French Ministry

October 13, 2012 Leave a comment

Linagora won a call for tender with the French Ministry of Finances for around 15 millions €, covering the maintenance and development for 260 different pieces of software! Congrats. Let’s hope Chamilo gets included too :-)

See the original article on Le Journal du Net, in French, here:

Retrospectiva de TechCamp Lima 2012

La semana pasada he participado a uno de los eventos más gratificantes de desarrollo de “responsabilidad social” para llamarlo algo que no es exactamente correcto pero que, en falta de mejores palabras, tendrá que ser mi descripción corta.

Presidente ESAN y embajador de EEUU en Perú

El TechCamp es una iniciativa del Departamento de Estado de los Estados Unidos de América con la cual se busca desarrollar colaboraciones duranderas entre instituciones de la sociedad civil y tecnólogos con un fuerte sentido de responsabilidad ciudadana.

Kiko Mayorga, co-organizador y el genio en la botella de Escuelab

La organización es simple:

  1. los tecnólogos exponen un tema cada uno (en metodología de cita-rápida)
  2. representantes de organizaciones de la sociedad civil escogen un tecnólogo que parece poder solucionar problemas comunes que enfrentan
  3. se desarrollan modelos para solucionar estos problemas

Speed-dating de tecnólogos e instituciones

Esto se hace en un ambiente convivial, poniéndo de lado los asuntos comerciales, buscando soluciones o compartiendo problemas para elaborar soluciones que cubran las necesidades de varias organizaciones en conjunto (de esta forma es mejor aún ya que permite lograr una sostenibilidad mayor, dividiendo los costos de implementación y mantenimiento a futuro, si estos existieran en la solución propuesta).

Esta actividad se desarrolla durante dos días completos (más una noche de preparación y unas horas de retrospectiva). El Departamento de Estado se encarga de financiar razonablemente (para el contexto laboral local se podría decir generosamente en este caso) los tecnólogos, de tal forma que puedan dedicar toda su energía durante estos 2 días (y un poco más) en encontrar soluciones.

Los temas tratados durante este TechCamp fueron variados (creo que fueron 11 temas en total):

  • la problemática de la traducción (localización) en idiomas nativas, tema crítico para un país como Perú que cuenta con más de 30 idiomas indígenas usados a nivel nacional, de las cuales solo 3 son reconocidas.
  • la elaboración de sistemas automatizados para la propagación de noticias (“robots”)
  • el propio uso de redes sociales para la difusión de sus actividades
  • el uso de mapas para representar datos de forma atractiva
  • … una serie de otras que no recuerdo bien (pues tuve que concentrarme en lo mio) …
  • el uso de la tecnología para capacitar a personas en lugares poco accesibles

Hagamos un “fast-forward” para llegar a la conclusión de 2 días de trabajo intenso para mi grupo. Yo me encargué (obviamente, debido a mi especialización en el campo de la capacitación a distancia) del último tema.

Durante este TechCamp, llegamos a las siguientes constataciones

  • las instituciones de la sociedad civil tienen dificultad en armar propuestas que permitan a sus empleados o sus miembros desarrollarse como profesionales, pues no tienen un mecanismo que permita enseñar a distancia y la movilización de los recursos humana es costosa o impráctica (pasajes, seguridad, grupos locales de pocas personas pero presencia nacional dispersa, …)
  • una plataforma como Chamilo puede solucionar una parte de estos problemas. Sin embargo, representa un costo mantener un sistema de este tipo y el tiempo necesario para rentabilizar un nuevo modelo de capacitación puede ser largo
  • Chamilo es (también) una asociación sin fines de lucro, por lo que comprende la situación de las instituciones como las de mi mesa, y justamente soy representante legal de esta asociación
  • Las instituciones que tienen esta necesidad tienen contenidos de cursos que permitirían lanzar distintos cursos rápidamente si una plataforma de enseñanza a distancia les estuviera proveida, dado el know-how de como gestionar estos contenidos

El equipo de tecnólogos trabaja hasta tarde en la noche para clasificar y validar los problemas que aparecieron durante el primer día

Estas llevaron a una feliz conclusión:

  • La asociación Chamilo, a través de mi persona, se compromete a mantener un portal de capacitación abierto a todas las instituciones presentes (y posiblemente más) y a capacitar (brevemente) las instituciones presentes en el manejo de cursos en línea
  • Las instituciones, a cambio, se comprometen a desarrollar cursos de acceso gratuito y libre (licencia Creative Commons BY-SA) destinados a sus públicos respectivos, pero con libertad para otros de registrarse en ellos
  • Las insituciones podrán promocionar sus actividades a través de estos cursos
  • Escuelab provee el espacio para la capacitación

Pizarra de estructura de cursos elaborada durante mesa de trabajo

Hemos quedado en organizar una capacitación en Escuelab en 4 semanas de este evento (ya va una semana) y de ahí tener cursos corriendo a las 8 semanas. A través de un intercambio dinámico, se espera lograr un proyecto funcional, eficiente y atractivo con el cual las instituciones lograrán:

  • reducir sus costos de capacitación
  • mejorar el acceso a la capacitación para todos sus miembros, empleados o el público en general
  • promocionar mejor sus servicios a través de estos cursos gratuitos y de buena calidad
  • aumentar la calidad de vida de los ciudadanos peruanos a través de mayores logros, gracias a un acceso a la información aumentado y medible

Me acordaré con mucho enthusiasmo de este evento que no solo me ha permitido aportar mis competencias al servicio del ciudadano, sino también me ha permitido aprender sobre problemas en el campo en términos de conectividad, idiomas nativos como el Yime Yame (los que viven cerca de los árboles) que no conocía, y mecanismos para lograr financiamientos municipales (SNIPs) en Perú.

Equipo involucrado durante estos dos días – algunos faltaron en la foto

Lo que mejoraría:

  • más tiempo de preparación para los tecnólogos (permitir más intercambio entre ellos)
  • un mini-fondo para cubrir las necesidades de los distintos proyectos que surgen (o el compromiso de los tecnólogos en reservar parte de su financiamiento para esto)
  • ambiente distinto (con más separaciones)
  • grabar cada una de las mesas de trabajo
%d bloggers like this: