Linux User Group of Mauritius Promoting open source software in our beautiful island


The last day of Infotech 2015

Posted by Ish

On Saturday afternoon Ajay confirmed me he’ll come for the OpenELEC demos at Infotech 2015 the next day. So, I hopped in to help too. Hmm, well, “help” might be a big word here. I was only around on Sunday with my laptop shooting random stuffs and chatting with a few people about Linux as an “everyday” alternative.

I had a nice chat with Riad from the National Computer Board. We also talked about some projects that are in loop where the Linux User Group of Mauritius would benefit from.

The day started shortly after 11h00 for me. Ajay had reached right at the moment when I entered the parking lot of Swami Vivekananda Int’l Convention Centre. The food court was half full as people were still coming in. However, it wasn’t that busy for a Sunday. I felt like previous editions had more people on the last day.

We got the gears ready and Ajay configured his media server to play some videos through the Raspberry Pi while Chris Gunnoo was as excited to demo his robots to the curious visitors.


OpenELEC garnered visitors attention

Ajay told me that the day before, after I left, a visitor was particularly interested with the OpenELEC demo. The fellow works as a cook and he was so amazed by the cooking channels that Ajay showed him, he bought a pendrive and asked for a live image that he could use at home. Ajay was happy to provide him one :)


Foodcourt refused to sell me Indian curry separately

Around 12h30 I went to have lunch. I bought sandwiches, french fries and a glass of “alouda”. Something interesting happened later in the evening though. I had left Infotech earlier then came back with my mom & auntie in the evening. Mom told me that I could find some vegetarian Indian curry if I’d like. I went there and decided to buy the “paneer curry” only. I asked the lady to sell only a portion of the curry in one of the plastic recipients but as she was going to do so a guy stopped her. I was curiously watching the scene and the guy who appeared to be like a “bossing around manager” tells her to tell me that they cannot sell the curry separately because they will be in short of plastic recipients for other customers. Huh! That was fun because the food-court was 3/4 empty at 18h50. Infotech was due to end at 19h00. The lady was feeling awkward to tell me the reason why she can’t sell one curry only but I had witnessed the scene. I smiled at her and said, “it’s okay” and I left.

Well, that was something I wanted to share in my blog post wondering if other people might have experienced similar situations at the Indian food section of the food-court.

Anyway, back to my story, we’re still around 12h30, I grab my sandwiches, french fries, alouda and reach for a table. All tables were occupied. I asked a gentleman if I could share his table, he politely said I could. I was eating and half-way lost in my thoughts when a guy approached and greeted me. Oh, he apologized for disturbing while I’m eating, that’s courtesy :) That was Suyash Sumaroo from Codevigor Ltd. He shared a stand with Ebène Accelerator fellows in the main hall where he showcased his online service We talked about his application and had a quick chat about entrepreneurship and the struggle of start-ups in Mauritius.

When I came back to the LUGM stand I found a mini crowd peeking over the Raspberry Pi.


Ajay handled like a maestro. I answered a couple of questions people asked about the RPi, its price, how it is programmed, does it come “naked” as in without a casing etc. Then some familiar faces popped in. They were folks from the University of Mauritius Computer Club.


Later I met Sadhveer and I was glad to hear that her little sister is a Linux user too :)


Infotech 2015 ended on a good note that the National Computer Board has some promising avenues for future collaboration with the Linux User Group of Mauritius.

The post The last day of Infotech 2015 appeared first on HACKLOG.


My second day at Infotech 2015

Posted by Ish

I’m not very much in shape to type at the moment but I need to say it, finally, I did spend some nice time at Infotech 2015 :)

While the event has reached its third day, I am actually on my second. I reached Swami Vivekananda Int’l Convention Centre (SVICC) along with Shelly around noon and we went to the LUGM stand.

We met Logan and Christian who were on with their robots display. I noticed there were more people than yesterday. I brought my laptop & a monitor which I set up and was ready for some geek chat about Linux if inquisitive people would show up.


