Life, The Algorithm


In a most remarkable product demonstration, Google unveiled their improved artificial intelligence (AI) application, Google Assistant. In the demo, the application phones up a hairdresser and, using uncannily natural-sounding speech, peppered with “uhms”, is able to book an appointment by conversing with the hairdresser. In doing so, Google Assistant appears to pass the Turing Test, developed by the British mathematician Alan Turing in 1950. This test postulates that if a person can’t tell whether they are communicating with a human or a machine, then the machine has passed the test and therefore “thinks”.

In the demo, it is a machine that (or perhaps who?) is calling the business to book the appointment, and the individual answering the phone is human. However, this could easily be reversed, so that it is a person who is calling the business, and the machine answering for the business.

This raises an interesting question: what if it there was a machine at both ends of the conversation, that is, one Google Assistant calling another? If the AI engine running both assistants is advanced enough, they could, in theory, carry on a meaningful conversation. Although this might seem like the ultimate AI prize, there’s a much simpler solution: using a website to book an appointment. Granted, it doesn’t have all the nuances of a regular conversation, but if the goal is simply to book an appointment, then the user’s computer simply has to connect with the business’s.

Image result for industrial revolutionThis use of advanced AI is part of a larger phenomena: the degree to which our daily tasks have been automated or performed by others. Up to a mere 200 years ago, people made and repaired what they needed, including clothes, tools, furniture, and machinery, and often grew their own food. The industrial and agricultural revolutions changed all that. Goods could be mass-manufactured more efficiently and at a lower cost. Food could be grown on a mass scale. We’ve moved away from a society in which individuals made their possessions to one in which we let others do this for us.

As recently as the 1960s, many people maintained and fixed their cars; most people today leave this to a mechanic. We have outsourced nearly everything. Although we have gained much in quality, price and selection, in the process, we have lost many practical skills.

This trend continues as more and more processes are automated or simplified. Coffee makers that use pre-packaged pods are easier to use than regular coffee makers. However, it would be a sad thing if entire generation did not know how to brew coffee the regular way. Even brewing coffee “the regular way” still involves using a machine that others have made and that we cannot fix, powered by electricity that we do not generate, using beans that we can neither grow or process ourselves, and water that is automatically pumped into our home using an infrastructure that we cannot maintain. The parts that make up the parts that make up still larger parts are designed and built by others.

At its heart, Google Assistant uses algorithms, sets of sequential rules or instructions that solve a problem. A simple example is converting Celsius to Fahrenheit: multiply by 9, divide by 5, and then add 32. The algorithms used by software applications are, of course, millions of times more complex than this example, because they use millions of lines of code.

See the source imageAlgorithms are incredibly omnipresent. They are used extensively by online retailers (such as Amazon) to recommend purchases for us based on our previous purchases and browsing habits. Facebook uses them to track our activity and then sell that data to others, often with dire results. Algorithms are also used in two of the most important decisions a person can make: whom they love (in dating applications) and where they work (in résumé and interview screening applications).

Algorithms have even used to determine how likely a criminal defendant is to re-offend based on attributes such as race, gender, age, neigbourhood and past criminal record. But is it ethical for a judge to use an algorithm to determine the length of a sentence? This happened in the case of Eric Loomis, who received a six year prison sentence in part due to a report the judge received based on a software algorithm.

Society is facing the same trade-off that it faced 200 years ago as it moved from personal to mass manufacturing: convenience and comfort versus knowledge and independence. As we relinquish more and more power to machines and let algorithms make more of our decisions, we achieve more comfort but less freedom. We are, bit by (computer) bit, quietly choosing to live in a massive hotel. It’s pleasant, you don’t have to do much, but it does not prepare us for life.

For in life, there is often sadness, pain and hardship. There is no algorithm that tells us how to deal with these things, nor will there ever be.

Related image


In our image

