• 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

Computing

A Brief History of Programming (and my journey)

28 November 2022 By Avinash Meetoo Leave a Comment

On Wednesday 23 November, I made a one hour talk on “A Brief History of Programming” and my own journey as a programmer. It was during Developers Conference 2022.

I did not know that my talk would take place in the large amphitheatre of the Caudan Arts Centre. In some ways, this made it more of a TED-talk than a normal presentation among geeks. And, being the first talk in the morning at 9:00, there were not many people attending… But this was a blessing in disguise because it made my talk more interactive where I had the opportunity to ask questions to the people who came, many of whom I knew personally.

There are many programming languages and they can broadly be classified into programming paradigms according to the features they have. The most popular paradigms are procedural, object-oriented and functional but many others exist.

Over the years, some programming languages became more popular than others (for many reasons). It is not because people are raving about Swift, Kotlin, Go or Rust today which this means than there will not be new programming languages in the future. And this, of course, does not mean that the likes of LISP, C, Java or C# can be discarded.

One essential aspect of learning programming is that it takes time and one needs to know many different paradigms if he/she wants to be a good problem solver (as different problems need to be tackled from different perspectives). Peter Norvig, the Director of Research at Google, put it nicely.

The point is to learn at least half a dozen different programming paradigms over 10 years.

My own journey as a programmer

My parents bought our first computer in 1988 when I was 15. I had discovered programming when I was 12-13 but, because I didn’t own a computer, I programmed “on paper”. I had a big notebook with pages and pages of algorithms in some kind of pseudocode.

Here are some slides from my presentation which basically tells my story as a programmer but also as someone who loves to try new programming languages and paradigms on a regular basis.

and today I am still learning and having fun with Elixir, Go, Julia and Rust.

Key takeaway: Never stop learning… and having fun in the process.

(Thanks to Amal Bholah for the photos.)

Filed Under: Computing, Education, Science, Technology

My keynote speech at the UoM Research Week 2022

9 November 2022 By Avinash Meetoo Leave a Comment

The opening of the University of Mauritius 2022 Research Week was on 7 November and I made a keynote speech on that day. The other keynote speakers were Aruna Radhakeesoon, Sudhamo Lal, Viv Padayatchy and Paramasivum Vyapoory.

The theme of my keynote speech was “SDGs and Innovation for the Educational Technologies sector in Mauritius”. I had been invited by the Centre for Innovative and Lifelong Learning (CILL) of UoM.

I started with the Mauritian context. We want the country to be green (e.g. moving to 60% of renewable energy from the 27% we are today), (fully) inclusive and rich (high-income) in eight years and this requires everyone to chip in.

Problems are immensely complex now and academics are the kind of people with the proper mental aptitudes to comprehend them and provide solutions to them.

But they need to form multidisciplinary teams as any complex problem tend to be multi-faceted. Furthermore, the typical academic (I was one!) tend to do research by creating small toy solutions. These are not scalable in general and are not useful when solutions need to be found for the whole country.

Academics have this wonderful opportunity to think bigger and really contribute to the development of the country.

One of the things that academics can do is to help make sense of the Sustainable Development Goals Framework of the United Nations. These are not only 17 terms but also detailed explanations of each of the 17 SDGs, events being organised, a lot of publications containing best practices and current news.

Academics are the ones who can take this enormous amount of information and condense it in such a way for policy makers to be able to make good decisions. Academics (with their bright students) can be an essential layer in the advisory system of Government (but also for the private sector and civil society).

The United Nations Development Programme (UNDP) has adopted a new Strategic Plan for 2022-2025 which relies on 3 major directions of change: building resilience (following COVID-19), making sure not to leave anyone behind (I did mention that we are killing our Einsteins every year by neglecting poor neighbourhoods…) and this requires structural transformation (especially in education and in governance).

UNDP has also identified 3 major enablers to help in providing solutions: digitalisation, innovation and development financing. Development financing is very important given that Mauritius is considered to be a (relatively) rich country and that we will need to stop relying on outside money for development (as they can stop coming anytime).

