Avinash Meetoo

Let's make Mauritius smart

  • Home
  • About

Recent Posts

  • Mauritius needs its exceptional programmers
  • Being good before actually starting university
  • Infotech 2015: more interesting than I expected
  • Mauritius Vision 2030
  • 25 Hottest Skills according to LinkedIn

Powered by Genesis

Mauritius needs its exceptional programmers

13 December 2015 By Avinash Meetoo 4 Comments

Marc Andreessen, co-founder of venture capital firm Andreessen-Horowitz and of Netscape argues that software is eating the world:

Today, the world’s largest bookseller, Amazon, is a software company. The largest video service by number of subscribers is a software company: Netflix. Today’s dominant music companies are software companies, too: Apple’s iTunes, Spotify and Pandora. Today’s fastest growing entertainment companies are videogame makers—again, software. The best new movie production company in many decades, Pixar, was a software company. Disney—Disney!—had to buy Pixar, a software company, to remain relevant in animated movies. Photography, of course, was eaten by software long ago.

Today’s largest direct marketing platform is a software company—Google. Today’s fastest growing telecom company is Skype. LinkedIn is today’s fastest growing recruiting company. In today’s cars, software runs the engines, controls safety features, entertains passengers, guides drivers to destinations and connects each car to mobile, satellite and GPS networks. Practically every financial transaction, from someone buying a cup of coffee to someone trading a trillion dollars of credit default derivatives, is done in software.

Health care and education, in my view, are next up for fundamental software-based transformation.

Software is, of course, created by competent programmers and the best software, those which we use every day and cannot live without, are created by exceptional programmers.

Paul Graham, co-founcer of Viaweb (which became Yahoo! Store) and Y Combinator, says the following about exceptional programmers:

There is a huge variation in ability between competent programmers and exceptional ones, and while you can train people to be competent, you can’t train them to be exceptional. Exceptional programmers have an aptitude for and interest in programming that is not merely the product of training.

The reason why exceptional programmers cannot be trained is because programming is an art as stated by the World Intellectual Property Organisation:

Copyright (or author’s right) is a legal term used to describe the rights that creators have over their literary and artistic works. Works covered by copyright range from books, music, paintings, sculpture, and films, to computer programs, databases, advertisements, maps, and technical drawings.

As we all know, it is quite possible to become a competent artist (whatever the art): you need to start early and put in years and years of effort. For example, a lot of the music we hear today is being done by quite competent artists.

Mauritius needs a lot of very competent programmers. Or else, as Marc Andreessen mentions, nothing will work. In a certain way, we are more reliant on technology than other countries: we are far from everything and the population is tiny.

According to my observations, tertiary level education in Computer Science is substandard in Mauritius. Those who are responsible for this should go and be replaced by more competent people who have understood the importance of Computer Science for the country.

I am not speaking of cosmetics: a revolution in teaching is needed if we want to have a critical mass of competent programmers to make the country function in the coming years.

Who are the exceptional programmers?

As mentioned by Paul Graham, “exceptional programmers have an aptitude for and interest in programming that is not merely the product of training.” Most of them discovered programming by accident when they were kids and were immediately hooked. They understood everything and always wanted to know more. A lot of them became avid book readers and some even went to university to study Computer Science (but this is not a requirement to be exceptional — especially in Mauritius). Here is what Peter Norvig, Director of Research at Google, says about how to become truly exceptional in ten years:

(1) Get interested in programming, and do some because it is fun.

(2) Program. The best kind of learning is learning by doing.

(3) Talk with other programmers; read other programs.

(4) If you want, put in three or four years at university. “Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter” says Eric Raymond.

(5) Work on projects with other programmers.

(6) Work on projects after other programmers.

(7) Remember that there is a “computer” in “computer science”. Know how a computer works and how long it takes for different kinds of operations.

(8) Learn at least a half dozen programming languages.

etc.

What programming languages to learn?

Peter Norvig advises to learn one language that emphasizes class abstractions (like Java or C++), one that emphasizes functional abstraction (like Lisp or ML or Haskell), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), and one that emphasizes parallelism (like Clojure or Go).

