Showing posts with label logic. Show all posts
Showing posts with label logic. Show all posts

Monday, August 8, 2022

Life: Encouraging People to Learn to Code/Program/Develop

There is a lot of context to baseline here. By people, I mean the general population. By coding, I mean software programming like assembly, C#, or C++ on a very basic level. And the issue I am try to address is why many people find programming too difficult to want to learn.

Although easy and hard are relative, I am going to generalize that when most people say that it is hard, they mean that they do not want to bother learning or even understand it. Yet, they can follow the most complex story lines, office politics, and so many non-standard social norms on a regular basis.

We are in an era where technology is being embedded everywhere. Knowing how to code will likely be needed everywhere whether you are a waiter, box mover, design, doctor, lawyer, president, etc.

To me, the odd part is that coding uses a very tiny subset of our language yet executes the result nearly 100% of the time. So it should not be difficult to at least understand. In some ways, it basically is a simulation of logic.

The troubling part when I hear people not wanting to understand coding is that I "hear" them say that they don't want to understand logic and leaving that for someone else to fix.

Sunday, May 28, 2017

Human Decency - Mr. Rogers - Senate Subcommittee (1969)

Still relevant today...

https://www.youtube.com/watch?v=fKy7ljRr0AA
http://www.americanrhetoric.com/speeches/fredrogerssenatetestimonypbs.htm


Senator Pastore: Alright Rogers, you've got the floor.
Mr. Rogers: Senator Pastore, this is a philosophical statement and would take about ten minutes to read, so I'll not do that. One of the first things that a child learns in a healthy family is trust, and I trust what you have said that you will read this. It's very important to me. I care deeply about children.
Senator Pastore: Will it make you happy if you read it?
Mr. Rogers: I'd just like to talk about it, if it's alright. My first children's program was on WQED fifteen years ago, and its budget was $30. Now, with the help of the Sears-Roebuck Foundation and National Educational Television, as well as all of the affiliated stations -- each station pays to show our program. It's a unique kind of funding in educational television. With this help, now our program has a budget of $6000. It may sound like quite a difference, but $6000 pays for less than two minutes of cartoons. Two minutes of animated, what I sometimes say, bombardment. I'm very much concerned, as I know you are, about what's being delivered to our children in this country. And I've worked in the field of child development for six years now, trying to understand the inner needs of children. We deal with such things as -- as the inner drama of childhood. We don't have to bop somebody over the head to...make drama on the screen. We deal with such things as getting a haircut, or the feelings about brothers and sisters, and the kind of anger that arises in simple family situations. And we speak to it constructively.
Senator Pastore: How long of a program is it?
Mr. Rogers: It's a half hour every day. Most channels schedule it in the noontime as well as in the evening. WETA here has scheduled it in the late afternoon.
Senator Pastore: Could we get a copy of this so that we can see it? Maybe not today, but I'd like to see the program.
Mr. Rogers: I'd like very much for you to see it.
Senator Pastore: I'd like to see the program itself, or any one of them.
Mr. Rogers: We made a hundred programs for EEN, the Eastern Educational Network, and then when the money ran out, people in Boston and Pittsburgh and Chicago all came to the fore and said we've got to have more of this neighborhood expression of care. And this is what -- This is what I give. I give an expression of care every day to each child, to help him realize that he is unique. I end the program by saying, "You've made this day a special day, by just your being you. There's no person in the whole world like you, and I like you, just the way you are." And I feel that if we in public television can only make it clear that feelings are mentionable and manageable, we will have done a great service for mental health. I think that it's much more dramatic that two men could be working out their feelings of anger -- much more dramatic than showing something of gunfire. I'm constantly concerned about what our children are seeing, and for 15 years I have tried in this country and Canada, to present what I feel is a meaningful expression of care.
Senator Pastore: Do you narrate it?
Mr. Rogers: I'm the host, yes. And I do all the puppets and I write all the music, and I write all the scripts --
Senator Pastore: Well, I'm supposed to be a pretty tough guy, and this is the first time I've had goose bumps for the last two days.
Mr. Rogers: Well, I'm grateful, not only for your goose bumps, but for your interest in -- in our kind of communication. Could I tell you the words of one of the songs, which I feel is very important?
Senator Pastore: Yes.
Mr. Rogers: This has to do with that good feeling of control which I feel that children need to know is there. And it starts out, "What do you do with the mad that you feel?" And that first line came straight from a child. I work with children doing puppets in -- in very personal communication with small groups:

