Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Time is a Social Construct

Time is a Social Construct

Given at BrooklynJS, ManhattanJS, and JSConf 2019

https://www.youtube.com/watch?v=EUzPpXhFmG8

Daniel Cousineau

August 14, 2019
Tweet

More Decks by Daniel Cousineau

Other Decks in Programming

Transcript

  1. @dcousineau
    TIME IS A SOCIAL
    CONSTRUCT

    View Slide

  2. @dcousineau
    SOCIAL CONSTRUCTS
    ARE GARBAGE

    View Slide

  3. @dcousineau
    TIME IS GARBAGE

    View Slide

  4. @dcousineau
    @dcousineau IS GARBAGE
    he/him

    View Slide

  5. @dcousineau

    View Slide

  6. @dcousineau

    View Slide

  7. @dcousineau

    View Slide

  8. @dcousineau

    View Slide

  9. @dcousineau

    View Slide

  10. @dcousineau

    View Slide

  11. @dcousineau
    @dcousineau

    View Slide

  12. @dcousineau
    12pm
    Aug 15th, 2019

    View Slide

  13. @dcousineau
    @dcousineau

    View Slide

  14. @dcousineau
    @dcousineau

    View Slide

  15. @dcousineau
    @dcousineau

    View Slide

  16. @dcousineau
    @dcousineau

    View Slide

  17. @dcousineau
    @dcousineau

    View Slide

  18. @dcousineau
    @dcousineau

    View Slide

  19. @dcousineau
    @dcousineau

    View Slide

  20. @dcousineau
    @dcousineau

    View Slide

  21. @dcousineau

    View Slide

  22. @dcousineau
    @dcousineau

    View Slide

  23. @dcousineau
    @dcousineau

    View Slide

  24. @dcousineau
    @dcousineau

    View Slide

  25. @dcousineau
    12pm
    Aug 15th, 2019
    UTC-0400

    View Slide

  26. @dcousineau

    View Slide

  27. @dcousineau
    2019-08-15T12:00:00-0400

    View Slide

  28. @dcousineau

    View Slide

  29. @dcousineau

    View Slide

  30. @dcousineau

    View Slide

  31. @dcousineau

    View Slide

  32. @dcousineau

    View Slide

  33. @dcousineau

    View Slide

  34. @dcousineau
    @dcousineau

    View Slide

  35. @dcousineau

    View Slide

  36. @dcousineau
    2019-08-15T16:00:00Z

    View Slide

  37. @dcousineau
    @dcousineau

    View Slide

  38. @dcousineau
    @dcousineau

    View Slide

  39. @dcousineau
    Daylight
    Savings
    Time
    @dcousineau

    View Slide

  40. @dcousineau
    Sun, Mar 10 @ 2am
    to
    Sun, Nov 3 @ 2am

    View Slide

  41. @dcousineau
    2019-08-15T16:00:00Z
    2019-11-04T16:00:00Z
    12pm in New York
    11am in New York

    View Slide

  42. @dcousineau

    View Slide

  43. @dcousineau

    View Slide

  44. @dcousineau
    Arizona is in the Mountain Timezone and does not
    observe daylight savings time except in the Navajo
    Indian Nation.

    View Slide

  45. @dcousineau

    View Slide

  46. @dcousineau
    Standard DST

    View Slide

  47. @dcousineau
    2019-03-10T02:01:00-07:00
    “Fun” Fact Quiz

    View Slide

  48. @dcousineau
    2019-03-10T02:01:00-07:00
    “Fun” Fact Quiz

    View Slide

  49. @dcousineau

    View Slide

  50. @dcousineau






















    @dcousineau

    View Slide

  51. @dcousineau

    View Slide

  52. @dcousineau






















    @dcousineau

    View Slide

  53. @dcousineau

    View Slide

  54. @dcousineau






















    @dcousineau

    View Slide

  55. @dcousineau

    View Slide

  56. @dcousineau

    View Slide

  57. @dcousineau
    America/New_York EST
    America/Chicago CST
    America/Denver MST
    America/Phoenix MST

    View Slide

  58. @dcousineau
    America/Indiana/Indianapolis
    America/Indiana/Knox
    America/Indiana/Marengo
    America/Indiana/Petersburg
    America/Indiana/Tell_City
    America/Indiana/Vevay
    America/Indiana/Vincennes
    America/Indiana/Winamac

    View Slide

  59. @dcousineau
    Maybe Wikipedia can help…

    View Slide

  60. @dcousineau

    View Slide

  61. @dcousineau

    View Slide

  62. @dcousineau
    1918–1961

    View Slide

  63. @dcousineau
    1961–1967

    View Slide

  64. @dcousineau
    1967–1977

    View Slide

  65. @dcousineau
    1977–1991

    View Slide

  66. @dcousineau
    1991–2006

    View Slide

  67. @dcousineau
    2006–March 2007

    View Slide

  68. @dcousineau
    March 2007–November 2007

    View Slide

  69. @dcousineau
    November 2007–Today

    View Slide

  70. @dcousineau
    America/New_York:

    Dearborn & Ohio
    America/Chicago:

    Jasper, Lake, LaPorte, Newton, Porter,
    Gibson, Posey, Spencer, Vanderburgh, &
    Warrick
    America/Kentucky/Louisville:
    Clark, Floyd, & Harrison
    Counties in Indiana NOT on America/Indiana/*

    View Slide

  71. @dcousineau
    2019-08-15T12:00:00-0400
    America/New_York

    View Slide

  72. @dcousineau

    View Slide

  73. @dcousineau
    So… did we learn anything?

    View Slide

  74. @dcousineau
    Treat time as if it is
    irreducibly complex.

    View Slide

  75. @dcousineau
    Time is a question of where
    almost as much as it’s when.

    View Slide

  76. @dcousineau
    Treat UTC like it’s merely a
    synchronization and
    conversion aid.

    View Slide

  77. @dcousineau
    Always preserve presented
    offsets / timezones.
    Only clone & convert into
    UTC if storage requires.

    View Slide

  78. @dcousineau
    Use ISO-8601 in transit & let
    the browser handle the rest.
    Treat it like a11y, give the
    browser / user control.

    View Slide

  79. @dcousineau
    Be explicit about context
    with your user.
    If this is confusing for you, it’s
    worse for them.

    View Slide

  80. @dcousineau
    USE A LIBRARY! Especially
    for simple arithmetic.
    date-fns, moment.js, Luxon

    View Slide

  81. @dcousineau
    When all else fails, just
    move to Florida. ☀

    View Slide

  82. @dcousineau
    fin.

    View Slide