A Matter of Time*
Did you know that every so often, a minute lasts 61 seconds? If that sounds like something that might break some software, you'd be right! In this talk, we'll discuss the common ways that time is implemented in a number of libraries you probably depend on, how these representations can fall short of giving us a complete picture of what time it is, and what we can do about this state of affairs.
The major arc of the talk will center around the mismatch between demands that humans place on representations of time and the various failures of software we rely on to accurately reflect those demands. At the end I’ll also offer some solutions that I think might work to fix the problems I’ll discuss.
I’d like to make four big points:
- for a variety of social, neurological, and psychological reasons, humans have a bad track record of trying to represent ideas that seem deceptively simple into a more rigid form like software
- the way we tend to represent time in software doesn’t map well to the way time is represented in the real world; it often makes inaccurate and arbitrary decisions that don’t always reflect reality
- ultimately, this discrepancy leads to real-world consequences in software that manifest as bugs
- but there’s hope, because there’s an easy way to fix all these problems: don’t try to have a single representation of time that covers everyone’s needs
At the end of the talk, my hope is that the audience walks away with an appreciation for the finer points of time as represented in software — a topic that initially seems simple but is riddled with nuance and interesting special cases.
standards, times, dates, libraries, languages
I feel comfortable giving talks in front of audiences of diverse sizes and composition. You can see an incomplete list of my past talks here (about 30) and feedback from attendees: http://speakerrate.com/speakers/2986-john-feminella
I'm a big believer that representation of abstract concepts in software is fraught with peril, so I've given similar talks highlighting different failures of how software represents important things, likes names, dates, and Unicode. But I haven't given this specific talk before.
Here's a video from Cascadia Ruby a few months ago that highlights a few examples of that: https://www.youtube.com/watch?v=8pzJq-jtd7g
Builder of things, occasional public speaker, and curiosity advocate.
- Title: A Matter of Time
- Track: Chemistry
- Room: B302/303
- Time: 2:30 – 3:15pm
Did you know that every so often, a minute lasts 61 seconds? If that sounds like something that might break some software, you’d be right! In this talk, we’ll discuss the common ways that time is implemented in a number of libraries you probably depend on, how these representations can fall short of giving us a complete picture of what time it is, and what we can do about this state of affairs.
- Speakers: John Feminella