As a software developer, it is a huge pet peeve of mine when I hear everyone and their grandmother using the term AI to describe what is actually ML. This isn’t the same thing as saying “Kleenex” versus “facial tissue” where the term Kleenex is universally accepted to just mean “facial tissue”. We all know what you are talking about when you say that. This is NOT the same thing and I detest the overuse and misuse of the term AI. To be absolutely clear this is what those abbreviations mean:

  • AI – Artificial intelligence
  • ML – Machine learning

It is 01/30/2023 as of writing this and to date there hasn’t been one example of a true AI. People who should know better are using the term AI because it is has been indoctrinated into the sale’s person’s trove of catchy buzz words. This irritates me to no end, so we have people all over the world using the term AI when they really mean ML and they refuse to be bothered to acknowledge the difference. It is much like the term microservice which I still reject as being anything but a web service with a smaller scope. My number one pet peeve from ages ago was when everyone would mix up CG, CGI, GI, UI and GUI all together like it didn’t matter. At one point CGI took on a dual meaning, it started with “Computer Graphics Interface” to meaning “Computer Generated Images” because for some reason people couldn’t just say “Computer Graphics” without shoe horning in the “I” which didn’t belong. And thus my irrational hatred for marketing buzz words began.

AI doesn’t exist and it never will

Here is a hot take. AI absolutely doesn’t exist because no one can provide an example of one to date and it never will exist. I have this argument often when given the chance because I think humanity’s arrogance known no bounds sometimes. Working off of philosophical logical fallacies, the burden of proof is not on me to prove that an AI will exist one day. I can however say why it won’t exist:

  1. Scientists do not understand how the human brain works, yet they want to create consciousness. That’s a bold, dare I say absurdly arrogant thing to go after.
  2. Just because you can get a robot to imitate people, doesn’t mean it’s an AI. The Turing test has never been passed. People like Blake Lemoine need to have their mental health checked before announcing to the world that a computer algorithm that is talking back to him is alive or a real person. I would say if you are not mentally well you should be restricted from working on AI. Want to watch a fun series about this? Go watch FX’s Devs staring Nick Offerman.

What if?

Even though I very much doubt this will ever happen, let’s pretend that an AI was created. Ok so you create an AI, now what? Does the AI have a drive to do anything? Or is it just an emulator? I have a friend I have argued with about this repeatedly and he says that “Humans are just bio-chemical machines, so what’s the difference?”. To me there is a big difference, a smart human under the right conditions will have drive to do things without being told to do them. You can argue that all of the environmental inputs are what drive us to do things, but I don’t totally agree with that. I think it’s a factor, but going back to number one above we don’t know how the human brain works. Therefore, for a lack of better words, can scientists produce a soul? I categorically don’t mean this in a religious sense, I am an Atheist to be clear. I just don’t have a better way to describe human drive and further more the drive for all living things.

You can argue that we do what we do for optimal comfort. Animals do this too. I don’t see humans as being different from animals. I know that there is a group of thought where people don’t like to hear this, because they think they are better than animals and I find that to be as arrogant as scientists trying to create an AI. Humans are the most intelligent beings on the planet earth that we are aware of. We cannot communicate with animals, but given that animals only appear to need three of the five needs in Maslow’s hierarchy of needs (simplified version) give or take – I am not sure they are ever going to do much better than where they are currently. My point is, put humans in a dire situation and they will devolve into a bunch of feral beasts. We still have war. Until war stops, I cannot see humans as being any better than a bunch of silver back gorillas posturing at each other.

Therefore, humans aside, if you take this hypothetical AI and place it into the world – then what does it do? There are two options:

  1. The creator made sure to produce a program/algorithm that gives it emulated drive. So it will pointlessly do things such as take up a cooking hobby or make crafts. Good I guess?
  2. Since the creator made an AI, the AI will just stand around waiting for instructions much like a computer does today.

What is the point? Why do we need this?

Conflating AI with ML

AI, as I have already described above, will never be a thing so let’s toss that aside and talk about what does exist which is ML. Machine learning is just a set of complicated, sophisticated and <add your adjective here> algorithms that analyze a ton of data in order to find patterns. An ML application/program will then produce predictions based on the data you trained it with. Therefore, ML is only as good as it’s input data. You can create an ML that is biased and the blame falls on the trainer. There are plenty of examples of this out there, so I am not going to list any here. What I am going to talk about though is why it is wrong to interchangeably speak about ML and AI as if they are the same thing.