However, robots stole the show. Almost everyone who reached out for the LUGM stand were curiously looking at the Arduino robots. Logan would then engage in the explanations and tell them about the Linux User Group of Mauritius (LUGM).


I would shoot the LUGM website on the monitor from time to time; I would check my Facebook & Twitter accounts “publicly” :) Many looked at the monitor curiously, then I would switch to a console window and show a train passing by the screen. Aww!

When shooting random elements on the screen was not fun enough, Shelly and I took more pictures and kept tweeting.


Nayar came shortly afterwards and all three of us went in the main hall for some more fun and did a little bit of shopping. Little bit? Yeah :)

In the afternoon, Ajay arrived with his Raspberry Pi running Kodi. I had brought a 32 inches TV for the display. Oops, I didn’t take any picture of Ajay :-/ I should tomorrow. Will be there to help Ajay with his RPi/Kodi demo.

The post My second day at Infotech 2015 appeared first on HACKLOG.


LUGM at Infotech 2015

Posted by Ish

I had a brief visit to Infotech 2015 today. An important task was to deliver Logan the banner of the Linux User Group of Mauritius (LUGM). He’s been demo’ing some cool Arduino based robots since yesterday along with Christian Gunnoo. When I reached the Swami Vivekananda Int’l Convention Centre today, I first looked out for the LUGM fellows. I saw Mike & Jessica were there having a chat with the geeks. Cool, I jumped in the convo, greeted everyone and gave Logan the banner.


Next to LUGM, there were fellows from the Middlesex University. They also had some cool Arduino projects to display.

On a sad note, the table arrangements got both LUGM and Middlesex University in a blind spot. They were on the same row as the National Computer Board outside the main hall. Nevertheless, I should commend the good work achieved by Logan & Christian to interact with young fellows who made it till there.

Next, I headed inside the main hall. I was looking for the stand of Amazon Web Services (AWS) but before that I got to meet Louis from I had a chat with him and another fellow I happened to meet there. In fact, they showed me where the AWS stand was and I hopped there.

I met Chris Perkins from AWS and we talked quite lengthily about the various cloud services. My main mission was to meet some technical guys and we could have a geek chat about how we’re building up the infrastructure for the next Yes! If that comes as a surprise, I now work for LSL Digital :)


Chris happens to be a Manager within AWS Cloud Support and we had a very interesting chat about operations, sysadmin skill set and all. Chris and his colleagues are in Mauritius to recruit for AWS South Africa. If you’re interested to put your genius in action and be part of the AWS family, you still got two days; put your laptop in the backpack and go meet Chris at Infotech 2015.

I then met Dinesh, an ex-colleague from Linkbynet :) We had a chat about the fun days when I was a Unix System Administrator at Linkbynet. We talked about the shortage of sysadmins and the gap that needs to be filled.


I left around 13h30 and headed back to LSL Digital. I should be there, at Infotech 2015, tomorrow along with other LUGM members talking about Linux. Meet us at the LUGM stand :)

The post LUGM at Infotech 2015 appeared first on HACKLOG.

Tagged as: No Comments

Linux meetup : An introduction to Flask by Avinash Meetoo

Posted by logan

Flask is a web microframework which was created by Armin Ronacher of Pocoo and it is written in python. The “micro” in microframework means Flask aims to keep the core simple but extensible.

Flask is based on MVC Web Architecture which allows you to have models, views and controllers and plugins can be added to make it more powerful. LinkedIn and Pinterest both make use of Flask.
Flask is considered more Pythonic than Django because Flask web application code is in most cases more explicit.

The following code below shows a simple web application which was explained by Avinash Meetoo during the Linux meetup.