My personal selection as of 13 December 2015 would be:

  • Class abstraction: Java.
  • Functional abstraction: Haskell.
  • Syntactic abstractions: LISP because of its reader macros or even Ruby because of macros or DSL.
  • Declarative specifications: Prolog.
  • Parallel abstraction: concurrency in Rust or Erlang.

To that list, I would add Python, which can be used for mostly everything and is slowly becoming one of the most important programming languages on the planet.

I’ll also add (thanks to Suyash for pointing this out) that Javascript is also a very important programming language to know. A few years ago, Steve Yegge of Google gave a list of features that the next big programming language should have and Javascript ticks most of (all?) the boxes. Javascript runs in the browser so there is nothing to install and, with powerful libraries such as jQuery, React or AngularJS, the sky is really the limit.

Do we have exceptional programmers in Mauritius?

Yes.

According to Paul Graham, 5% of the population of any country have the aptitudes to be exceptional in programming. This means that there are potentially 65,000 exceptional programmers among us.

Are they all programmers? No.

Given the pathetic state of our education system, I would argue that a substantial number of the 65,000 have failed their CPE exams and are now working in an atelier bicyclette somewhere.

I have been teaching programming for more that 15 years now at tertiary level and at Knowledge Seven and, up to now, I have stumbled upon maybe 50-100 exceptional programmers.

I wonder where the 65,000 are. I know they exist.

I wonder whether it is still possible to make them discover each other and start creating things together?

What do you think? What would you do?

Filed Under: Society, Education, Science, Technology, Art, Computing, Future

Being good before actually starting university

18 November 2015 By Avinash Meetoo Leave a Comment

20151118-cu-amiga-1992-06

Commodore was a big company in 1992, the Amiga was selling like hot cakes and there were a lot of magazines devoted to this wonderful machine (including CU Amiga pictured above with one of my favourite covers ever — don’t ask why).

At that time, there was no Internet in Mauritius but there were (real) libraries where I could borrow (real) books on computer programming and software design. The best was the British Council library which, unfortunately, does not exist anymore as a library.

Being 19 in 1992, I obviously played games on my Amiga computer but I was not a big gamer: I got bored only after half an hour.

What I like doing was geeky stuff. Things like using utility software to tinker with the hardware and the data on disk. I loved writing programs, first in BASIC then C and Assembly. I actually did quite a lot of Assembly programming on the Amiga and I loved the Motorola 68000 processor it had.

So much so that when I finally got to university in 1993, I was already a very good programmer and I knew hardware pretty well. I actually found university, at least the computer science part, quite straightforward and satisfying.

Studying in 2015

I have noticed something lately. Most students are not very good in computer programming when they start university. Of course, a good proportion manage to grasp it rather quickly (some, not so quickly…) and succeed very well.

But my point is that it has been a long time since I started a first year university class and one student tells me: “Mr Meetoo, I look forward doing advanced stuff with you because, well, I already know the basics and, ahem, quite a lot of the more esoteric, yet interesting, aspects.”

I hope to hear that next week when I start a new class with 1st year SupInfo students.

Filed Under: Education, Technology, Computing

Infotech 2015: more interesting than I expected

2 October 2015 By Avinash Meetoo 2 Comments

 

