Software Interests: There is no spoon

I am not a programmer, but ever since I bought my first computer, an Amstrad CPC464. I was interested in Reverse Engineering. The first example was an included program Eliza whose code was open source.

I had an interest in psychology and found that through predicting what people might type in, I could mischievously insert my own answers. It was great fun, especially as people genuinely thought the computer was devising the answer. The program quite often looped, but the interested user didn't notice because they were typing different things. Other times it was obvious and annoyingly so, which was I tried to change it.

Eliza was famed as being one of the founding programs for A.I. It was though, just a simple psychological question and answer program. I found that by inserting questions and statements, I could make a conversation last a little longer and seem more intelligent than the base program ran. I didn't consider I was changing the program per se, but the program ran on the assumption that if you said one thing, it would direct you to a predetermined statement or loop you back to another question based on your answer.

By inserting more parameters, it appeared more intelligent. I don't know whether we were supposed to do that, but I did it instinctively. And again, it was fun!

I guess if you do this maliciously or against the owner's will, then it is hacking. A lot of program designers now make their code open source realising that others have good ideas and can contribute & enhance their base programs. It is difficult for just one person to do everything, and most main programs have hundreds of people working on them.

If a smaller company doesn't have those kinds of resources, making it open source is sometimes the only way to stay in front and remain competitive.

I once did this for a company in that they had a problem and required a solution. I was able to reverse engineer software that they had to create software they could use.

I'm not a programmer, so I had to study the code and adapt it to do different things. I did this in Visual Basic, as I found sometimes the underlying code relatively easy to understand.

Again Coding is not programming, and therefore making a program do a different thing is a lot easier than actually telling the computer what to do from scratch. Programmers have my envy as my brain is ineffective for that duty. Reverse Engineering is also creative, but differently; in that, you see what you have, decide what you want, and change it to suit.

Wikipedia lists that there are around 700 computer languages, and when you think about how we celebrate students that can speak ten. It makes me in awe of just how intelligent some computer programmers are. Can you imagine knowing 700 languages?