What do you do with the mad that you feel? When you feel so mad you could bite. When the whole wide world seems oh so wrong, and nothing you do seems very right. What do you do? Do you punch a bag? Do you pound some clay or some dough? Do you round up friends for a game of tag or see how fast you go? It's great to be able to stop when you've planned the thing that's wrong. And be able to do something else instead -- and think this song --

'I can stop when I want to. Can stop when I wish. Can stop, stop, stop anytime....And what a good feeling to feel like this! And know that the feeling is really mine. Know that there's something deep inside that helps us become what we can. For a girl can be someday a lady, and a boy can be someday a man.'

Senator Pastore: I think it's wonderful. I think it's wonderful. Looks like you just earned the 20 million dollars.

Wednesday, November 16, 2016

Those who can't... teach

The saying that "those who cannot, teach" have the misconeption that teachers, coaches, etc. are failures, and learning from the successful is more helpful. But what really is happening is that the successful are less likely to be successful teachers because they do not understand failure as well as those that have. 

This is an important lesson to learn because without having a check on this logical pitfall, this could lead us to problems like gambling addictions, not seeing the correct problem, solving the wrong problem (survivor bias), blindly follow seemlingly successful people to bigger failure (ponzi schemes), etc.


Reference

http://douglastclee.blogspot.com/2016/06/survivor-bias-logic-and-statistics.html

Saturday, August 6, 2016

97% of quitters employed by 3% who don't (misunderstood)

There is meme that pops up every so often that goes, "97% of the people who quit too soon are employed by the 3% who never gave up." This statement does not provide any new information.

Logic Problem

A lot of people read the quote as the 97% of the people vs 3% of the people, but really the quote states 97% of quitters and 3% of never gave up. Technically speaking, there is no mention how large the population is of quitters versus those who never gave up.

What can be extrapolated from the quote (assuming you trust the numbers) is that a very low percentage of those who did not quit are employed by a large percentage of those who did quit. Which in itself is quite reflective, because that would also mean that 3% of those who quit also became bosses, and that 97% of those who did not quit became someone elses. 

So technically, the statement is not a logic issue or problem. The issue/problem lies on the people either jumping to conclusions or misreading the statement.


Math Proof

Assuming life is binomial in that all people are either quitters (A) or non-quitters (B), and also that all people are either employees (C) or employers (D).

97% of A = C, therefore 3% of A = D
3% of B = D, therefore 97% of B = C

In conclusion, this statement works for anything that can be broken into two groups which provides no new analysis whether the numbers are correct or not.

Friday, June 24, 2016

Survivor Bias - logic and statistics

I've had to explain this to many people but never knew there was a name to it. And now I know... and feel a little dumber because it took me so long to learn about it. :D

Reference

https://youarenotsosmart.com/2013/05/23/survivorship-bias/

Tuesday, June 17, 2014

Work Life: False vs Not True in programming and db logic

Oftentimes, I think that false is when logic fails by which I mean a logical contradiction like "true = false". But in reality (like in MS SQL), false is that it is not true. And a lot of logic is also built in this fashion even though most of us do this unconsciously.

In a less technical view, the difference is like saying that someone "unhappy" is sad. Although we typically understand it to be sad (given certain context) but someone could be in other states that are neither happy nor sad, thus being unhappy and not sad. The person could just be indifferent, content, angry, etc.

The minor difference is important particularly with passwords where it either passes or it does not. When it "fails", there is no reason to why it fails except that it is not true. This is important because we do not want to provide a reason to what may be wrong because it may provide a clue.

To further explain the technical logic and design, the minor difference also includes when something cannot be computed like when variables are unknown or conditions that were not met. The most common is with nulls or anything that results in an unknown like dividing by zero. A simple null example is (null = null) which returns false. An 'unknown' example is (1/0 = 1/0) which also returns false.