See the source imageIs a ship which has had all its parts replaced over many years still the same ship? This question is explored in Theseus’s paradox which asks whether something remains the same even if all of its components have changed. Other examples include an axe that’s had several handles and blades and a broom that’s had several heads and handles.

Moving from things to people:

  • The rock groups Yes, Heart and Blood, Sweat & Tears do not have any of their original band members – are they the same band?
  • Canada’s landscape and population have vastly changed its founding in 1867; is it the same country as it was back then?

It all depends on how you define “the same”. If you mean “something containing all of the original components”, then these things are not the same. However, if you mean “with the same general identity or name”, then these things are the same. The paradox is that both these things can be true. Canada as an idea never changes; Canada as a thing always changes.

With human beings, the question becomes even murkier. Most of the cells in the human body are replaced every 7 to 15 years. Is someone the same person they were 15 years ago? The answer may be found in our technology.

Image result for computer memoryLike human memory, computer memory is also ethereal. It is stored as a complex set of magnetic charges, which in turn represent the binary code that drives the system. The entire system is dynamic. Magnetic charges are continually moved around so that each time you use the device, the layout and order of the memory changes. However, from the user’s perspective, it is still the same device, and nothing has changed. That is, the whole is greater than the sum of its parts, because the whole is constant regards of where and what those parts are. Therefore, even though from a material perspective the device has changed, from a perceptual perspective it has not. Perception overrides materialism.

The same is true in people. We don’t define ourselves solely as physical beings but also as spiritual ones, with a soul we are born with that never changes. Even though physically we’re not same as we were years ago, spiritually and emotionally, we know we are the same. It is this knowledge that keeps us sane. People who perceive their soul (or personality) as changing are often diagnosed with Multiple Personality Disorder. It is as though the hard drive in their brain is being regularly replaced with another.

It is no coincidence that the essence of our existence is also in our technology. Those of faith believe God created mankind in his own image. Mankind, in turn, inspired by this, has created machines in his. Perhaps this is why the the entire contents of a hard drive, DVD, or CD is called a disk image.

Related image


A Portable Life

“Computer” did not always mean a thing that computes; as recently as the 1960s, it actually meant a person. The US military and NASA employed human computers to perform complex mathematical calculations. As electronic computers evolved, they replaced human computers, and replaced the definition of a computer.

Image result for ENIAC

The early electronic computers were enormous. ENIAC, (pictured right) one of the earliest all-purpose computers built in the 1940s, was 1,800 square feet and weighed nearly 30 tons. (Not exactly a laptop.) It took an army of people just to keep it running.

Later computers (such as mainframes) in the 1960s also required many individuals to operate. Starting in the 1980s, the personal computer took off. Today, most people own several computers in various forms. We have therefore evolved from:

  • many people for one computer
  • one person for one computer
  • many computers for one person

The primary computer types today are desktops, laptops, tablets and smartphones. All of these are “personal” computers, because the owner is highly connected on a personal level to each device, as though it was a physical extension of that person.

If you think I’m exaggerating, watch the look on a young person’s face if they have misplaced or lost their smartphone; it’s not quite an amputation, but pretty close. So much of a person’s life can be on a computer it quite literally becomes a part of them.

We can categorize computers as:

  • Non-portable: desktops
  • Highly portable: smartphones
  • Semi-portable: laptops & tablets

Given how personal “personal computers” are, it’s not a huge leap to correlate the type of computer to the type of person: non-portable, highly portable and semi-portable.

The Non-Portables

Non-portable people are the stable, steady stalwarts of society. They have established homes, travel little if at all, and are consistent, reliable, dependable and trustworthy. They may not always be creative, but are able to work with creative people to get the job done. They are conservative, resistant to change and comfortable in their routines. They may be perceived as cold and uncaring, but deep down can have big hearts. They just don’t wear their heart on their sleeve, but keep it safely tucked away, just in case. Their motto is: “If it ain’t broke, why even think about fixing it?”

The Highly Portable

Highly portable people are the dreamers and drifters. They move frequently, rent but never own, love to travel, and frequently change careers. At their worst, they may be unstable and flighty, but are also very friendly, outgoing and full of new and original ideas. They are always challenging the status quo, and in doing so, get the world of its comfort zone and move it forward. Their motto is: “Everything needs fixing.”

The Semi-Portables

Semi-portable people reside between these two extremes and are therefore more difficult to define. They can be very open and creative, and at other times closed and subdued. They excel as mediators and diplomats, bringing the other two types together and bridging the gap between them. They are the middle ground, the average, the in-between. Their motto is: “Let’s look together to see if it needs fixing.”

With AI (artificial intelligence) now developing at an astonishing rate, we are approaching the age where computers will be able to think and reason as people do. In what will be one of the greatest ironies of technological history, computers may again become persons. When that happens, your smartphone will indeed be “a portable life”.

How to lighten your backpack

backpackIf there’s one thing I hate, it’s carrying around a lot of stuff. I remember in college in the 80s having to carry my binders and textbooks around in a backpack – what a pain in the neck, and back.

Computers and the Internet have liberated us from having to carry around so much stuff. You can buy e-books (which are a bit lighter than regular books) and write notes in a document rather than on paper. But these advances have led to another problem: co-ordinating all your information and documents over several devices and locations.

Being a technical writer, I love to document everything, so I have hundreds of documents for all my personal needs. I need to be able to access this information:

  • in many locations – home, school, and work and
  • across multiple devices: my laptop, tablet, and phone

In addition, I want to be able to easily recover from what I call “The Terminator Scenario”. This occurs when your computer and backup drive both die or are stolen. I’ve known many people who lost everything when their hard drive died, because they forgot it was a moving part, and all moving parts eventually fail. It is only after this traumatic experience that they learn to back up their files.

But backing up to an external hard drive, while a good practice, does not protect you if someone breaks into your home and steals both your computer and hard drive, or if both are consumed in a fire, flood, tornado or some other natural disaster. It’s critical, therefore that all your files also be copied to the cloud.

I’ve found using Google Drive with Dropbox is an excellent solution. I use Google drive (formerly called Google Docs) to store all my documents and spreadsheets that don’t contain any critical private information. Although Google Docs is mainly used to store Google documents, you can store any type of document on it, making it a handy backup tool.

Google Drive gives you 15GB of storage for free; you can upgrade to 100GB for $2 U.S. per month, the best deal I’ve seen for online storage. You can also install a Google Drive application on your desktop that stores and synchronizes copies of the files on your hard drive, providing yet another form of backup.

I use Dropbox to store most other types of files. It gives you 2.5GB for free; you can upgrade to a whopping 1 terabyte (that’s 1,000 gigabytes) for $119 CDN per year, so it’s more expensive than Google Drive, but better integrates with your current file set. It’s great for storing any type of file and allows you to easily upload and download files to and from your desktop.

I use Google Chrome because a) it’s a great browser and b) once I log in, all my settings, bookmarks and Chrome applications are automatically loaded. This is especially handy when I’m logging in to different devices, including those that are not my own, such at a friend’s or at hotel.

Wherever I am, I use Google drive to make notes. I can then review and update them at home because they are the same files. I also use Dropbox to upload and download the project files. Again, whatever I work on at school, I copy to my Dropbox folder and it’s automagically there when I get home.

Finally, I use Google calendar to remember appointments, Google Maps to not get lost, and, of course, Google Mail (Gmail) to access my email anywhere. These apps you’ve probably heard of, but did you know you can use Google Keep to store simple lists?

As you can tell, I’m a bit of a Google nut. I think if I ever have another kid, I’ll name him or her Google.

(Maybe that can just be their middle name….)


Related image

reCAPTCHA is an excellent example of not only solving an informational processing problem in a creative way, but in solving the original problem, also solving a much larger one.