from flask import Flask
// First we import the Flask class.
From flask import render_template
// render_template is a function being imported from module flask.
app = Flask(__name__)
// Next we create an instance of this class called app which is basically a controller.
// (__name__)is needed so that Flask knows where to look for the assets like css, js and templates.
//Next, we define route for the home of the web application, which is accessed through the url – localhost:5000/
def home():
return render_template(‘home.html’)

// home() is the function that is executed each time a request come to this route (‘/’). In this function, it is going to render a template which is ‘home.html’.
if __name__ == '__main__':
// makes sure the server only runs if the script is executed directly from the Python interpreter and not used as an imported module. = True)
// Finally we use the run () function to run the local server with our application.


“” was used as the controller to render the template ‘home.html’ .

During this presentation, Avinash Meetoo explained the codes and functionalities that he used when he created a web application for the general elections in 2014. “” was used as the controller to run the application.
Flask is easy to get started with as a beginner because there is little boilerplate code for getting a simple app up and running.
The presentation can be found on the YouTube link below:


Summary done by Neha Gunnoo.



Privacy Compliance Assessment in Mauritius

Posted by Ish

Privacy is a subject that is poorly understood in Mauritius. I often see local websites collecting information through contact forms yet having no privacy policy or some times the policy is a mere “copy & paste” without considering compliance as per the Data Protection Act 2004 of Mauritius.

Privacy Compliance Assessment in MauritiusCompliance with the Data Protection Act can be a cumbersome process for many. Some might even ignore it as very few people ever question about privacy in Mauritius. Nonetheless, the law remains the law. To help in making privacy simpler to understand and comply with, several months ago, Nadim Bundhoo, Nirvan Pagooah, Ajay Ramjatan, S. Moonesamy and I collaborated on a project, which we called the “Privacy Compliance Assessment” webapp.

The Privacy Compliance Assessment web application can be accessed at

As per the Data Protection Act, a “data controller” is a person who either alone or jointly with any other person, makes a decision with regard to the purposes for which and in the manner in which any personal data are, or are to be, processed.

A data controller needs to make sure that procedures of collection, processing and storage of personal data as set are compliant with the Data Protection Act 2004 of Mauritius.

We’re thankful to the Data Protection Commissioner, Mrs. Drudeisha Madhub and her team, who provided us the relevant information. The Data Protection Office helped us throughout the project with regular reviews and suggesting amendments.

The Data Protection Commissioner accepted our invitation to introduce the webapp and do a presentation during the Developers Conference 2015.

How does the app work?

The application runs on the client side, that is your Internet browser. The assessment takes you through a series of questions that can be answered with a Yes/No toggle button. At the end of the assessment, you’re told whether your organization is compliant with the Data Protection Act 2004. Information that you provide are not sent back to the server. You may run the assessment as many times as you require.

The web application is released under the GNU General Public License (GPL) version 2. You may use the app, modify it and redistribute it as allowed under GNU GPLv2.

We aim to present “privacy” in a simple way and make “privacy compliance” a bit of a fun thing to achieve :)

On 15 May 2014, I highlighted a major privacy breach on the website where personal data collected through Google Forms were exposed on the Internet.

On 1 June 2014, I reported a data leak on the government web portal that affected over 9,000 people.

On 7 July 2014, I presented security flaws on the government web portal that could lead to data leakage.

On 5 October 2014, I wrote about my concerns over the use of Face recognition CCTV cameras in urban areas of Mauritius.

On 3 October 2014, S. Moonesamy reported privacy concerns with konetou advertising.

On 21 September 2015, S. Moonesamy wrote to the Government Online Centre regarding the “privacy policy” of

On 23 September 2015, I wrote to the Ministry of Technology, Communication and Innovation, highlighting my concerns as to the collection of personal data through the “login captcha” on the government web portal.

The post Privacy Compliance Assessment in Mauritius appeared first on HACKLOG.


Opensource Web application in Collaboration with Government Agency

Posted by logan

The Data Protection Office has a self-assessment questionnaire ( ) for compliance with Data Protection obligations. Doing such an assessment on paper and evaluating the results can be a cumbersome process.