It is somewhat fascinating to me that classic philosophy does not quite consider the concept of null or unknown... but then, my knowledge on classic philosophy is extremely limited to what I had to read in college as an engineer.

Monday, March 17, 2014

Interview: Rating Yourself on a Scale

"Where do you place yourself on a scale in [insert vague subject] from 1-10? 1 is nothing at all and 10 is knowing everything."

Simply put, I think the answer is always 7-9. You may go with a 5-6 if the subject is not directly related to the position, like piano for an engineering position (unless the specific engineering position deals with pianos).

Explanation of My Logic

First of all, they are not going to accept anyone with a score below 7. So why not try 7 at the minimum? You were not going to get the job anyways if you answer less. Worst case, you get called out on your knowledge on the subject but at least you got the interview. At which point, you just hope your other strong points will compensate for the "lie". Even then, the "lie" is insignificant because the scale is so subjective anyways that you can talk your way out of it.

The score cannot be 10 because you cannot possibly know everything. You may still get the interview, but it is way to easy for someone to question your ability when you are unable to answer certain basic questions in a few that you do not know. In this case, it may be worth not having the interview because it will be a waste of your time. You will have a much better chance with a 9 than a 10 even if you think you know everything. Because if you really were a 10, you will not need to be going through an interview process especially one that is going to ask for your expertise on a scale.

So at this point, the answer cannot be 1-6 or 10. This leaves 3 numbers: 7, 8, and 9. If you are an amateur go with 7. If you are experienced, go with 8. If you think you are an expert, go with 9.

Amateur is someone that can look up (i.e. Google) the question and find an answer. Experienced is someone that can do some of the work on your own (i.e. without supervision or review board). Expert is someone that other people will come to you for recommendation, design, or proof-of-concept.

My Perception on Reality

Like almost all interview questions, the answer is what the recruiter wants to hear not your real answer. If you were a real all-star, you wouldn't need to go through the regular grueling interviews that most of us common folks have to go through.

For the few that struggle with projecting an untruth or using my (insane) logic above, I will sadly tell you that my experience has very unkind to me. I have tried to actually scale myself to my knowledge of the subject. For example, I say that I am an average programmer so that I say that is a 5. I can easily say that I have not received any follow up calls when I give that answer.

I have spoken with a few friends of mine who now have been in the field for about as long as I have. They know my level of experience. Trusting their words, my experience is actually much higher than what I rank myself. Even then, they say that it is subjective to the people that they had to interview. They tell me that they get plenty of people who rank themselves 8-9 who barely know any programming.

Although they are easy to filter out in the interview, the automated systems are much more lenient. Unfortunately, this also means that people like me will be filtered out even though my experience is clearly higher than others. Basically, this is a total win-win for exaggerating your skill sets because not only do you at least get an interview, you also removed some of your competition.

Because of this, I am extremely tired of seeing "requires excellent communication skills, writing and oral" because the level of 'excellence' is no where what I think is actually excellent. To me, excellent means something that you excel at and should make fewer errors than most people. I do not consider myself on the excellence caliber, yet I am oftentimes correcting other people's emails, messages, logs, etc.

I do not even mean simple, human error type errors. I mean that they consistently spell the same common words incorrectly. Words that are commonly spelled correctly like beautiful or introduction. It does bother mean when someone uses manger instead of manager but I do not think it is acceptable to misuse than and then. Not using the serial comma bothers me, but I will reluctantly accept it.

I have even had coworkers (including managers) have me write out the communications just because I word things better. Yet when we post the job description, they still use that they require excellent communication skills. 

Can you speak English (with or without an accent)? Do you use spell-check? Do you know basic grammar (there was a director born and bred in the US midwest that spelled grammar as grammer)? If you answer yes, then the answer is that you have excellent communication skills.

We have hired people where I cannot even understand the person because of his accent. We have hired people who cannot spell. We have hired people who have very poor grammar. So, do not lose an opportunity just because you have lower self-esteem than other people.

Hopefully someday recruiters will learn the fruitlessness of these types of questions to candidates. The scales are useful but it should be derived from questions that are not relative to the candidates' perception of the industry.