Yesterday, my wife and I together with my two kids (13 and 11 yo) visited Infotech. I was not expecting much but, to be honest, this edition of Infotech is more interesting than I expected. Some of the noteworthy gadgets or technologies to discover are:

  • Robots: Logan Velvindron (of LUGM) and Chris Gunnoo (Computer Studies teacher at Saint-Esprit College) were demonstrating various kinds of robots (The Finch controlled with Scratch, one built using an Arduino board and capable of drawing, etc.) Chris is really passionate about explaining computer science to kids and I’m happy that my son will (most probably) have him as teacher next year.
  • 3D Printers: 2016 is finally going to be the year of 3D printing in Mauritius. We talked to people from two companies who were demonstrating 3D printers. They explained how to create 3D models by using software such as SketchUp (which is free) or Blender (open source software). Once the 3D model is created, it can be sent to any 3D printer by using software such as MatterControl, ReplicatorG or OctoPrint (all of them open source software, hence free).
  • Large touch screens: Imagine kids in kindergartens using a tablet as a table. Or a tablet two meters wide and affixed on a wall. Or even a transparent window with superimposed images and which responds to touch. This is what we saw yesterday and, while the kids were happy to play Fruit Ninja on a 40″ screen, my wife and I were more interested in the potential of this kind of technology for learning as well as for teaching (using the Open Sankoré software for example).
  • Segways (or, more precisely, good imitations…): Both my daughter and my son enjoyed riding a segway for the first time in their lives. They had no difficulty in learning the basics and, after just one minute, were happily driving (for lack of a better word) in the exhibition hall. I promise: next time I’ll try.
  • Virtual Reality by EON Experience: The idea is for a group of people to wear 3D glasses and watch a 3D movie projected on all walls as well as on the floor. This is quite a nice effect in itself. Now, one of the participants, who wears a special type of 3D glass (worn by my son in one of the photos above), controls the point of view of the camera with which the movie is being shown. By moving his head, my son could change the direction of the camera and the movie was being modified in real-time. Very very cool. One of the demos showed Saturn and, for example, by sitting down, one could see under the ring while, standing up, one sees above the ring. Of course, the system requires specially made movies and this is what EON Reality, the company behind EON Experience, does. The demo was done on the Mauritius Telecom stand.
  • Miscellaneous gadgets: drones (both for amateurs and for professionals), handheld camera stabilizers + smartphones, tablets and computers (of course…)

There was also a part where recruitment was being done most notably by Amazon for its Web Services team. I had a very nice conversation with Chris Perkins, from their Cape Town office, and he is actively looking for Linux experts.

All in all, we spent two hours at Infotech 2015 and, for the first time since ages, we felt we didn’t waste our time.

Filed Under: Society, Education, Science, Technology, Computing

Mauritius Vision 2030

20 August 2015 By Avinash Meetoo Leave a Comment

20150820-mauritius-vision-2030

According to L’Express, in two days, the Prime Minister will announce the creation of a high-powered committee whose mission will be to propose a strategic plan entitled Vision 2030 for Mauritius.

What is this Vision 2030?

In addition to smart cities, it seems that the Prime Minister will also announce the creation of technology parks, new developments in the port area, more emphasis on ICT and financial services, the adoption of an ocean economy, more projects for tourism and the continued enhancement of the airport.

Human resources are not mentioned at all in the article. I am very curious to see what the Prime Minister will announce concerning this important aspect as we all know that the implementation of any vision require skilled people for it to be successful.

Let’s wait until Saturday and I’ll update the post accordingly.

Filed Under: Finance, Society, Education, Technology, Future

25 Hottest Skills according to LinkedIn

20 August 2015 By Avinash Meetoo Leave a Comment

20150820-the-25-hottest-skills-of-2014-on-linkedin

In December 2014, LinkedIn analyzed the skills and experience data in over 330 million LinkedIn member profiles to answer the question “Who’s getting hired and what are they doing?”. The above image shows the 25 Hottest Skills of 2014. Maybe a better way of looking at things would be to put these jobs in different categories to try to answer “Who’s getting hired and what field they are getting in?”:

Information Technology – Data Science

  • Statistical Analysis and Data Mining
  • Business Intelligence
  • Data Engineering and Data Warehousing
  • SAP ERP Systems

Information Technology – Infrastructure

  • Middleware and Integration Software
  • Storage Systems and Management
  • Network and Information Security
  • Mac, Linux and Unix Systems
  • Virtualization
  • Shell Scripting Languages

Information Technology – Software Development

  • Mobile Development
  • Web Architecture and Development Framework
  • Algorithm Design
  • Perl/Python/Ruby
  • Java Development

Information Technology – User Experience

  • User Interface Design
  • Computer Graphics and Animation
  • Game Development

Digital Marketing

  • SEO/SEM Marketing
  • Marketing Campaign Management
  • Digital and Online Marketing
  • Channel Marketing

Other

  • Recruiting
  • Economics
  • Integrated Circuit (IC) Design

20150820-separator

It is clear that Information Technology rules supreme. 72% of the jobs are IT jobs in data science, infrastructure, software development and user experience. We can even argue that all the digital marketing jobs as well as IC design are in IT increasing the proportion to 92%.

This also means that schools and universities will have to adapt to provide classes in these high-demand fields for the sake of the young people currently studying but also for the enterprises in Mauritius as well as the country as a whole.

Let’s hope they do. Signs are not very encouraging though with, for example, the University of Mauritius being still stuck in the 20th century. What do you think?

Filed Under: Society, Education, Science, Technology, Computing

A Supercomputer for Mauritius

14 August 2015 By Avinash Meetoo 2 Comments

20150814-tianhe-2

(Tianhe-2, the most powerful supercomputer. China.)

For the past few months, the Mauritius Research Council has been working on the setting up of a National Centre for High Performance Computing (CHPC) in Mauritius. As a member of the committee, I have been thinking a lot about the importance of having supercomputing facilities in Mauritius.

Why do we need supercomputers?

  • Supercomputers are immensely powerful computers which can be used to perform simulations of various processes. For example, supercomputers are used to simulate airflow on an aircraft wing, particle movement during a nuclear blast, the interaction between molecules during a chemical reaction or the movement of bodies in space. Without supercomputers, the cost of getting these insights would be prohibitively high. Supercomputers allow us to understand very complex processes without having to actually do them thanks to simulation.
  • Supercomputers, being so powerful,  are also used to perform brute force calculations. One good example is trying to predict weather. The meteorological station has a myriad of sensors everywhere measuring temperature, wind speed, humidity, etc. and, from these millions of data points, calculations need to be done in order to know what will happen next. The difficulty, of course, is to come up with a solution quickly enough for this information to be useful to us.
  • Supercomputers allow us to learn and leverage molecular dynamics. As explained on Wikipedia, “Molecular dynamics (MD) is a computer simulation of physical movements of atoms and molecules in the context of N-body simulation. The atoms and molecules are allowed to interact for a period of time, giving a view of the motion of the atoms. In the most common version, the trajectories of atoms and molecules are determined by numerically solving the Newton’s equations of motion for a system of interacting particles, where forces between the particles and potential energy are defined by interatomic potentials or molecular mechanics force fields.” The interesting part is that, once someone knows about molecular dynamics, he/she can apply the principle in different fields.

What will we have to learn?

  • A supercomputer is, in essence, a computer with thousands if not millions of processors instead of the few we have in our normal computers. In order to use the capabilities of a supercomputer to the full, it is important that software applications be written to work concurrently. This means that, when run on a parallel computer such as a supercomputer, the software can distribute work over the myriad of processors instead of running on one processor only. From a technical perspective, this is difficult to achieve. For instance, when using C or C++, this can be done by leveraging the Open MPI library. When developing in Java, one can use the Concurrency Utilities. Software developers will have to learn how to use these powerful features and this is harder than it looks because it requires a change in mindset: thinking parallel instead of sequential is hard. Interestingly, when I was a lecturer at the University of Mauritius, I taught Concurrency and Parallelism to final year students so I may have a few things to contribute at this level.
  • A supercomputer is, in essence, a massive cluster running Linux. As everyone knows by now, Linux has eaten the world. And this is especially true for supercomputers where Linux powers 97% of the world’s most powerful supercomputers. For example, the most powerful supercomputer in the world, Tianhe-2, runs Kylin Linux. The next one, Titan, runs Cray Linux. The third one, Sequoia BlueGene/Q, also runs Linux. And so on and so forth. This means that the setting up of a supercomputer in Mauritius will require the expertise of a number of Linux system administrators who are comfortable with clustering and parallelism. Interestingly, at Knowledge Seven, we provide the best Linux courses in Mauritius.
  • Finally, our researchers will have to think out of the box. Simple problems with their simple solutions do not require the use of supercomputers. In order to fully utilise the immense power of supercomputers, we will have to start thinking about solving the big problems. This will require researchers to move out of their respective silos and work together. Naturally, this is because big problems are generally multi-disciplinary. This change in mindset will take some time as we, in Mauritius, love our respective silos and their associated benefits…

20150814-linux-superman

Is there a risk?

Yes, as frequently in Mauritius, we tend to focus on the hardware and software and forget that the most important component is peopleware. If our decision makers, our researchers, our developers and our sysadmins do not know how to leverage a supercomputer, then it is useless to have one in the country, gathering dust and quickly becoming obsolete while costing millions.

To prevent this kind of situation, the Mauritius Research Council is organising an Awareness Workshop on High Performance Computing (HPC) in Mauritius from 26 to 28 August 2015 where those who might benefit from supercomputing will be able to talk with those who offer supercomputing solutions. I understand that invitations to participate in the workshop will be sent shortly. On Thursday 27 August from 11:15 – 12:15, I will moderate a session for various organisations who will be able to come and explain what problems they are trying to solve and how they intend to leverage supercomputing facilities in the future.

Filed Under: Society, Education, Science, Technology, Computing

Education is confusing

12 August 2015 By Avinash Meetoo 5 Comments

20150813-education-is-confusing

Today, Christina and I had an interesting conversation with a young man who has just finished studying Computer Science for the past three years.

We were a bit surprised when he mentioned that, even though he is now a degree holder and is looking for a job, he does not want to work in IT. In fact, he told us that he does not like Computer Science a lot.

Naturally we asked him why he chose to study Computer Science given that he had other areas of interest and his answer was revealing: “No one helped me choose and I chose badly!”

A lack of guidance

The professional world is becoming more and more complex. New jobs and career possibilities are being created on a daily basis. Unfortunately, young people are not being advised properly:

  • Some parents decide for their children without asking them what they are passionate about. I feel that some of the lawyers, doctors, accountants, and, now, finance people and computer scientists are not very happy in their profession. Of course, they might be getting a nice enough salary but nothing beats doing something which you like.
  • The career guidance service, which exists in principle in secondary schools, is outdated. As I wrote above, new jobs and career possibilities are being created on a daily basis. It is difficult to keep abreast of those changes. I can imagine that some of the career guidance officers (who have mostly never worked in the private sector) are quite at a loss when having to explain to young people the career prospects in, for example, statistical analysis, digital marketing, game design or artificial intelligence.

Education can be confusing

Education comes from a Latin word which means “going outside” metaphorically, in the sense that education should be about discovering new and interesting things every day.

Unfortunately, in Mauritius, education mostly means staying inside and getting a degree. My point is that a lot of young people go through years and years of schooling without ever uncovering what they really like and/or what they are very good at. Of course, this becomes problematic when they have to choose subjects at Form IV, Form VI and at university.

Mauritius is a small country and we cannot afford to have unhappy and unproductive lawyers, doctors, accountants, finance people and computer scientists instead of happy and productive statistical analysts, digital marketers, game designers and AI specialists (for example).

This needs to change. What do you think?

Filed Under: Society, Education, Technology

The Importance of Managing Money

7 August 2015 By Avinash Meetoo Leave a Comment

20150807-managing-money

ra·tion·al : based on or in accordance with reason or logic

It is public knowledge that quite a lot of Mauritian families are in debt, 75% of them it would seem (but I can’t find an official online source for that percentage).

According to me, this is partly because people are not taught the basics of finance when they are kids and, when they become adults, they sometimes become irrational in their behaviour and in their relationship with money. For instance, a lot of us buy things that we don’t need. There is fad at this moment in Mauritius to get an iPhone 6, a Samsung Galaxy S6 or a LG G4 at Rs 30,000 no matter whether we need such a powerful device (and can use it properly) or not. And, as you have surely noticed, Ébène is the cathedral of expensive clothes, shoes, cars and other gimmicks that don’t contribute one iota to our happiness levels but which cost a lot of money.

Fortunately, today, I overheard some people talking:

  1. One was explaining the mechanism of loans to his friends. He was telling them how compound interests worked. How it was rational to settle a loan early (if possible of course) so as not to pay a lot of interest. And, interestingly, he also mentioned that he had asked his bank to reduce his credit card limit in order for him to spend less every month.
  2. Crossing the road, I heard another guy having a phone conversation with a friend or a family member. He was explaining how irrational it was to buy something by contracting a debt. He was explaining that if he only had Rs 2500 and he had to buy something (hopefully useful) at Rs 5000, he would wait another month to have the Rs 5000 instead of buying through higher purchase (because of the very high interest rates).

I was amazed. My first impression that people lacked financial judgement was clearly wrong. Apparently, some of us are very rational as far as money is concerned. And these people are willing to share their knowledge with others.

This is a very good thing for the future of the Mauritian society.

What do you think?

