JSR-385: Learning from the $125 Million Mars Climate Orbiter Mistake
summary
A $125 million orbital failure traces to a unit mismatch: Lockheed Martin outputs pound‑force‑seconds while NASA expects Newton‑seconds, causing a 57 km plunge into Mars atmosphere. The talk shows a concrete remedy: use JSR-385 (Java Units of Measurement) to encode value plus unit, parse mixed inputs, convert safely and catch incompatible operations at compile or runtime. Demonstrations build BMI and unit‑conversion code and show the library working, plus edge cases like Celsius and absolute vs relative temperatures.
AI-written summary · about
chapters (20)
- 0:00Start
- 13:39Rolling Your Own Library
- 16:13JSR 385 Basic Concepts
- 17:24Exercise Description
- 18:13Setting up a Java Project
- 19:02Definition of a Physical Quantity
- 20:05Exercise Time
- 25:51Base Units
- 26:12Derived Units
- 27:17Multiples
- 33:41Dimensions
- 38:18Equality and Equivalence
- 46:05Multiplication
- 47:30Division
- 48:25Powers
- 48:49Celsius Revisited
- 51:27Speed of Light
- 53:24Systems of Measurement
- 55:39The Java Community Process
- 56:31Becoming a JCP Member
related talks
34mProgramming’s Greatest Mistakes
41mSoftware in Space: Lessons Every Developer Can Learn From
01h 04mLocknote: Programming’s Greatest Mistakes
01h 31mImproving Our Safety With a Modern C++ Quantities and Units Library
20mMiles or Kilometers? Why your data schema should include units
35mApplying NASA coding guidelines to JavaScript or airspace is closer than you may think
54mThe Error of our Ways
53mHow to Rebuild Lost Trust? Control, Promises and OpenJML