Relative/Subjective Scale

Assuming that I am an average programmer, I will not be researching all the programming languages, all the designs, all the architectures, etc. There is no way that I would know what a 10 would even mean. Obviously, the scale could not be on the subject itself because everything is basically infinite.

A better idea would be that it is relative to other people in the industry. I think of myself as average because I find an equal number of people who can program better as those who cannot program better. Truthfully even as I rethink that concept, there are so many people out there that know things that I do not know... basically, the more I think the smaller my value on the scale becomes.

Even assuming that I am a pioneer in C#, there are still so many people who will know Java, C++, VB, and so many more programming languages better than I can. How can I possibly put myself on the scale?

Sigh... I just have to state that I hate these types of questions, not because of the reasons I stated above because logic is comforting to me. But because, I still try to figure out if there are better logical answers even though I know there are none thus just wasting my energy. I hope writing this will help.

Tuesday, January 21, 2014

Life: Understanding Nonsense

After some conversations, I wonder why I even speak to certain people. Wasting hours trying to persuade someone of something that is not even important in the world. For some reason, I feel compelled to explain my useless opinion. Continuing our cyclic conversation of "You're not listening to me, what I am saying is..."

Why do I always think that I am right? What could they have said to change my minds? I do have a sense of ego that I am more "right" when I think I am correct. I think this because I have conceded to other views. I have yet to meet someone to concede to my views.

I realize that there is no direct correlation to the last couple comments but how else could I judge that I am more correct on an opinion or fact-like statements? Am I listening when I think you're not understanding what I am trying to explain?

For example, a friend asked about the turing test. This somehow led to if a computer could have feelings. I said that computer could have feelings. He asked how I would implement it. I explained that all I had to do was program a trigger for it to have a feeling. The feeling would be based on certain criteria to determine what its feeling is or simulate what the feeling is.

He argued that programming it to feel is not the same as feeling. I said that is how feelings work. I think the mystery to feelings is understanding all the nuances to the criteria. Even though we may not know how we come up with our feelings, there are mechanisms that determine them. Thus, I think we are "programmed" to feel but not knowing what that program is.

He did not believe this because he just knows when he has a feeling. For example, he is happy because he knows when he is happy. Thus I attempted to argue that even though he does not know (or care) how he became happy, does not mean that my argument is false.

Failing at that argument, I tried a different route by asking if people know when a dog is happy. Here I am trying to see if he has a method to understanding feelings of something that is not human. First, he says that we cannot truly know if the dog is happy. We can only speculate and somehow he changed the animal to a bat. I think he was trying to say it is harder to speculate because we know less about the behaviors of a bat or whether it even has feelings to be happy. Then he argued that this is off-topic because a dog is not a computer nor is a bat a computer.

I attempted to say that I am trying to establish a premise to how he thinks by using something else that is already "programmed" and is not human. Eventually, I try to use myself as an example by using another human. For this, he concedes that he can trust that when I say that I am happy that I am happy and that what makes me happy can be different than what makes him happy.

I used this as to explain that the computer only needs to say that it is happy based on certain criteria just like we do. He still does not believe this because it is programmed that way. To my reasoning, I moved to try to explain that we as humans are also programmed.

At this point, he argues that humans are not computers, computers are not humans, and computers are not dogs. Therefore, he says that I cannot use humans, dogs, or anything but computers. So, I tried to understand what would persuade him that it is feeling.

He says that I do not need to prove it. I just have to explain how I would do it. At this point, we cycle through all the different points again. Each time we end up at this point, he always states that I am not listening to him.

I think we are on completely different pages. While he is trying to understand how I would do it, I am still trying to figure how to persuade him. I could not convince him that persuading him is relevant to the argument. Although he says that it is irrelevant, his statement that my process is not right means (at least to me) that he needs to be persuaded otherwise what is not right?

Where is the logic wrong in his eyes? What am I failing to understand? My only point of entry is to understand what would persuade him that it is feeling, yet he finds that irrelevant. Is there another logic path?



Reference

http://en.wikipedia.org/wiki/Turing_test