Subramanian Moonesamy, Ishwon K. Sookun, Bundhoo Mohammad Nadim, Tejas Pagooah and Ajay Ramjatan volunteered five months of time and effort to develop a Privacy Compliance Assessment Webapp in collaboration with the Data Protection Office to make the process as user-friendly as possible. The Web app can be accessed at



It is the first time a group of volunteers in Mauritius develop an Open Source Software project in collaboration with a government agency. It was also to showcase responsive web design, i.e. the Webapp looks good on a desktop, tablet or a mobile.

The webapp does not store cookies, nor uses any other web tracking mechanism. Hence anyone who conducts an assessment using this webapp can do it anonymously, without any fear of being tracked.

The webapp is free software and can be freely distributed or modified under GNU General Public License.


Introduction to Flask

Posted by Ish

On the 14th of September 2015, Avinash Meetoo replied to this email on the Linux User Group of Mauritius (LUGM) mailing list and showed interest in doing a presentation for the next LUGM meetup.

The meetup happened today in Curepipe. I was not able to attend it physically, but thanks to Logan who did the necessary for setting up a Google Hangout session, I joined around 13h00. Shortly after, Avinash started his presentation “Introduction to Flask”.


He welcomed everyone who joined and gave a quick brief about the underlying infrastructure of webapps. I particularly liked the way he explained the model-view-controller (MVC) software design pattern; taking from there he talked about Python frameworks. The popular Django framework comes first, Avinash says. Django should be a powerful framework when a lot is needed for a project, like an interface for backend etc. However, if someone wants a pretty quick setup, say for example a prototype for demo’ing to customers or a small web application, there is this Python micro-framework called Flask that comes handy. Avinash explains why it’s called a “micro” framework; reason being it’s limitation to a subset of functions that full stack Python frameworks would offer. Nonetheless, the functions in Flask are pretty enough for setting up web applications.


Avinash mentioned how he uses Flask in his many projects at Knowledge Seven and how he designed his web application He and his wife, Christina, came up with an idea about a web application to help Mauritians vote intelligently, two weeks before the General Elections 2014. Avinash then put his genius in the making of the “Elections Mauritius” webapp.

During the presentation, Avinash showed a demo of a simple web application and unveiled the code behind his “Elections Mauritius” web application. The prez lasted for approximately 50 mins including the questions & answers at the end. Those who missed the Hangout session can still catch up on YouTube and once again, thank you Avinash :)

Flask logo used from

The post Introduction to Flask appeared first on HACKLOG.

Tagged as: No Comments

Nginx virtual host configuration

Posted by Ish

What is Nginx?

Nginx (pronounced engine-x) is a reverse proxy which gained popularity in the recent years. A lot of people, including me, use Nginx as a web server thanks to its event based multi-protocol support. Nginx supports HTTP and that is what we need to run it as a web server. The strong point of Nginx compared to traditional web servers is that each spawned process of Nginx can handle thousands of concurrent connections. Nginx does not embed programming languages within its own process, therefore all dynamic handling (such as PHP) is done through a backend server. PHP-FPM works great as a backend server to handle PHP scripts.

Nginx configuration

Nginx virtual host configurationBefore we dive into the Nginx virtual host configuration, we might need to grasp a little bit of the basics. The Nginx configuration can be classified in two parts; the directives and the contexts. A directive is an identifier that can accept one or several configuration options. A context on the other hand is a section which may contain several directives. The word “context” is mostly used in the Nginx documentation rather than “section”.

A directive would be as follows:

worker_connections 768;

A context would be like:

