Falsehoods Programmers Believe
Falsehoods programmers believe: a list of lists about false assumptions on names, addresses, geography, time, and more. Great stuff. Via Michael Tsai, via Jeff Atwood.
When you see a list like:
- There are always 24 hours in a day.
- Months have either 30 or 31 days.
- Years have 365 days.
- February is always 28 days long.
- Any 24-hour period will always begin and end in the same day (or week, or month).
You veer between “oh, that would be stupid” and “oh, that would never really come up.” You’d be amazed how often you really bump into these things. There’s a bug in the Tinderbox tests that panics the day before Daylight Savings Time. We used to have a February 29th bug – and my next-door neighbor has a Feb. 29 birthday, so you’d think I’d know about that. And – fast! if it’s now 12:59:00 PM on December 24, what’s the date exactly sixty seconds from now?