{"podcast":{"title":"The Stack Overflow Podcast","slug":"the-stack-overflow-podcast","podcast_index_feed_id":450923,"rss_url":"https://rss.art19.com/the-stack-overflow-podcast","website_url":"https://art19.com/shows/the-stack-overflow-podcast","image_url":"https://content.production.cdn.art19.com/images/f1/4b/a2/43/f14ba243-6fa1-48bc-88bb-16b5e90e01cf/9ab8462ecb3182c5303998dc1a19385c2c816946f95a9fa658457e657e3ea170cac950b4c623a4447028d0e31bb3b3e2ec62ad0b4d3fe42f5bc0419c6d811c9d.jpeg","author":"The Stack Overflow Podcast","episode_count":939,"summary":"For well over a decade, the Stack Overflow Podcast has been exploring what it means to be a developer and how the art and practice of software engineering is changing our world. From creating code to running it in production, we host important conversations and fascinating guests that will help you understand how technology is made and where it’s headed. Hosted by Ryan Donovan, the Stack Overflow Podcast is your home for all things software.","last_synced_at":null,"page_url":"https://stenobird.com/podcast/the-stack-overflow-podcast"},"episode":{"title":"Time is a construct but it can still break your software","slug":"time-is-a-construct-but-it-can-still-break-your-software","published_at":"2026-05-01T04:00:00+00:00","page_url":"https://stenobird.com/podcast/the-stack-overflow-podcast/time-is-a-construct-but-it-can-still-break-your-software","show_page_url":"https://stenobird.com/podcast/the-stack-overflow-podcast","url":"https://rss.art19.com/episodes/46aaa840-a696-49db-984d-1e50846c5831.mp3?rss_browser=BAhJIg90cmFuc2NyaWJyBjoGRVQ%3D--952c5701c84ad333c69d5faa668f8177091704f0","audio_url":"https://rss.art19.com/episodes/46aaa840-a696-49db-984d-1e50846c5831.mp3?rss_browser=BAhJIg90cmFuc2NyaWJyBjoGRVQ%3D--952c5701c84ad333c69d5faa668f8177091704f0","summary":"JavaScript's legacy Date object is fundamentally flawed, leading to a nine-year effort to implement the Temporal API. This episode explores the technical challenges of redesigning time handling in ECMAScript and the complexities of standardizing a massive new API.","meta_description":"Explore the evolution of JavaScript date/time handling, the massive scale of the Temporal proposal, and why the legacy Date object isn't going away anytim…","key_points":["Main idea: The Temporal proposal aims to replace the problematic JavaScript Date object with a modern, robust API","Technical challenge: The Temporal API is so large that it required removing features like custom calendars to prevent bloating JS engines","Failure mode: Relying on the legacy Date object leads to inconsistent behavior and difficulty handling time zones and calendars","Practical takeaway: While Temporal is at Stage 4, developers should prepare for a long transition period as the old Date object remains for backward compatibility","Complexity note: The Temporal specification requires over 4,500 tests to ensure correctness across different environments"],"chapters":[{"start_ms":60000,"title":"Introduction and Background","summary":"Jason Williams discusses his background in software engineering and his early involvement in open source projects."},{"start_ms":220000,"title":"The Flaws of the Date Object","summary":"An exploration of why the original JavaScript Date object was difficult to work with and how it inherited issues from Java."},{"start_ms":545000,"title":"The Rise and Fall of Moment.js","summary":"A look at how developers used libraries like Moment.js to solve date issues and the challenges of managing library size."},{"start_ms":690000,"title":"Rust and Modern Engine Development","summary":"Jason discusses his work on the Boa engine and the impact of using Rust for high-performance software components."},{"start_ms":1010000,"title":"The Complexity of the Temporal Proposal","summary":"Why the Temporal API took nine years to develop, focusing on the massive API surface and the need for rigorous testing."},{"start_ms":1485000,"title":"Data Precision and the 2038 Problem","summary":"A technical discussion on nanosecond precision and how the new API avoids the Y2K38 integer overflow issue."},{"start_ms":1960000,"title":"The Future of JavaScript Time","summary":"Discussing the transition from Date to Temporal and why the legacy API will persist in the ecosystem for years."}],"topics":["JavaScript","Temporal API","ECMAScript","TC39","Software Engineering","Web Development","Date and Time Handling","Browser Engines"],"duration_seconds":2138,"processing_state":"processed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/the-stack-overflow-podcast/episodes/time-is-a-construct-but-it-can-still-break-your-software/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/the-stack-overflow-podcast/time-is-a-construct-but-it-can-still-break-your-software.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}