#3. Becoming the Grand Geek (pt 3)
After 10 years in the UK I returned to Wits University in July 1989 as a Senior Lecturer in the Department of Electrical Engineering. In the first year back at Wits I taught digital electronics and microprocessor engineering, and then in 1991 was given responsibility for teaching programming to all second year mechanical, civil and electrical engineering students.
At that time almost everyone learning programming at Wits and at other universities around the world learnt a style of software decomposition called “functional” or “procedural” design. Wits Engineering students had been learning the language Pascal as their first programming language for many years. When I took over teaching the course I decided to drop functional programming and Pascal and introduce the exciting new approach to software decomposition I had been working with in the UK – “object oriented programming” (OOP) and “object oriented design” (OOD). I introduced the then new OOP language – C++. I also started running OOD courses for professional programmers working in industry. Anyone working in software development today will know that OO has become the dominant paradigm, but in the early 1990’s most people brought up in the “functional” world passionately resisted the adoption of OO. I guess that I can claim to have played a key role in bringing OO to the SA software industry in the early 1990s.
CART : CAD SOFTWARE TO SUPPORT MASS ELECTRIFICATION
My other major activity at Wits in the 1990’s focused on mass electrifi-cation. As I discussed in the last episode, bringing electricity to the homes of millions of black South Africans became one of the great development success stories of post-Apartheid South Africa. When I returned to South Africa in 1989 Eskom was in the process of launching a massive electrification programme. Between 1990 and 2000 the overall electrification rate in South Africa grew from 35% to 71%. Over 2.5 million homes were connected to the national grid. At its peak the electrification programme was connecting more than 1000 houses per day.
Soon after returning to Wits in 1989 I started working with a colleague in the Department of Electrical Engineering, the now late Alan Meyer. Alan was an expert in power systems and suggested that we join forces to develop software tools to support the national electrification drive. In 1992 both Alan and I were invited by the recently unbanned ANC to become participants in a multi-stakeholder initiative called NELF, the National Electrification Forum. Participating at NELF helped me to understand the many practical problems associated with Eskom’s ambitious electrification roll-out. Over the next 10 years Alan and I led a large research and development project focused on creating software in support of this programme.
It all came together for me in June 1998 when I attended a ceremony in a remote dusty township in Limpopo Province north of Pretoria. Dignitaries from the local and provincial government were gathered in a raggedy marquis tent close to the primary school. A number of Eskom managers and local staff were there. I was standing with Eric, the consulting engineer I had been working with. The VIPs sat under the tent and most of the rest of the residents of the township – more than a thousand – stood patiently in the sun as the VIPs took turns making long speeches. The smell of roasting meat filled the air. At last the speeches ended and a group of the VIPs accompanied by Eric and me walked over to a nearby house. The proud owner, an elderly woman dressed in her Sunday best and surrounded by several children, escorted us into her kitchen. Although it was midday the room was quite dark. On the kitchen table were a brand new electric kettle and a 2-plate stove. One of the Eskom technicians flipped a switch on the distribution board next to the pre-paid meter near the front door. The room was transformed by the bright electric light hanging from the ceiling. One of the VIPs plugged in the kettle and soon the water started to boil. Outside the house a great cheer and spine-tingling ululating filled the air. It was party time! All the houses, the school and other buildings in this remote little township now had electricity. Apartheid’s gap between black and white South Africa had just become a little bit smaller. … And what excited me most was that my software, called “CART” (Computer Aided Reticulation of Townships), had been used for the first time to design the network that connected this township to the national grid. Anyone who has written a useful piece of software will know that it’s hard to describe the sense of achievement one feels when something you’ve created brings tangible benefits to real people.
So what was it that CART actually did? How did it work?
First let me explain how Eskom achieved its impressive electrification rollout. It did so by adopting a “divide and conquer” strategy. Annual electrification targets were set for each region of the country, and in each region townships and villages were selected to be connected in that year to the grid. Each township and village would be defined as a “project” and each of these projects was assigned to a local consulting engineering company. A small consultant, like Eric, was assigned a few projects each year. Large consulting firms took on tens of projects annually. The consultant and his technical team were responsible for developing a detailed design of the low-voltage network that brought power from a medium-voltage transformer on the Eskom grid into each home, school, shop and other important buildings. They then had to oversee the construction of the network and ensure that it met rigorous technical and construction standards set by Eskom. The consultant also had to manage the cost of the project. A target cost per connection had to be achieved for each project.
Before CART was developed, the methodology used by consultants for the design of each project was extremely inefficient and labour intensive. There was a great deal of drawing and measuring on paper maps, and calculations to determine cable sizes and voltage drops were done by entering hundreds of numbers manually into spreadsheets.
I designed CART to make that process more efficient and effective.
CART is a Computer Aided Design (or CAD) system. It displays a map of the township showing the location of each building (house, school, shop) and all roads. Sub-programs within CART allow the designer to graphically input the routes of cables and the position of transformers by clicking a mouse on the screen. All of the tedious tasks are done by the computer. What CART did was to automate and digitize most of the design steps. It led to designs being done significantly quicker and better. It also allowed the designer to optimize the design and reduce the overall cost of the project. CART made a hugely positive contribution to mass electrification and saved Eskom millions of Rands.
I wrote most of the CART software myself. It was implemented within the Microstation CAD platform and was written in MDL (Microstation’s proprietary development language) and C++. I took a year’s sabbatical in 1997 and spent most of the year developing the software. Between 1992 and 2004 a large number of MSc and PhD students, supervised by Alan Meyer or me, developed techniques and algorithms that were incorporated in various ways into the CART software to make it more powerful and effective. For example, we used pattern recognition to understand various features on the map and routing algorithms to find the shortest lengths of cable. CART also produces detailed construction drawings and a complete bill of materials for the project.
In order to get CART out into the world, Alan Meyer and I spun it off as a startup. We set up a small company called Terrasoft. This was my second foray into the world of entrepreneurship. (The first was while I was at UMIST in Manchester). One of my MSc students, Raj Rajakanthan, joined Terrasoft as a shareholder and worked full-time on supporting the product and the growing user community. Although it never made big profits, Terrasoft became a sustainable commercial entity that allowed us to put CART to work with tens of consultants all over South Africa and in some neighbouring countries. Many hundreds of electrification projects bringing electricity to the homes of 100’s of thousands – or even millions – of people have been designed using CART over the past 20 years. CART is still in use today.
FOCUSING ON THE LOCAL ICT SECTOR
In the late 1990s – while working on CART – I became very interested in South Africa’s ICT industry. Up until then I mainly focused on the nuts and bolts of technology and on the research and development projects my students and I were involved in. But then I became very interested in where the students I taught landed up after leaving university. I turned my attention to finding ways to support South Africa’s and Africa’s ICT sector.
Not many people know that South Africa was one of the first countries in the world to start using computers. More that 60 years ago an organization was established in SA to represent computer professionals. It was called the Computer Society of South Africa (CSSA) and was launch in 1957 – a few months after the British Computer Society (BCS) became the first such organization in the world. The CSSA still exists – its now called the Institute of IT Professionals of SA (or IITPSA). South Africa notched up many “world firsts” in the use of computers in the areas of banking, government administration and mining. A sad fact is that South Africa’s notorious “pass laws” – the centerpiece of Apartheid – were underpinned administratively by very early computer applications. Many South African computer scientists and software experts left South Africa from the 1960’s onwards and made (and continue to make) a huge impact in the IT industry around the world – a few such key people are Seymour Papert (AI and education), Mark Shuttleworth (cyber security) and Elon Musk (PayPal, Tesla, SpaceX). Apart from these are many thousands who, while less known, have also made key contributions to the growth of the world’s digital economy.
The growth of South Africa’s IT industry was strongly impacted by international sanctions during the Apartheid period.
From the mid-1970’s until 1994 many international IT companies applied sanctions on South Africa. For example, IBM withdrew from their South African operations in response to huge pressure from African – American public opinion in the US. Apple refused to allow their computers to be sold in SA. Ironically, because of sanctions, this time period became the ‘golden age’ for South Africa’s IT sector.
In Episode 5 we discuss some of the impacts, both positive and negative, that can be attributed to international sanctions.