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

15Jun/160

Automatically raise windows in Gnome

Posted by Avinash Meetoo

20160615-automatically-raise-windows

I love Gnome 3… except when I am using a terminal, decide to launch Chrome by clicking on its icon in the Dash and not realising that the terminal still have focus despite Chrome being shown on screen. Consequently, typing, say, www.noulakaz.net and pressing enter only sends these keystrokes to the terminal (despite Chrome being shown) with potentially serious consequences.

But lo and behold, I have just found a solution. Just launch the Gnome Tweak Tool as shown above and put “Automatically Raise Windows” to ON.

I have regained my sanity!

1Jun/160

Vagrant box export and import

Posted by Ish

I’ve been a VirtualBox user for a few years but I started working with Vagrant only recently. Vagrant provides an easy-to-use portable environment on top of virtual machine providers like VirtualBox, VMware, AWS etc; at least that is what is written everywhere.

While the internet abounds with articles and «expert» answers about how to work with Vagrant, I stumble upon a lot of blurry advice in needy times. The last resort, though not very tempting, is the official documentation. I say not very tempting because of the amount of reading required for just one set of command options.

Vagrant box export and import

Hashicorp, the company that funds the full-time development of Vagrant, hosts a catalog of Vagrant boxes for the different virtual machine providers, which is called Atlas. Let’s look at the command that is used to add a box to Vagrant.

vagrant box add opensuse/openSUSE-42.1-x86_64

In the above command opensuse is a user of Atlas and openSUSE-42.1-x86_64 is the name of the box. You might need the --provider option if you’re not using VirtualBox. Once the box has been added, it can be initialized as follows:

vagrant init opensuse/opensuse-42.1-x86_64

The command creates a Vagrantfile in the current directory with a lot of commented lines which you can uncomment to specify needed options with your Vagrant box (e.g shared folders, set memory etc). The following line in the file tells vagrant which base to use when provisioning the virtual machine the first time:

config.vm.box = "opensuse/opensuse-42.1-x86_64"

To start up the Vagrant box we’ll do vagrant up and a bunch of messages depending on the Vagrantfile parameters will show up (e.g SSH port forwarding). Next we do vagrant ssh to jump inside the Vagrant box. The first time the Vagrant box is started, a virtual machine is provisioned in VirtualBox (since that is what I am using as provider). At next boot the VM will jump to normal startup unless «provisioning» options are specified.

As Vagrant users enjoy easy portability of the boxes, the same can be exported following this quick procedure:

vagrant package --output opensuse-devel.box

Say you have set up a development environment on the openSUSE box and you need to share the same with other developers. The above command packages the virtual machine in one file, in our case it’s called opensuse-devel.box. Next each developer needs to add the box as follows:

vagrant box add openSUSE-devel opensuse-devel.box

I am naming the project openSUSE-devel for easy reference.

Sure, if not executed from the directory containing opensuse-devel.box then the full path to the file should be used. It makes the box available to Vagrant and a machine can then be initialized.

vagrant init openSUSE-devel; vagrant up

This creates the Vagrantfile and fires up the box. When one needs to destroy the box, just execute vagrant destroy and the virtual machine will be gone.

The post Vagrant box export and import appeared first on HACKLOG.

Tagged as: No Comments
23May/160

Developers Conference 2016, day 3 with openSUSE bug hunting

Posted by Ish

I had my «openSUSE bug hunting» presentation scheduled at 09h30 this morning. I’m usually very lazy on Sundays but the enthusiasm of the Developers Conference is just an amazing feeling. Though we live on a small island, we get to meet some people maybe just once a year during this fun event. I picked up Shelly on the way and we reached Voilà Hotel at 09h05. Right at the hotel entrance Yash was waiting, he might have seen us coming. We went upstairs chatting and met JoKi. My presentation was scheduled at the Accelerator and I thought I’d just go and test the gear. Aargh! The TV had only HDMI cable and my ThinkPad had VGA & a Mini DisplayPort. That said, I needed an adapter. Joffrey who came around greeting everyone had a HDMI to VGA cable, which he lent me. At that same time JoKi also came with a Mini DisplayPort to HDMI convertor. Great! Then I had an adapter plus a backup.