The population is ageing and our workforce is not yet ready for the jobs of the future. We need more and better people(ware). We need to train our young (and not young) people properly. We need to bring back the diaspora and incite foreigners to come. One key element is to have better knowledge transfer mechanisms. Everyone learning should be able to learn from experts in the field and not only in class.

We need people who are good in STEM (Science, Technology, Engineering and Maths). But these hard skills are not enough. To solve complex problems, we need people who are also good in soft skills such as creative thinking, communication, being artistic, etc.

The question is how to do create a critical mass of such people: good in hard skills and soft skills. Good at listening. Good at understanding. Good at sharing. And being artistic enough to know what is really important.

This is where Educational Technologies can help.

Schools were invented when factory workers were needed. Today we need knowledge workers and it makes sense to have personalised learning. I dream of a system where the 1.3 millions of Mauritians and Rodriguans can learn different things at different paces.

Another aspect is lifelong learning. The world is changing fast and people need to constantly adapt. Upskilling and reskilling are part and parcel of our lives today and this is not yet reflected in our education system.

YouTube is competing with academics and the latter need to fight for attention. Learning at the university needs to become more enjoyable for the learner.

And, finally, we need to make sure not to leave anyone behind. The University of Mauritius need to understand that it is a key institution of the country with a formidable mandate: identify and amplify the very best among the population. The university needs to move “outside” its Réduit campus.

And I ended by saying that the contribution of academics counts (a lot). Together, we can build a new version of Mauritius, a better one.

[A few days later, I would read an article on Ancient Greek philosopher Aristotle who believed we should define ourselves less by our work, and more by our leisure activities. As from now, if people ask, I’ll them them I do music and photography…]

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

System design is dealing with complexity

2 November 2022 By Avinash Meetoo Leave a Comment

“Engineering the illusion of simplicity” in Grady Booch’s book “Object-Oriented Analysis and Design with Applications”.

All simple problems have essentially been solved. What remain are complex problems, with thousand of movable parts and very difficult to satisfy end-users. Consequently, creating (and maintaining) software to solve these complex problems has become incredibly hard…

I have to admit that things were easier when I started learning and practising software engineering in the 1990s. Thirty years later, teaching, learning and doing software development, based on sound engineering and system design principles, are not easy and need courage and energy.

This being said, I am happy to share this formidable course / article with all of you who want to take the challenge: System Design: The complete course by Karan Pratap Singh.

Karan Pratap Singh is a Software Engineer in San Francisco. Previously, he worked in Washington D.C., London and New Delhi.

As I always say, I am a Computer Scientist but I don’t like the term “Computer Science”. What I do is neither about computers (in the same way that surgery is not about the scalpel) nor is a science (as a science describes some part of reality). Rather, I prefer the term “Informatique” (in French) or “Informatics” which say that what is important is the flow of information.

But, maybe, there is another way to look at “Informatics”: it is about dealing with complexity.

For example, let’s say that you need to build a “system” which NEEDS to work 24/7. This obligatorily means that the system needs to have redundancy (one computer might fail) and needs some kind of load balancing (to which computer to assign the work to be done?) and, probably, some synchronisation issue to deal with. In practice, there will be 100s of other aspects to take care of if one wants to build a fully functional system.

Hence, the importance of this fantastic “System Design” course.

Go through the course topic by topic. Discuss with people who are already conversant in them. Read articles online. Rinse and repeat.

After some weeks (or months), you will become a much better system designer. And, most importantly, you will be the one with the knowledge and skills to provide software solutions to the complex problems which real people are facing.

Enjoy (and don’t hesitate to ask me questions if there is something you don’t understand). I’ll try to answer ?

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

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Interim pages omitted …
  • Go to page 16
  • 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

A few posts at random

My interactive session on Innovation during Infotech / Innovtech 2017

50 Fraz pou 50 an Lindepandans

How to Succeed Overnight in Ten Years

All posts

  • March 2023 (1)
  • January 2023 (1)
  • November 2022 (5)
  • September 2022 (2)
  • June 2022 (2)
  • May 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 (2)
  • September 2018 (1)
  • August 2018 (1)
  • April 2018 (1)
  • January 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 (1)

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