Archive for August, 2011

Seminario: “Mi primer curso virtual bajo la plataforma e-learning Chamilo”

August 23, 2011 Leave a comment

Open alternatives to Skype

August 21, 2011 2 comments

Note: this post might be considered totally useless by some as there is no clear conclusion or solution. It is a work in progress. It does, however, contain hints at nice things to do to find your own replacement for Skype.

So I’m a Belgian in Peru and I want an alternative to Skype, now that it’s been bought by Microsoft and I really don’t want to be adding to the enormous money fund of Microsoft because I think they don’t do much real good with the money (or what it’s transformed into).

A few websites tell about available alternatives (see references below), but I must admit I’m not convinced by any of these. While the most similar solution (in terms of having the possibility to contact people over the same network for free and being able to reach anywhere in the world – not for free but at a reasonable cost – with a software that is available on Linux, Mac and Windows) would be the Google Voice solution, apparently it’s not available in Peru: I invariably get to the page, which tells me I’m not eligible for a Google Voice account.

So the best solution still seems to be to hire a VoIP service that will rent you a telephone number with the possibility for you to connect to their server directly from a physical IP phone, like the excellent good-value Linksys SPA942, but you’ll have to go through a series of trial-and-errors, each time potentially loosing your local number.

Because… did you know that several countries allow you to *buy* (for life) a normal phone number, and have it linked to an IP address of your choice? That’s a very cheap deal, as you are then free from any phone service provider, and just pay to make calls, using whichever service you like. Buying the phone number is generally quite cheap. Like US$80 or so, and then you can just set it up to go through an Asterisk (VoIP) server you could set up for free.

So in the meantime we’re using WeePee, an IP Phone service which we’re happy about (although they suck at internationalizing their services – mostly they suck at having good multi-lingual support staff) as they allow us to make calls from our self-owned landline number with a reasonnable fee (still higher than Skype though, and still not making possible a large network of users like Skype does).

There has been some fuss about developing an equivalent to Skype inside the Free Software Foundation’s high priority projects, but so far it is still lacking a real implementor.

References to alternatives to Skype:

Categories: English Tags: ,

e-learning platforms list

Just as a reference for later (in alphabetical order) – this list was originally quickly composed as part of the planning of a comparative study which was not concluded:

Open Source:

  • A-Tutor
  • Canvas LMS
  • Chamilo
  • Claroline
  • Docebo
  • Dokeos
  • eLMS
  • Ilias
  • Moodle
  • OLAT
  • Sakai
  • .LRN

Non Open Source:

  • Angel (now Blackboard)
  • Blackboard
  • CourseMill
  • e-Doceo
  • e-Ducativa
  • SharePoint LMS
  • TotalLMS
  • WebCT

Reset mailman admin password

To reset a mailman admin password on Debian, the easiest way is to locate the mailman’s proper bin directory (use dpkg -L mailman), generally: /usr/lib/mailman/bin

There, you’ll find an executable script called change_pw. Use this one.

If you want to change the password of all lists at once, use: sudo ./change_pw –all –password=newpassword


Server stalled on Loading Kernel Modules without chroot – What to do?

Today we had a server stalled on “Loading kernel modules” at reboot (after adding 12GB of RAM, to 24GB total). The datacenter didn’t know what to do and they put us on a 32-bit rescue mode console from which we couldn’t (obviously) launch a 64bit chroot to update the kernel. The situation seemed pretty desperate.

Our sysadmin, Jérôme, once again came to the rescue. Waiting for the datacenter to respond would have potentially increased reboot time up to 45 minutes. The only possible thing to do: replace initrd with a similar version (just in case the first one would have been damaged). Luckily, we had another similar machine which had been installed the sameday (at 1h difference), so we copied the initrd image over and launched a reboot. After 5 long (never-ending) minutes of no response from the server, it just popped back online.

That’s another one to remember for sysadmin’s day!

How to best generate a DDoS without even noticing

Yesterday w had a funny (I say that now that I’ve been able to relax a little) situation on one of our hosted servers. The server’s RAM usage went bang to the ceiling in a matter of minutes, and it was then practically impossible to get it back (had to hard-kill Apache and the monit process that was restarting it).

What happened? Basically, a DDoS on a single server which is, as most knowledgeable people will tell you, practically impossible to manage.

Just a few definitions:

DoS = Denial of Service = a high load generated on a server which gets the server into a resources starvation (either no RAM left, or disk over-used or CPU overloaded or anything really essential to your system).

A simple DoS attack is originating from one single source and is pretty easy to stop: locate the origin IP and block it. Done.

A more advanced version of a DoS is a DDOS.

DDoS = Distributed Denial of Service = a high load generated on a server … originating from a large number of sources at the same time

The detail is in this last part. Whereas it was easy in DoS to detect where the attack came from, in DDoS, it is made impossible to distinguish one attacker from a normal user, because no single attacker is making “a lot” of requests. They just sum up to a massive number of requests, which eventually make your server get into resource starvation.