I mirrored my laptop display and checked if everything’s fine. All good and it was 09h30.

Developers Conference 2016, openSUSE bug hunting

Thank you for the photo, Shelly :)

However, folks were still coming, so we thought let’s just wait till 09h45 giving a chance for others to arrive. Indeed I started at 09h45 sharp with a 3/4 full room and just a few minutes later it was «house full». That was great and a true encouragement though a Sunday morning.







Thank you for the (re-)tweets folks. :D

I chose the title of my prez «openSUSE bug hunting» from a blog post I wrote in 2013 while running «release candidates» of openSUSE. Starting the presentation I spoke about how some folks might organize special events working to hunt and find bugs, while some bugs we just encounter when doing regular tasks. What do we do when we find one of those bugs? Do we just ignore and think, «it’s just an error, nothing more», and we continue work? Do we search on the internet whether others encountered similar errors and if there is a fix? Few people ever consider filing a bug report through the right channel, unless it’s just a «button» away like some applications (e.g web browsers) offer.

Bug reporting most of the time require some information gathering from the system; that is where I took the presentation. Before diving further into the system though, I opened a few bug reports from openSUSE Bugzilla to show as example. I also gave a quick overview of the openSUSE Build Service and openSUSE Connect. That helped show the audience how to find package maintainers and get information about official and non-official packages.

I did not have slides; but I rather fired-up an openSUSE Vagrant box inside which I had setup an environment for demos. The rest of the «talking» happened within the Vagrant box. We looked at how to obtain system information using command-line utilities and from the /proc fs. Next we looked at digging for application error info in log files. We played with systemctl and journalctl which gave us clear and concise information about application states. We then queried using rpm and its various options to get as much information about packages that we can use when filing the bug report. At that time an openSUSE user from the audience said we can also use zypper to search for installed packages on the system. Yes, indeed, but rpm -qa | grep php shows no clutter compared to zypper se php. I however grabbed the opportunity to tell the audience that folks having a «debian lifestyle» can still type aptitude equivalents to search and install packages from the command-line; thanks to the «zypper-aptitude» compatibility scripts written by Bernhard M. Wiedemann.

All while we continued digging for application errors and how to search and sort things from the logs; I did a quick demo using Nginx and PHP-FPM.


We talked about the need of default configuration files after installing PHP 7 and that such changes need to be addressed with the «openSUSE factory» guys.

It was near 10h30 and Jeshan signaled me that the next speaker had already come. I asked for a last 5 mins to show something quick using the «strace» tool. Actually a university student asked me a question before the event and I invited him to come to the prez and ask the question again so we could altogether see how tracing tools can help us find useful information for bug reports. That part of the prez might be good for a separate blog post. I sincerely have to apologize to the next speaker if he is reading this post; we started 15 mins late and that surely must have impacted other presentations.

Eddy and I talked about work stuffs after the presentation. Then some of us went to Bagatelle food-court for a mini-break. When we came back Sun was preparing his gear for the next presentation. He talked about grid systems, explained what are decks & cards and how it’s used on lexpress.mu. He showed some hidden features of lexpress.mu, like what happens when you type «heart» or «superlsl» while you’re on the homepage and how the text is read if you type «kozer» while you’re on an article page.


Sun demoed the «live article» feature of lexpress.mu and the work needed behind to keep it light, simple and fast. He talked about «facebook instant articles» and definitely we’re proud to be the first media group, not just in Mauritius, but in the African continent to deploy the same.


After Sun’s presentation I met my ex-colleagues and we went for a pizza & beer lunch at Flying Dodo.


The pizza being late and as the Developers Conference closing ceremony had started Shelly, Ubeid and I rushed back.

