Teaching Computers

by Steve O'Hara

Q: What do computers and air conditioners have in common?
A: They both become useless when you open windows.

If the box says: "This software requires Windows 7 or better",
does that mean it'll run on Linux?

I'll tell you a DNS joke but be advised, it could take up to 24 hours for everyone to get it.

There are only 10 kinds of people, those that understand binary and those that do not.

10 in binary is 1010.

2^10 = 1,024 = 1K
2^20 = 1,048,576 = 1M and
2^30 = 1,073,741,824 = 1G
all start with 10, and are a little more than a thousand, million and billion respectively.

In base 16 (hex), an A is 10 and an F is 15.

The following are a few "Special" cases that I find very interesting. They certainly are not intuitive and require a fairly deep understanding to explain. Anybody who has worked in Assembly language will have no trouble with these.

  1. Negative Numbers. Is X = --X?
  2. Integer Addition. Is X + 10 > X?
  3. Numeric Underflow. Is X + 1000 - X = 1000?
  4. String Concatenation. Composing a long string can be very slow.
  5. String Equality. Is "abc" = "abc"?
  6. Hacking Programs. Things are not always as they seem.

Programming Languages

  1. Memory Management Visualization
  2. Hex / Octal / Binary Numbers Sample Output
  3. Double Precision Numbers Sample Output

You may appreciate these as well.

Last Updated on 12/7/2016
Email: steve@oharasteve.com