Falsehoods [people] believe about [topic]

Posted on by

I’ve just picked up a nice new entry on the “Falsehoods [people] believe about [topic]” meme … this one is “Falsehoods programmers believe about networks” and comes from Errata Security, a very good resource.

Here’s the top 5 :-

  1. Data on the network cannot be altered.
  2. Encrypted data on the network cannot be altered.
  3. Data cannot be accidentally corrupted, because TCP has checksums and Ethernet has CRCs
  4. If it’s inside my perimeter firewall, that means I have total control over it
  5. If it doesn’t return an error, then send() sent all the data that was asked of it.

A small list at the end is “Falsehoods network administrators believe about networks” …

  1. There is no IPv6 on my network
  2. NAT automatically blocks all inbound attacks
  3. We know all the devices attached to our network at any given time

This joins the two well-known “Falsehoods programmers believe about …”; Time and Names, their top entries are …

  1. There are always 24 hours in a day.
  2. Months have either 30 or 31 days.
  3. Years have 365 days.
  4. February is always 28 days long.
  5. Any 24-hour period will always begin and end in the same day (or week, or month).
  1. People have exactly one canonical full name.
  2. People have exactly one full name which they go by.
  3. People’s names fit within a certain defined amount of space.
  4. People’s names do not change.
  5. People’s names change, but only at a certain enumerated set of events.
  6. People’s names are written in ASCII.
  7. People’s names are written in any single character set.
  8. People’s names are all mapped in Unicode code points.
  9. People’s names are case sensitive.
  10. People’s names are case insensitive.


This entry was posted in Education, Guidelines by Jim Cheetham. Bookmark the permalink.

One thought on “Falsehoods [people] believe about [topic]

  1. A small update to the list, based on the problems caused by the 2012 leap second (and by the 2009 leap second, as it happens) …


    Falsehoods programmers believe about time :

    every minute always lasts 60 seconds

    time read from the system clock is monotonic

    two consecutive reads of a UNIX timestamp, happening at least one second after the other, will result in the second timestamp being bigger than the first one (rephrase of the previous point in the UNIX/POSIX world)

    The rest of the article is a great dig into the behaviour of ntp clients under different configurations, and well worth reading if you need to keep client clocks ticking cleanly.