JoKi’s wife, Mary Jane, Vincent, Louis, Arnaud and a few others, we had figured how to hijack JoKi’s speech and bring on some more party time to celebrate JoKi’s birthday. Yeah, he’s getting old, now it’s confirmed as he turns 40. Ubeid quickly edited some slides and we told JoKi that as he finished his speech thanking everyone, we had a quick stuff to show; some sort of observation we’ve made. Ahaan! That’s when Arnaud, helped by Mary Jane’s cousin, they brought that big cake along with its table.

Everybody cheered! Everybody laughed. We all had fun, we had cake, we took crazy photos and celebrated the end of Developers Conference 2016.

Developers Conference 2016

Developers Conference 2016

Developers Conference 2016

The post Developers Conference 2016, day 3 with openSUSE bug hunting appeared first on HACKLOG.

Tagged as: No Comments
21May/160

DevConMru 2016, day 2 – Linux Installfest

Posted by Ish

It was Saturday morning and I found myself rushing to be at Flying Dodo just in time. Oh, to be precise «not in time» but like 15 mins later than I expected to be, that 09h45. The night before I got busy preparing the box of openSUSE goodies, sorted the stickers, pamphlets, DVDs and cheat sheets. Little I knew that folks would like those so much. I would tweet as I got the pack ready.





Shelly and I were the first geeks to reach Flying Dodo. While I would setup my laptop with the projector, she prepared the tables with the stickers and cheat sheets.

Developers Conference, Linux Installfest

The first few geeks came shortly afterwards. Ronny and Ajay from the Linux User Group of Mauritius came along with their gear. Oh, this little gang from the University of Mauritius hopped in and yes we were under attack. We also received the visit of folks from the PHP Mauritius User Group.



The morning session was great. Ajay, Pritvi, Ronny and Avish helped people getting their laptop Tux’ed either with Ubuntu or with openSUSE. Meanwhile I got to run an interactive session with the university folks with a command-line walk-through.


There was a question about email headers. I showed email headers from my Gmail account and also from Thunderbird. We talked a little bit about IETF RFC 2822 and together we looked at some of those colon-separated field values. Ajay gave us a simple yet clear explanation on SPF and DKIM. We did a ‘dig’ on a couple few domains to read the TXT records. Ajay explained about hard-fail and soft-fail in the SPF records and how they affect delivery of email.


I tried answering other questions that popped up; covering various topics like SSH, file permissions, etc, and we had real fun during that interactive session.


Jeshan joined us later after his AWS Lambda presentation at Voilà Hotel and offered a little support to Ashmita who tried installing openSUSE (dual boot) on her laptop. Mission was successful! It was great to meet Bernard who got an Ubuntu dual-boot on his laptop and Nirvan Mahadooa who wanted to meet the Linux geeks. I really hope we can continue the geek chat at a later time folks.


Some of us stayed till dinner-time at Flying Dodo sharing «samousa», pizza and beer. Oh, Shelly and I had non-alcoholic drinks. :D

Developers Conference day 2

The post DevConMru 2016, day 2 – Linux Installfest appeared first on HACKLOG.

Tagged as: No Comments
20May/160

Developers Conference 2016 – Day 1

Posted by Ish

The Developers Conference 2016 kicked off today with a keynote address by Jochen Kirstätter. I reached Voilà Hotel just a few minutes late, didn’t miss much of the opening ceremony. Jochen was still talking about the Mauritius Software Craftsmanship Community. He made the usual distinction of why «software craftsman» as he went on explaining that one needs to keep on practicing one’s skills, refining them just as a carpenter would do with woodwork.


Jochen spoke about celebrating three years of the MSCC and the two hundred meetups organized; mainly Code & Coffee sessions. He then mentioned the creation of Agile Media Ltd, a private company to give a «legal form» to MSCC. I’m sure more would be popping up in the coming meetups. Aww! There was also mention of a .mu domain for MSCC that could be happening soon. No ETA announced though.

There was a networking break and we were back for a session on «user groups in Mauritius».

Folks from the PHP Mauritius User Group talked about their passion. Wasseem and Nadheer related their experience/adventure on how they met the «don» of the PHP world.



