Living in the Software Age

We live the information age, where we have made great progress in this technology called the computer[1]. The computer allows us to collect data, process it into information, display this output for us to understand and store it for later use. It is a strong idea because it simulates what our minds do.

Unlike our minds, computers are capable for processing alphanumeric data better than we can. It is said that what computers find easy, we find hard. The flipside is that what humans find easy, computers find hard. It is easy for a computer to calculate large numbers but difficult for a human mind to do so. However, it is quite natural for human to understand language but very difficult for a computer to do so.

In recent years, humanity has made great progress in developing computers that can do what humans do and overall, ease our work and make our lives better. This has been majorly good as we can see from the amazing applications that it has produced. Think of e-commerce, rider-hauling, instant messaging and communication, file storage, knowledge discovery and so on. We are even taking this further by building computers that talk to us, listen to us, diagnose diseases, discover medicines and even build infrastructure and machines like cars. It is an amazing technology that is building on what has been done before by petrol engines, steam power, electricity, nuclear, books, fire and so on.

The greatest enhancement to computer technology has been the internet. The ability to connect one computer to another is a great source of all the amazing applications we talk about today. Without the idea, we would not know computers as we know them today. It can even be said that most people would not use computers if they were not on the internet. They would have no use for them. A large majority of us derive value from the internet, via the computer.

There are also other developments in Artificial Intelligence, which has a long history as old as the computers. It is based on the question of how we can create a machine that is as intelligent as a human being. It is an interesting question and has a great reason for it. The greatest part of what makes us human is our ability to think in concepts, communicate those concepts and execute those concepts. This has been the cause of our success. If we can create something that can do this, where it doesn't get tired, hungry, angry or sad, we have duplicated a labour force of knowledge workers from computers, who can perform hard tasks on our behalf. It saves us time, energy and resources that we can use elsewhere.

AI is just one application of how we are using computers to make our lives better. We have quantum computing, blockchain, smartphones and mobile development, Internet of Things, embedded systems, cloud computing and so on. There are many others but they all work around the principle of using computers as a tool to better our lives.

These applications tend to operate in the logical realm and require human action to make things happen in the real world. However, we also have robotics, which combines sensors and actuators to act and react based on changes in the physical world and based on instructions. There are other ways that computers can interact with the physical world. In fact, I believe that this is the next step of development after expanding computing to all fields of human life[2].

The computer is practically complete. For most applications, we don't need a better computer. What we need is better software. That's the discussion for today. How can we build better software that fully utilises the computer architecture we have and also solves our problems?

To solve for this question, we can look at it in the following ways:

  1. Building software that is an improvement on the previous ones. It is faster, cheaper, easier to use, better to use than the existing ones.
  2. Building software that solves a problem that people face and don't have a satisfactory solution to it.
  3. Building software that supports developers to build number 1 and 2.

There are definitely times when you need an upgrade to the computing hardware when pursuing the above. However, it is usually never a completely new way of how to think about the computer. There are exceptions like optimization problems that can be solved faster by a quantum computer. However, most problems would do well with some decent digital computer with a great CPU power, memory and storage. They can also use a server for this, and there is plenty of cloud computing to go around. You can't finish it unless you plan on doing some crazy computation. In many cases, you would run out of AWS credits before then.

  1. We are obssessed with this computer thing right now. It is funny to think that there was the Bronze Age, where everyone thought that bronze was the solution to all their problems. "Our crops are not growing", they would say. "Have tried our bronze hoe? it works like magic!". "My wife just left me", they would lament. "Have you gotten her the latest bronze ring? It saves marriages everywhere!" ↩︎

  2. The next steps for computing are:
    - Expanding computing to all fields of human life. Medicine, Law, Entertainment, Sex, Drugs .etc
    - Getting computers to think and act like human beings. This is AI and robotics
    - Getting computers to interact and mold the physical world and a myriad of ways. I can refer to Computers as Molders of the Universe ↩︎