For starters, AI does exist, established above. Secondly ML is just a program. It is a special program, but it is just a program nothing more. It is not alive and it will only tell you it loves you if it was programmed to do so. Sadly, ML is not as sexy as it looks because by itself it can do absolutely nothing without data. Data collection consists of you (or a third party) acquiring survey results from people. This can go wrong in so many ways, because now you are depending on chemical machines to provide you answers based on how they are feeling at the moment. You need to then take that data and turn it into meaningful numbers or metrics. This is very much the same exercise someone has to do when assigning meaningful data to output voltages from a sensor that is connected to an Analog to Digital Converter or ADC. Your mileage may vary depending on the sensor, even if it is the same type of sensor! Tolerances change! Not all humans are the same! Therefore, ML should be trusted with a grain of salt.

I think the biggest problem with ML is the conscious or unconscious exclusion of people of color. This is something the industry has acknowledged and I want to believe they are going to do better. The point being, we are only human and humans are excellent at making mistakes. Some humans are claiming to be able to make an AI, have you heard that one before?

Robot overlords

If we are talking about the Terminator series or just general good ol’ science fiction movies for family fun, then I love this topic. If there are people out there who absolutely think the plot of iRobot or the brittle plot from The Matrix is something we will ever see. Think again. I have already established above that AI won’t happen, even if it did (it won’t) then that AI has to want to kill people or remove humans and enslave them for some very strange reason. Why? Where is the drive for this? Also humans compared to these exalted robot overlords would be so inferior that even using them for labor (or batteries) makes absolutely no sense. There is no cost benefit there, humans are just incredibly inefficient and needy. A robot drone could do a better job.

Lastly, someone would have to intentionally program AI to have feelings and harm humans if they aren’t treated fairly or something? How exactly would an AI know if it is being treated unfairly exactly? This goes completely against Isaac Asimov’s “Three Laws of Robotics” which makes absolutely no sense to ignore. Mind you this is just science fiction, so this whole thing is moot. Simply put, if you don’t want your robots to kill you, don’t program them to know that they are getting the raw end of the deal. How exactly is that so hard to understand? There are people who genuinely fear this and I put them in the same bucket with the looney toons who believe in Roko’s basiliskOh no I thought of it’s existence!

Oh no Robots are going to take my job!

Sadly this is true for some people and I am not going to sugar coat it. There are jobs out there that SHOULD be automated and replaced by robots. I don’t think anyone should be wasting their time doing dangerous manual labor or even menial labor. Those jobs are repetitive tasks which can and will be replaced by unthinking robots one day. Don’t believe me? Check out Miso Robotics among others. I believe in this so much that I am invested in the company already. Go ahead and watch those robots make fried baskets of food. They are never late, don’t require breaks, don’t get tired and they won’t quit either. I think it’s important to know when the future is coming and to pay attention to the oncoming train. Get out of the way and you won’t get hurt. Unfortunately, that’s not reality and I am not going to get into politics here because that’s absolutely not what this post is about.

Workforce replacement automation

I am not going to say I am the first to coin this term, but I don’t see it used anywhere else. It’s not a marketing buzz term because it sounds bad. I tend to always bluntly tell the truth and I don’t believe in softening messages with euphemisms, especially when it means that people are going to be losing their jobs en masse quite soon. People are already refusing to return to fast food jobs and I applaud them. Others don’t have a choice. Sadly these people will inevitably be replaced by robots because the number one cost to a company are salaries. Like I was half-joking about above, humans are inefficient and will never be able to compete with a machine when it comes to repetitive predictable tasks. This is not a dig at fast food workers, it’s just the truth and frankly I don’t think anyone should be wasting their time in roles like this. I have a lot to say about how to fix this, but I am not going to get into it here. Looking on the bright side, I am going to vaguely indicate that these displaced workers should be taken care of some way some how. Hopefully the experiments work, as they need to in order to handle the people being pushed out of jobs by robots.

What about programmers?!