Logan and Selven from hackers.mu talked about their passion for hacking. Selven, co-founder of the group, gave an introduction and highlighted aims of the group; which is to provide code/patches upstream in Open Source projects and make Mauritius known in the FOSS world.

The hackers.mu team at the Developers Conference 2016

The hackers.mu team at the Developers Conference 2016

I was next to speak about the Linux User Group of Mauritius, the community and why be there. I had no slides but just a quick story to relate why I am in the group and if that could motivate someone to join the group and spread «Linux love» then I’ll assume «mission accomplished».


Ajmal Dookhan, a passionate fellow, whom I also met during the WTISD 2016, recorded a few seconds from my LUGM experience. Thanks buddy. :D

The lunch time is another moment for networking. Ajmal, Pritvi, Akasha, Yash and I headed to Panarottis. The geek chat continued there for like an hour and we rushed back to attend other presentations. I met the LSL Digital team who just had a pizza lunch too.


I attended a «jumpstart session on PHP» presented by Pierre-Alexandre.


Pierre-Alexandre went through the thinking process & planning of a simple personal blog written in PHP. In his next two sessions on Saturday and Sunday, he surely will dive deeper in the code.

Developers Conference is also time to meet up old friends. Shared some more geek time with my ex-colleagues and distributed some openSUSE stickers.



I went to Bagatelle Mall, grabbed a coffee from Vida-e-Cafe, while talking to friends and we came back for the last presentation of the day; which was on AngularJS 2, presented by Yashin.

I reached home at 18h45, exhausted but happy after a wonderful day.

The post Developers Conference 2016 – Day 1 appeared first on HACKLOG.

20May/160

Developers Conference 2016 – Day 1

Posted by Ish

The Developers Conference 2016 kicked off today with a keynote address by Jochen Kirstätter. I reached Voilà Hotel just a few minutes late, didn’t miss much of the opening ceremony. Jochen was still talking about the Mauritius Software Craftsmanship Community. He made the usual distinction of why «software craftsman» as he went on explaining that one needs to keep on practicing one’s skills, refining them just as a carpenter would do with woodwork.


Jochen spoke about celebrating three years of the MSCC and the two hundred meetups organized; mainly Code & Coffee sessions. He then mentioned the creation of Agile Media Ltd, a private company to give a «legal form» to MSCC. I’m sure more would be popping up in the coming meetups. Aww! There was also mention of a .mu domain for MSCC that could be happening soon. No ETA announced though.

There was a networking break and we were back for a session on «user groups in Mauritius».

Folks from the PHP Mauritius User Group talked about their passion. Wasseem and Nadheer related their experience/adventure on how they met the «don» of the PHP world.



Logan and Selven from hackers.mu talked about their passion for hacking. Selven, co-founder of the group, gave an introduction and highlighted aims of the group; which is to provide code/patches upstream in Open Source projects and make Mauritius known in the FOSS world.

The hackers.mu team at the Developers Conference 2016

The hackers.mu team at the Developers Conference 2016

I was next to speak about the Linux User Group of Mauritius, the community and why be there. I had no slides but just a quick story to relate why I am in the group and if that could motivate someone to join the group and spread «Linux love» then I’ll assume «mission accomplished».


Ajmal Dookhan, a passionate fellow, whom I also met during the WTISD 2016, recorded a few seconds from my LUGM experience. Thanks buddy. :D

The lunch time is another moment for networking. Ajmal, Pritvi, Akasha, Yash and I headed to Panarottis. The geek chat continued there for like an hour and we rushed back to attend other presentations. I met the LSL Digital team who just had a pizza lunch too.


I attended a «jumpstart session on PHP» presented by Pierre-Alexandre.


Pierre-Alexandre went through the thinking process & planning of a simple personal blog written in PHP. In his next two sessions on Saturday and Sunday, he surely will dive deeper in the code.

Developers Conference is also time to meet up old friends. Shared some more geek time with my ex-colleagues and distributed some openSUSE stickers.