So now the concept is clear, how can you do to make it work? Well, that might require a very high skills set if you want to do that on purpose, but surprisingly if you don’t even know what DDoS means and you’re a simple Flash banners designers, it’s apparently dead easy: just make sure you put a flash banner on the homepage of a moderately visited website (let’s say 6000 visits per hour) which has a mechanism to recommend pages when a user tries to find a page that doesn’t exist (technical translation: a custom 404 page which generates a SQL query), on which users stay for a while (put some full-size breaking news or something like that). Then try to load, from your Flash, an URL that doesn’t exist. Oh and wait, while you don’t get the expected answer, just repeat that call, over and over, once every second.

That’s it, you’ve built yourself a nice 1000-users DDoS in less than 10 minutes. Prepare to see your RAM usage soar if you have a CMS with that custom 404 recommendation page, then (if you use swap memory), your disk fill up with swapping pages, and then finally your processor burn its “waiting” states.

The beauty of it is, once you find the cause of the mess, you can’t really stop it straight away, because your users will still be on that page with the banner, so as long as they don’t change page, it will continue querying your website. To make it even more perfect, the Flash might use a lot of the clients’ CPU, which will possibly end up in freezing their browser, which means they won’t be able to get out of the page for a while…

If you’re lucky enough to have a Varnish reverse proxy installation (or any other reverse proxy), one (emergency) solution is to just tell the proxy to *not* pass the request to the webserver, and just answer directly (from cache) a default error page. This will effectively (but it might take a few minutes) highly reduce the server load.

My previous post explains how to do that, just in case.

Categories: English, security, Tech Crunch Tags: , , ,

Force caching for a specific page in Varnish

Just a self-reminder, in the vcl_recv section (before sending request to the backend), check the url you want to always serve from cache and tell it to return(lookup);

  if (req.url ~ “request_server.php$”) {

Reload Varnish and get ready for a massive fall of your load if this bloody request_server.php was overloading your site uselessly…

Categories: English, Tech Crunch Tags: , ,

Chamilo is nearing completion

For all those of you who’ve been expecting this release for a long time, we are finally closing in and this week seems to be the ideal time to have ourselves an first release candidate, which will last only one week of all goes well.

Unlike previous versions, Chamilo doesn’t bring any major new feature. Instead, it is the fruit of a very deep process of trials and fixes, which has been lasting more than 60 days now and sums up to a staggering 1000 of working hours. This time, we have felt Chamilo getting more popular and generating more contracts, but also getting into more organizations, with a big 200,000 people company in France adopting it and several multi-national companies with a very large number of offices using it for more and more critical resources, which have forced us to acquire very quickly a deep knowledge of redundancy, cloud computing and load balancing, which apparently we have done quite well as all our Chamilo customers are currently very happy and online 100% of the time.

In parallel, universities in Latin America and academies in France have started to contribute, which made it all wrap around us, developers of the platform. We’ve felt a little overwhelmed and those of us who we have the chance of counting as our customers must have felt it a little: our response time has extended a little for new proposals and (virtual or physical) meetings. We’d like to send our excuses to these people of whom we might have affected the projects that way.

Anyway, you should see Chamilo as a very stable and improved platform which makes of 1.8.8 what we really wanted to make it in May this year: a complete, reliable and efficient e-learning authoring and distribution platform, ready for loads of teachers and students, with better translations, better icons, better screens, better reports, better tools (documents, certificates and exercises tools have been particularly taken care of) and finally, better documentation (both for admin and teachers) in French, English, Spanish and probably quickly enough in Dutch and German! In fact, this is the first version of Chamilo bringing so many excellent stuff that I have been able to hear a simultaneous “wow” from more than 100 teachers in a recent promotion event.

Because we wanted this to be vary stable version, we have also held up a whole lot of new features, that we will be rolling out in Chamilo 1.8.9 to come out (we hope) much before the end of the year. We really think that the new version will push the boundaries of what you thought possible from an e-learning system even further, but future will tell…

Of course, we’ll be the first to cover the release of when it’s finally stable, but if you want to get a previous taste, have a look at using the login and password “admin”.

Regresar al changeset anterior en Mercurial

Para regresar al changeset anterior, como lo indica el muy buen manual de Mercurial, es super sencillo (y es principalmente la razón por la cual un pull no hace update

automáticamente): solo se tiene que hacer

hg update -r 858   (si la revisión a la cual regresar es la 858)

Para conocer los números de revisión, hacer

hg history -l 5     (para los últimos 5 cambios)

Ojo que es para regresar en la historia *local*, es decir que si no he hecho pull antes, mi historia local podría ser bastante distinta de la del servidor.

Alternativamente, también puede usar el hg backout, el cual es un poco más reciente y un poco más peligroso.

%d bloggers like this: