• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Avinash Meetoo

Avinash Meetoo

Let us build a Smart Mauritius together

  • Home
  • About
  • Curriculum Vitae

Mauritius needs its exceptional programmers

13 December 2015 By Avinash Meetoo 11 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: Art, Computing, Education, Future, Science, Society, Technology

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: Computing, Education, Technology

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: Computing, Education, Science, Society, Technology

  • « Go to Previous Page
  • Page 1
  • Interim pages omitted …
  • Page 39
  • Page 40
  • Page 41
  • Page 42
  • Page 43
  • Page 44
  • Go to Next Page »

Primary Sidebar

Search

I am proud of

My family
My company
My music
My photos

I am active on

Facebook
FB Page
Twitter
LinkedIn
Reddit
Hacker News
Stack Overflow
GitHub
Wikipedia
YouTube
IMDB
Last.fm

All posts

  • April 2025 (1)
  • March 2025 (1)
  • February 2025 (2)
  • January 2025 (4)
  • December 2024 (4)
  • November 2024 (2)
  • October 2024 (1)
  • September 2024 (4)
  • July 2024 (1)
  • June 2024 (1)
  • May 2024 (4)
  • March 2024 (1)
  • February 2024 (1)
  • January 2024 (1)
  • December 2023 (2)
  • November 2023 (2)
  • October 2023 (2)
  • August 2023 (2)
  • July 2023 (3)
  • June 2023 (3)
  • May 2023 (4)
  • April 2023 (1)
  • March 2023 (3)
  • January 2023 (1)
  • December 2022 (1)
  • November 2022 (5)
  • September 2022 (2)
  • June 2022 (2)
  • May 2022 (1)
  • April 2022 (1)
  • January 2022 (3)
  • November 2021 (1)
  • September 2021 (1)
  • June 2021 (3)
  • April 2021 (1)
  • February 2021 (1)
  • January 2021 (2)
  • November 2020 (1)
  • October 2020 (1)
  • September 2020 (1)
  • August 2020 (1)
  • May 2020 (1)
  • April 2020 (3)
  • March 2020 (4)
  • January 2020 (1)
  • July 2019 (1)
  • June 2019 (1)
  • April 2019 (2)
  • January 2019 (1)
  • December 2018 (3)
  • November 2018 (1)
  • September 2018 (1)
  • August 2018 (1)
  • April 2018 (1)
  • December 2017 (1)
  • November 2017 (1)
  • October 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (1)
  • March 2017 (1)
  • February 2017 (1)
  • August 2016 (1)
  • July 2016 (1)
  • June 2016 (3)
  • April 2016 (3)
  • March 2016 (3)
  • February 2016 (1)
  • December 2015 (1)
  • November 2015 (1)
  • October 2015 (1)
  • August 2015 (5)
  • June 2015 (1)
  • September 2013 (2)

Copyright © 2025 by Avinash Meetoo · Shared under an Attribution 4.0 International Creative Commons license · Log in