I went to Bagatelle Mall, grabbed a coffee from Vida-e-Cafe, while talking to friends and we came back for the last presentation of the day; which was on AngularJS 2, presented by Yashin.

I reached home at 18h45, exhausted but happy after a wonderful day.

The post Developers Conference 2016 – Day 1 appeared first on HACKLOG.

21Apr/160

World Creativity and Innovation Day

Posted by Avinash Meetoo

20160421-panelists

Every 21 April, we celebrate the World Creativity and Innovation Day in Mauritius.

This year, the Mauritius Research Council organised a workshop on Creativity and Innovation and the the ICT Advisory Council, which I preside, was given a slot of 30 minutes. I quickly prepared a few slides like I like them to be (beautiful, memorable and witty) and I asked Logan Velvindron and Ish Sookun, both members of the ICT Advisory Council, to join me in a panel on Creativity and Innovation among Youth.

20160421-albert-einstein

The first topic was about having fun when learning and creating. I mentioned that school and teachers can be boring, especially in our age of having Wikipedia and YouTube in our pockets. I said that it was time for our education system to become fun again, where young people can enjoy creating and learning a lot of new things in the process. Both Ish and Logan explained how fun they have everyday at work and how important this is for them.

20160421-steve-jobs

The second topic was about not to be afraid to be different. In Mauritius, we have a culture of conformism. Women have specific roles to play. Kids also. And, of course, everyone should remain at his place. This is bullshit! Our world is created by people who think differently and who are not afraid to take risks and disrupt existing establishments… Logan and Ish told the audience how they discovered computers, decided to become geeks and do things differently from others. They were very thankful to have supportive parents who didn’t try to impose anything on them.

20160421-linus-torvalds

The third topic was about being a geek and the value of open source software for a country like Mauritius. I explained that open source software is free and this is very important for Mauritius which is not a very rich country. But I also explained how having access to the source code of software is essential for Computer Science teachers like me to create the new generation of top programmers which Mauritius will need in the future. Young people cannot learn complex programming just by reading a book or listening to a teacher: they need to see real source code of real complex software. Logan and Ish explained how they got involved in open source software and how we all now form part of organisations such the Linux User Group of Mauritius and Hackers.mu and the value those organisations have.

20160421-sheryl-sandberg

The last topic was about being a doer rather than a talker and that aiming for perfection, while sometimes a good thing, can sometimes prevent us from achieving. This is something I have noticed over the years in Mauritius: we love our committees. Doers are not revered though. This mentality has to change. I told the audience that we are as good as anyone from anywhere, whether it is the USA or France or India. But we should stop focusing on doing speeches. We should identify small but important problems and find feasible solutions for them.

After the panel, I got a question from Anibal Martinez who is collaborating with the Government to set up an incubator. He asked me how we can solve the Computer Science education issue in Mauritius.

I told him that in the short term, a lot can be done with ad-hoc training courses, such as the ones that I provide at Knowledge Seven. But this is not a viable model for the country. In the medium to long term, state-funded universities should find a way to revamp their Computer Science departments, which are absolutely substandard at this moment, to produce an adequate number of very competent computer scientists every year. The industry is ready to move up a level but there are not enough competencies.

Thanks to Ish and Logan for participating in the panel.

21Apr/160

World Innovation Day celebrated by the Mauritius Research Council

Posted by Ish

The Mauritius Research Council (MRC) organized a full-day seminar on Innovation and Technopreneurship to commemorate the International Day for Creativity and Innovation. I received an email on the 13th of April 2016 from the Mauritius Research Council with the invitation and draft programme attached. Shortly afterward the Chairperson of the ICT Advisory Council, Avinash Meetoo, emailed saying that the Mauritius Research Council would like to have us as panelists for a discussion on creativity and innovation among youth. It was decided that three members of the ICT Advisory Council will be among the panelists, Loganaden Velvindron, Avinash Meetoo and I; while Avinash will also chair the panel.

We needed a group presentation and the great thing about email brainstorming is that it did not require us to meet personally to decide what to present and how. I proposed I’d need a 5-mins quick presentation to talk on creativity and maybe we could have something just running in the background. Avinash proposed a few slides with quotes to just run there while we’d present. He prepared the slides. A Great touch, that work was.

How to manage a full-time job with community activities?

If you’d read this page on the website of the Ministry of Technology, Communication and Innovation, you’d notice that on the council I represent the interests of consumers, purchasers and users of ICT services. Being a council member isn’t a full-time job neither a paid one. It’s more a voluntary activity that you accept for the sake of sharing ideas that could shape the ICT landscape of the country. I deliberately say “could” and not “would”. More on the “functions” of the ICT Advisory Council can be found under Section 35 of the ICT Act 2001. Attending the meetings of the council and related activities/events requires time. How to manage? Support from one’s employer helps a lot and I thank La Sentinelle Digital for granting me permission to attend to such activities; be it government or community related.

The seminar

The seminar happened at the Mauritius Sugarcane Industry Research Institute (MSIRI), Réduit. I could only reach there by 13h00 since I had some work-related activity in the morning. When I arrived at the MSIRI, Mr Moonegan from Ceridian Mauritius was presenting “innovation in the ICT sector”. The presentation was reaching its end. Right after that there was the lunch break; but I already had lunch, so I only looked for a bottle of water and met a few people around. I met Jay, an old acquaintance from the education & professional training sector; maybe we were meeting after years. We had a nice chat. Then I saw Elizabeth from Turbine Mauritius and we had an interesting chat on entrepreneurship and the local culture. As we were still exchanging ideas, Jessica joined the chat. That was great, I was meeting a lot of cool people after quite some time. Arnaud Meslier, another cool fellow from Microsoft Indian Ocean & Microsoft Student Partners was there and we talked about the recent Global Azure Bootcamp. I also met Vincent and Louis from ICT.io. In short, networking was fun. :D

Then just as we would resume the workshop, Avinash and I discussed a bit about how we’d proceed with the panel discussion. Yes, we were next.

Mauritius Research Council

Avinash projected the slides, we had no more than four, and started the discussion about having fun in what we do; while sharing a quote by Einstein that says “creativity is intelligence having fun”. He turned to me and asked how do I have fun while working? My answer could not be brief. Being a Linux System Administrator, it often comes to me that I have to explain to people the nature of the work. I replied I started having fun with Linux more than 10 years ago without ever thinking it could have anything to do with my career. Then I find myself landing on a Linux career path and I am still having fun as I did years ago.

Avinash was a good sport as he hosted the talk and triggered discussions in the right direction while we moved through the next three slides with quotes by Steve Jobs, Linus Torvalds and Sheryl Sandberg. I also got to speak about the Linux User Group of Mauritius.

Having an appointment at 16h00, I left the workshop after the panel discussion. It was fun to be there and great to network with fellows.

The post World Innovation Day celebrated by the Mauritius Research Council appeared first on HACKLOG.

19Apr/160

Setting up a quiet auto-update for openSUSE

Posted by Ish

I was having a discussion about openSUSE with a colleague when he questioned me on software updates that just run silently in the background. I replied that yes, it’s possible, in fact on the command line one may use the --non-interactive flag with zypper.

Otherwise, open YasT > Online Update and at the configuration window select Configuration > Online Update.

Auto-update for openSUSE

As shown in the above screenshot, check the “automatic online update” and finally select “skip interactive patches” and “agree with licenses”. You may set the update frequency to daily or weekly, as it suits you. Selecting “delta rpms” ensures that less bandwidth is used as delta packages contain only the difference between the old and new package rather than having to download whole packages every time a software has a version change.

That’s it. Your system should now update quietly in the background.

The post Setting up a quiet auto-update for openSUSE appeared first on HACKLOG.

Filed under: LUGM, openSUSE, Zypper No Comments
19Apr/160

Big news ahead

Posted by logan

We will be present together with Avinash Meetoo at the world innovation day !

Filed under: News No Comments