The mass hysteria that surrounds programmers losing their jobs to ML is hilarious to me. It’s as absurd as having robot overlords or AI in general. Do not be swayed or disheartened by Chat-GPT or GitHub’s CoPilot they are both nothing burgers as far as I am concerned. I have been using Visual Studio 2022 for a while now and it has some version of CoPilot in it. It’s helpful sometimes and other times it gets in the way. Do not let the term or phrase “Your AI pair programmer” fool you. This is NOT AN AI it is an ML program/plugin that runs in the background that is watching your keyboard input to determine if it can help fill in the blanks for you. Therefore, it is a keylogger that is looking for patterns in what you write and do. Yippy. It has had a less than 50% success rate with me because it has absolutely no idea what I am trying to achieve most of the time. Therefore, it blurts out code snippets that are useless to me and actually slow me down while I am working. It’s useful for pumping out boiler plate mundane code such as constructing the properties of a class or wiring up dependency injection. Beyond that it completely fails me when it comes to business logic to the point where it goes completely silent. That takes me to the core of why these so called “AIs” are uninspired and not impressive to me in the least.

Companies are always going to fail at replace programmers

Companies have been trying to replace programmers for as long as I can remember. Let’s go back a few decades to when someone produced what were called RAD tools. RAD stands for “Rapid Application Development” tools. If you are a seasoned software developer you know that these tools are horrible and create more problems than they solve. The expectation of these RAD tool pushers was to put them into the hands of untrained business professionals to produce their own crappy UIs where they could make their own business applications. This is hilarious for many reasons, just picture some C-Level executive trying to make a report writing application and how confused they would be after the first ten minutes. Take an accountant and tell them to do this – oh wait that’s called Excel, they do this already and it leads to a lot of terrible problems which I won’t get into here. One of the biggest offenders to these RAD tools is Microsoft Access. If you have ever had the displeasure of working with Access, then you know what I am talking about. Essentially what happens is all of these terrible RAD tools are eventually replaced with a bespoke application using a real programming language. This improves quality and most importantly stands up guard rails to idiot proof applications (*Cough* excel *Cough*).

What all of these RAD tools have in common is they become entirely useless the moment you need to do something business logic heavy or intricate. The reason is because they are rigid and not meant to be full replacements for real applications which can only be produced by software developers. The latest joke is seeing things referred to as “Low-code” tools which is an admission that RAD tools are a complete failure because code is required to make them actually work. There are many managers and business men out there that have absolutely no idea what software developers do and they resent them for it simply because they look at them as sunk costs. Therefore, these same misguided confused people will attempt to replace software developers with failed technologies, not realizing that they just got scammed essentially. The other tactic is to offshore work to reduce costs and then these same fools will pay two to three times as much when their offshore contractors didn’t do anything correctly, they end up going back to a competent software developer to “fix it”.

The crux of the issue here is exactly like that of AI existing. AI cannot think, it has no drive and it won’t have a drive. Things like Chat-GPT and CoPilot have zero drive and will never be able to fix “A weird bug in production that only happens between 12pm and 2pm on Thursdays.” I very much doubt that these “AI” programs will be able to take client requirements and convert them into meaningful code, especially when your clients can only explain to you that “Nothing works” and that they want Seven green lines drawn with red ink. These things are not a threat and they never will be because in order for these code bots to replace a software developer you will need an AI, a real AI not ML. AI will never exist.

Good luck with that business men.

What about Alpha Go?

I watched Alpha Go and I got half way through and stopped caring. It didn’t explain much about how they made anything and instead it’s just a story about a program that is cheating while playing against human Go players while destroying their self esteem. I don’t want to downplay the work that the team who worked on Alpha Go did, it’s amazing stuff and there is no way I understand any of it. However, I do understand that this demonstration is not impressive. Pitting an ML against a human player, professional or not, is not fair. The only way this would have been fair is if the professional players could lookup previous game plays and strategy during the matches. I would recommend that this no longer be the measurement for how well an algorithm is doing at predicting moves and stuff. It’s soul crushing to watch someone’s ego be destroyed by a machine that is literally cheating.

At the end of the day, it can play Go and make grown men cry. What did we achieve here?

Please go do something useful, stop bullying human players.