events {
    worker_connections 768;
    # multi_accept on;

A context may contain one or several directives within curly brackets {}. Directives can be disabled by commenting them with the # symbol.

To define a virtual host in Nginx we create a “server” context. This context will handle configuration directives like the hostname, the root directory etc. A basic virtual host in Nginx looks as follows:

server {
    listen 80;
    root /var/www/mysite;
    index index.html;

The configuration tells Nginx to listen to port 80, handle requests for “” and serve contents from the /var/www/mysite directory. The index directive tells Nginx to set “index.html” as the default file to serve.

Backend interaction

There is a sub-context called “location” within the server block. The location context handles URI matching. It tells Nginx what to do when a particular URI is sent by the client. Backend communication happens by sending the request to the backend server once the URI matching is completed and conditions are met. The server context may have server location sub-contexts; as we in the example below:

server {
    listen 80;
    root /var/www/mysite;
    index index.html;

    location / {
        try_files $uri $uri/ /index.php;

    location ~ .php$ {
        include fastcgi.conf;

If a URI ends with .php the request is sent to the PHP5-FPM backend server. If a URI does not end with .php the location / is used. Nginx tries to search a file that matches the URI; if that fails, it tries to find a directory of that name and serves the index file. If both fail, the request is redirected internally to /index.php and the request is handled by the backend server.

The post Nginx virtual host configuration appeared first on HACKLOG.

Tagged as: No Comments

Quick fix for fast forward youtube

Posted by logan


Youtube loads but there is no sound, and youtube seems to be playing in fast forward mode.

After digging around, I realised that the sound sub-system of Linux needs to be badly fixed. It tries to play through the audio HDMI port first. Youtube should also fix their sound output code on Linux. The trick is to disable the HDMI codec driver for the sound.

Add this line in modprobe.conf: blacklist snd_hda_codec_hdmi

I've seen huge threads about this problem on various forums. Maybe this will help a few people.

Tagged as: No Comments

Linux meetup and the talk about protocols

Posted by Ish

Since several weeks Logan announced this Linux meetup about Open Protocols & Standards. He got inspired after attending the IETF 93 meeting that happened in Prague this year. Upon coming back to Mauritius, he thought it’d would be cool to share the experience with other like-minded folks..

Thanks to Ashmita & Nirvan, he happened to get a room for the meetup at the University of Mauritius. Thus everything was finalized for Saturday 29 August 2015, that is today. It’s been a long time since we had a Linux meetup; I could list a series of reasons but they would all be unjustified :-/ Never mind, this one was happening, I could not have missed it.

I reached the University of Mauritius at 12h30, found a parking lot, picked up my bag and went in search for room 2.12 which should be in Phase II (the building how it’s called at the university).

Logan was right outside the room talking to three girls. I just greeted him without interrupting his business. We were around 8 attendees while some were on the way. Logan started his prez at 12h45. He states there is a “problem” that dates back 20 years but very few people have considered it. He then started talking about a slow Internet situation. He explains about Bufferbloat (lag) under a network load.

Linux meetup by LUGM

Logan mentioned that when the bandwidth crosses the bar of 5Mbit/s it becomes insignificant. The real sluggishness of the internet is then due to high latency. He cited scenarios where several users in a household would suffer if they use Skype, upload documents and watch YouTube simultaneously.

Linux meetup, Linux User Group of Mauritius

Loganaden Velvindron

Logan told us about his experiment on a TP-Link router while replacing the latter’s firmware by OpenWRT. He was able to apply tweaks that would remedy his latency issues when several users on his home network would use the internet. The discussion continued on the TCP/IP standard and Logan shared some knowledge he acquired during the IETF 93 meeting.

Around 14h30 we had a break and we went to the university cafeteria.

After the break, the discussion went more technical and Logan explained about the fq_codel implementation in OpenWRT. CoDel aims to defeat bufferbloat, which refers to an excessive buffering of packets. The latter leads to high latency and finally we see the sluggishness in network-related applications as mentioned the beginning.

Logan has shared his presentation slides for those who’d like to have a look.

That was a cool meetup after a long time :)

The post Linux meetup and the talk about protocols appeared first on HACKLOG.