Filed Under: Finance, Society

A Smarter Mauritius

30 June 2015 By Avinash Meetoo 10 Comments

20150630-smart-city

The talk of the town in Mauritius at this moment (apart from the various scandals) is the concept of the Smart City, which is nicely explained by this infographics available on the Board of Investment website. A Smart City and, by extension, a Smart Mauritius, has to have:

  • A Smart Environment where people can practice Smart Living (in other words, respect nature and live with less stress)
  • Smart Mobility (use the car only when needed and maximise public transportation and bicycles like in most occidental cities)
  • Smart Citizens who have been educated through Smart Education
  • A Smart Government (which is not only preoccupied with the next elections but rather the development and advancement of the country as a whole)
  • Smart Businesses (which can develop new products and enter new markets by innovating)
  • Smart Infrastructure (which can sustain and satisfy future demands)
  • and Smart Utility (so that the country does not suffer from brownouts or droughts in the future)

Naturally, it is not smart to believe that we can transform our country into a Smart Country just by bringing in some consultants and praying that building some morcellements and roads will suffice. The key to making Mauritius a Smart Mauritius is the population of the country.

Our education system needs to be drastically changed so that anyone who finishes schools (at any level: primary, secondary or tertiary) is a Smart Person:

20150630-intelligent

A Smart Person as shown above (courtesy of an infographics by the Huffington Post) is:

  • Intelligent
  • Brilliant
  • Knowledgeable
  • Intellectual
  • Competent
  • Innovative
  • Confident
  • Professional
  • and a bit Arrogant too (or is that Self-Belief?)

Personally, I am sure that our education system can be revamped to produce such Smart People provided we better use (in the good sense of the phrase) Smart Lecturers, Smart Teachers and Smart Educators, foreigners or not. In my opinion, there are a number of excellent educators in the country but we need to supplement them with excellent educators from abroad (like Singapore did in fact a decade ago).

Students need to be Smart Students too. They need to focus more on Knowledge, Skills and the Joy of Learning instead of going to tuition, passing exams and obtaining a certificate.

Focusing on STEM subjects (Science, Technology, Engineering and Maths) is also mandatory. The Smart World is a technological world and a country like Mauritius cannot afford not to have Science, Technology, Engineering and Maths professionals of sufficient caliber.

[Thanks to Sachin to bring art and culture to my attention: Developing the artistic talents and culture of the population, especially young people, is mandatory too. Like all humanists, I really think that everyone has the capacity to do wonderful things provided (1) she discovers and develops her talent and (2) she is given the possibility / opportunity to contribute, disrupt and bring much-needed changes.]

Is that too much to ask? What do you think?

Filed Under: Society, Education, Science, Technology, Art

About

29 June 2015 By Avinash Meetoo Leave a Comment

Hello.

My name is Avinash Meetoo and I live in Mauritius. When I was a kid, I was a computer geek and, when I grew up, I found it natural to study Computer Science (or, more precisely, Informatics.) After eight years of teaching at university level and despising what research has become, I decided to quit academic life and create my own company, Knowledge Seven, a Linux, Mobile and Web Agency in Mauritius.

I am a fan of Linux and Open Source Software and I founded the Linux User Group of Mauritius in 2000. My laptop runs Fedora Linux and it rocks. I also like Apple computers and I have a MacBook and an iMac. I love my Google Nexus 4 and my Nexus 7, beautiful Android devices.

I like to browse, blog, tweet and program. I also listen to music a lot and I compose too (I’ve released two albums…) I also like photography.

I am married to Christina and we have two kids: Anya and Kyan.

Filed Under: Post

I am proud of

My family at Noulakaz.net
My family
My company at Knowledge7.com
My company
My music at Last.fm
My music
My photos at Flickr
My photos

I am active on

My profile on Facebook
Facebook
My profile at LinkedIn
LinkedIn
My profile at Twitter
Twitter
My profile on Google+
Google+
My karma at Reddit
Reddit
My threads on Hacker News
Hacker News
My reputation at Stack Overflow
Stack Overflow
My profile at GitHub
GitHub
My contributions at Wikipedia
Wikipedia
My videos at YouTube
YouTube
My profile at IMDB
IMDB
My profile at Last.fm
Last.fm