Before you can understand reCAPTCHA, you must first understand its predecessor: CAPTCHA. CAPTCHA was created to solve the problem of automated programs (or “bots”) from logging into websites and thereby generating spam in the form of emails and mass postings.

A CAPTCHA screen displays a distorted image of letters or words. A person can read the letters, but a bot cannot. The user must enter the letters correctly to gain access to the system, for example, to sign up for an email account.

This technology alone is a great example of a creative solution to a complex problem. But reCAPTCHA takes it a step further by solving an even bigger problem.

This larger problem involves an ancient form of communication – the printed page. There are tens of thousands of books and newspapers that Google is trying to convert to digital text. Scanning the publications, then using OCR (optical character recognition) to convert the scanned image to text has its limits. If the text is distorted (as it is in many of the older publications), it cannot convert the text.

How does this relate to CAPTCHA? Well, about 200 million CAPTCHAs are done by people every day. If each CAPTCHA takes ten seconds, this effort represents about 63 person years of work every day.

Wouldn’t it be amazing if there was a way to put all this time to good use? That is exactly what reCAPTCHA does.

Here’s how it reCAPTCHA works:

  1. When a document is scanned, it detects a word that it cannot convert. Let’s call this the “unknown word”.
  2. The reCAPTCHA process sends this unknown word as a CAPTCHA for people to deciphere.
  3. The CAPTCHA contains not only the “unknown word”, but another word which the system already knows. We’ll call this the “known word”.
  4. In the CATPCHA that is created, the user is asked to read both words and enter them.
  5. If the user solves the known word, the system assumes that their answer will be correct for the unknown word.
  6. The system also gives the unknown word to a few other people to verify that the original answer was correct.
  7. If enough people agree on what the unknown word is, the information is set back to the original system and the converted word is added to the document that is being digitized.
  8. This process is repeated until all the words in the document are converted.

recaptchaCan you even begin to imagine the flash of genius that occurred in the mind of the Luis von Ahn, the creator of the reCAPTCHA process?

The problem is that these type of “eureka” moments are very difficult to create. They often just happen, much like the weather. You can no more force yourself to be creative that you can force yourself to love, hate, forget something, fall asleep or go back in time.

However, you can sometimes find creative solutions if you just stop what you’re doing, and ask yourself some questions, such as:

  1. Is there a better way to present this information to the end user?
  2. What else would a user need to know about this concept, task, or thing?
  3. How does the user use our documents?
  4. What changes could be made to enhance the documentation development process?

I’ll give some examples of real-life creative solutions that I’ve encountered:

Example 1: Our help files have to be checked into a version control system. Each help project can contain hundreds of individual files, and these files are often created, deleted, moved and renamed. It would have been very cumbersome to keep track of each file that was checked in and out. The solution (from a colleague of mine) was this: instead of checking in and out the various files, a zip file of the entire help system was created and checked in instead. The installation program then decompresses this zip file. Only one file now needs to be sent and tracked in the build.

Example 2: I was working with a developer on a complex database administration application. One of the functions the user could do was rerun a query by clicking a button labeled, appropriately enough, Rerun query. The developer said the problem was that there were many different queries that the user could run, and that they needed a quick way to know which one they had run before re-running it. I asked if was possible to embed the name of the query that had just run into the button name, so that, for example, if the user had run the Last Name query, the button label would be Rerun Last Name query? I still remember the developer’s eyes widening and his face lighting up as recognized the elegant beauty of this solution. “Yes,” he said, “it can be done!” 

Example 3: Many of our help projects share content, templates, and other settings. I wanted to develop a simple content management system that would allow all the writers to share these things across many locations. I created a master help project that contained all the common content and settings. I then linked my other help projects to this master project, so that if any of the common material changed, it would automatically be updated in the other help projects. Finally, I stored all the documentation on a version control system that could be accessed by any writer. As long as each writer has the current version of the master help project and links their other help projects to it, this will ensure the templates and content remained standard.

So don’t just think “outside the box”.

Ask yourself if you even need the box in the first place.