Why We Can't Have Nice Things: FLoats, Dates, and Names
summary
Three hard problems: times, floats, and names. Ruby code shows NaN is not equal to itself and TZ-aware conversions need IANA tzdata and tzinfo to handle nonexistent or ambiguous local times (spring-forward and fall-back), with time zones changing since 1883. Floating point uses IEEE 754 binary64, so most real numbers can’t be represented exactly — inspect bits or use BigDecimal or Rational for exactness. Names break assumptions (Linda Callahan, HaHa Clinton‑Dix, “Number 16 Bus Shelter”); use a single unrestricted name field and avoid naive filters.
AI-written summary · about
chapters (4)
- 0:00Introduction and assumptions
- 4:01The complexities of time
- 17:42Floating point pitfalls
- 25:56The realities of names
related talks
32mWhy We Can't Have Nice Things: Unicode, Dates, and Names
01h 00mDates and times aren't that hard - honestly!
40mTime, Numbers, Text
39mThe Pearls and Pitfalls of DateTime
26mMo Money Mo Problems (with Ruby)
19mProgramming in the 4th Dimension - Making Time Make Sense
38mI see your 127.32+, a tale of rationals
01h 05mWorking with Time is Easy
