{
    "archive_path": "archive/1732869886.005835",
    "base_url": "m.youtube.com/watch?v=czzAVuVz7u4",
    "basename": "watch",
    "bookmarked_date": "2024-11-29 08:44",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/m.youtube.com/watch?v=czzAVuVz7u4",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=m.youtube.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": null
    },
    "domain": "m.youtube.com",
    "downloaded_at": "2024-11-29T08:44:47.289965+00:00",
    "downloaded_datestr": "2024-11-29 08:44",
    "extension": "",
    "hash": "BD076GGNQPEYF35VGR7M",
    "history": {
        "archive_org": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://web.archive.org/save/https://m.youtube.com/watch?v=czzAVuVz7u4"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2024-11-29T08:46:24.334110+00:00",
                "index_texts": null,
                "output": "https://web.archive.org/web/20241129084607/https://www.youtube.com/watch?app=desktop&v=czzAVuVz7u4",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:46:03.214836+00:00",
                "status": "succeeded"
            }
        ],
        "dom": [
            {
                "cmd": [
                    "/usr/bin/chromium-browser",
                    "--proxy-server=socks5://tor-socks-proxy:9150",
                    "--disable-features=DarkMode",
                    "--run-all-compositor-stages-before-draw",
                    "--hide-scrollbars",
                    "--autoplay-policy=no-user-gesture-required",
                    "--no-first-run",
                    "--use-fake-ui-for-media-stream",
                    "--use-fake-device-for-media-stream",
                    "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'",
                    "--headless=new",
                    "--no-sandbox",
                    "--no-zygote",
                    "--disable-dev-shm-usage",
                    "--disable-software-rasterizer",
                    "--disable-sync",
                    "--window-size=1440,2000",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "--user-data-dir=/data/personas/Default/chrome_profile",
                    "--profile-directory=Default",
                    "--dump-dom",
                    "https://m.youtube.com/watch?v=czzAVuVz7u4"
                ],
                "cmd_version": "131.0.6778",
                "end_ts": "2024-11-29T08:45:24.094149+00:00",
                "index_texts": null,
                "output": "output.html",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:44:56.348797+00:00",
                "status": "succeeded"
            }
        ],
        "favicon": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.google.com/s2/favicons?domain=m.youtube.com"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2024-11-29T08:44:50.998715+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:44:47.606015+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://m.youtube.com/watch?v=czzAVuVz7u4"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2024-11-29T08:44:51.709370+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:44:51.036575+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.8.5rc51",
                "end_ts": "2024-11-29T08:45:50.832182+00:00",
                "index_texts": [
                    "(https://www.youtube.com/s/desktop/ceaca137/img/logos/favicon.ico) (https://www.youtube.com/s/desktop/ceaca137/img/logos/favicon_32x32.png) (https://www.youtube.com/s/desktop/ceaca137/img/logos/favicon_48x48.png) (https://www.youtube.com/s/desktop/ceaca137/img/logos/favicon_96x96.png) (https://www.youtube.com/s/desktop/ceaca137/img/logos/favicon_144x144.png) (https://i.ytimg.com/generate_204) (/s/player/b46bb280/player_ias.vflset/en_US/base.js) (https://i.ytimg.com/vi/czzAVuVz7u4/hqdefault.jpg) (https://www.youtube.com/s/desktop/ceaca137/jsbin/desktop_polymer.vflset/desktop_polymer.js) (//fonts.googleapis.com/css2?family=Roboto_old:wght@300;400;500;700&family=YouTube+Sans:wght@300..900&display=swap) (/s/player/b46bb280/www-player.css) (https://www.youtube.com/s/desktop/ceaca137/cssbin/www-main-desktop-watch-page-skeleton.css) (https://www.youtube.com/s/desktop/ceaca137/cssbin/www-main-desktop-player-skeleton.css) (https://www.youtube.com/s/desktop/ceaca137/cssbin/www-onepick.css) (https://www.youtube.com/s/_/ytmainappweb/_/ss/k=ytmainappweb.kevlar_base.bSBwVoqE__Q.L.B1.O/am=AACCBA/d=0/br=1/rs=AGKMywHvA891U2Eh_PAEpw_dibq-gXlU9A) (https://www.youtube.com/opensearch?locale=en_US) (YouTube) (/manifest.webmanifest) (https://rr2---sn-gxuo03g-vqne.googlevideo.com/generate_204) (https://rr2---sn-gxuo03g-vqne.googlevideo.com/generate_204?conn2) (undefined) (https://m.youtube.com/watch?v=czzAVuVz7u4) (https://m.youtube.com/watch?v=czzAVuVz7u4) Why Can't We Make Simple Software? - Peter van Hardenberg - YouTube (android-app://com.google.android.youtube/http/www.youtube.com/watch?app=desktop&v=czzAVuVz7u4) (ios-app://544007664/vnd.youtube/www.youtube.com/watch?app=desktop&v=czzAVuVz7u4)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       (/s/player/b46bb280/www-player.css) (https://fonts.googleapis.com/css?family=Roboto_old:300italic,400italic,500italic,700italic) (https://fonts.googleapis.com/css?family=Roboto+Mono:400)                    ()        \u2022                  ()     ()    ()    ()   NaN / NaN                               ()                 ()       \u2022                   ()     ()    ()    ()   NaN / NaN                              ()                      ()             Play (k)     (Mute)       (Volume)                                  Back            (/) (YouTube Home)                                        () Skip navigation               (Search)  ()                     Search      Search       ()          Search with your voice                     () (https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fwatch%253Fapp%253Ddesktop%2526v%253DczzAVuVz7u4&hl=en&ec=65620)    Sign in                           (/) (YouTube Home)                                                                               Why Can't We Make Simple Software? - Peter van Hardenberg ()     (Search)    Search  (Watch later)     Watch later  (Share)     Share  (Copy link)     Copy link      Info       Shopping       (More)           Tap to unmute    2x                     (Play)            If playback doesn't begin shortly, try restarting your device.                                                                               \u2022            You're signed out Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer. Cancel Confirm             Share (Share link)  Include playlist         An error occurred while retrieving sharing information. Please try again later.  (Close)       (Close)                               0:00 (Play from this position)     (Exit precise seeking)        (Watch full video)     (Watch full video)          (Play (k))     (Next (SHIFT+n)) (https://www.youtube.com/watch?v=8-KLX1PGg8Q)     (Mute (m))              (Volume)        0:00 /  0:00  \u2022 Watch full video Live  \u2022 (View chapter)       \u2022 (View key moments)        Scroll for details     (Autoplay is on)    (Subtitles/closed captions unavailable)     (Settings)     (Miniplayer (i))     (Picture-in-picture)     (Theater mode (t))     (Play on TV)     (Full screen (f))                          Sign in to confirm you\u2019re not a bot This helps protect our community.  (https://support.google.com/youtube/answer/3037019#zippy=%2Ccheck-that-youre-signed-into-youtube) Learn more     () (https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fapp%253Ddesktop%2526v%253DczzAVuVz7u4&hl=en) Sign in                               Why Can't We Make Simple Software? - Peter van Hardenberg    (/@HandmadeCities) ()   (Handmade Cities) (/@HandmadeCities) Handmade Cities   Handmade Cities      534 subscribers      <__slot-el>() Subscribe                                  <__slot-el>()    Subscribed                                                                              (I like this)    489         (I dislike this)                (Share)    Share         ()    Download        Download     (Save)    Save                ()                            8.2K views  1 day ago    8,254 views \u2022 Nov 27, 2024             Show less     Find out more about Handmade Cities at:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbGk2Wm5fNmFQVWUwX0x5RkhuQjhFN3YteVY2QXxBQ3Jtc0trZlhJYkRuanVWV01ITl9BcTRnYUdZQ2R5S1NlMFN2SGc0c05oODBPakhMM1RyZWZ4QlVKWFM1M0dJLWEzOWk3bWk5bWxqb1Rad2lfNG50bTBBYloxN1poenVqOVRzMTFYQU1tMjBEYlc1SDdLSkRTcw&q=https%3A%2F%2Fhandmadecities.com%2F&v=czzAVuVz7u4) https://handmadecities.com/  Discover meetups in your area:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbDEzZnlPRFNGQl9EbmIta1cydkdTVEFTSHh5UXxBQ3Jtc0ttejQtSjZZZWtsVFpwTU9GVXpzejFXVUYzZ1E0aFZENXlzcEYyZVZUckk4cHYtQUdXSmVnblBacWpRNzZBck12M2U3ZEJvWnRSRlhoZzZyV3FTZzNkNlpydUI1eG92eGVpNTZKRkh5SUVnZ1RYT1Vqdw&q=https%3A%2F%2Fhandmadecities.com%2Fmeetups&v=czzAVuVz7u4) https://handmadecities.com/meetups        \u2026 ...more  ...more Transcript  Follow along using the transcript.  () Show transcript             (/@HandmadeCities) ()  Handmade Cities 534 subscribers    () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/videos)    Videos           () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/about)    About                () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/videos)    Videos          () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/about)    About          () (https://www.youtube.com/redirect?event=Watch_SD_EP&redir_token=QUFFLUhqa1JCY3FjaGwyQVB2SFljWWttY29yTkl5UTNCd3xBQ3Jtc0ttVVJjRTBhbWJ6WHQ3QTNxbDJCQWtPaUY0SHBSa1NpbEJlOXZ6Q1hmX1JZa3dMOEF1bGIzT0dpMUlrMDE2OGJwdzFJX1EzNHN6TTJCeURKSGtKVW1iblhjTE5qcURvR21rcDBxdjV6UklmUV9aN25jWQ&q=https%3A%2F%2Ftwitch.tv%2Fhandmadecities) ()  twitch                       Show less                                  Why Can't We Make Simple Software? - Peter van Hardenberg   8,254 views 8.2K views    Nov 27, 2024     (I like this)    489         (I dislike this)                (Share)    Share         ()    Download        Download     (Save)    Save                ()                                             ()  (Comments) Comments 36                 Top comments          Newest first                    ()                                                                     ()                          ()  (In this video) In this video           ()                 Transcript                 ()                    ()  (Description) Description           ()                    Why Can't We Make Simple Software? - Peter van Hardenberg   489  Likes    8,254  Views     Nov 27  2024      Find out more about Handmade Cities at:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbkV5S2ZZWG9raE5SZUQzZU05ejdRWTlkMGNiZ3xBQ3Jtc0ttTFFHdlRMM05hVGE4MjY4eGtYLXhaVFRvWk1wU0huNFpnaW1yaFdYQlNfcmJsWk0zRWV2ZmVXRjFnYS1iVG1VTVRfbUoweFNjMVc0UV94MDB4ZmJsSkFycjR2TnZDNzdJMmdrV1p3RGNOVzhGd2t2aw&q=https%3A%2F%2Fhandmadecities.com%2F&v=czzAVuVz7u4) https://handmadecities.com/  Discover meetups in your area:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbkViU3RwV3M5RjdlZjVEeklrdmFwbkhBc0hJZ3xBQ3Jtc0tsZ3hGVWJUbEZwNUJETnphdVVoNF9Wb1JaQmM0bnVDQnlrSTRTenlvU3ZVengzVjAxUV85R1BGY0I3ZkZtd0Q3Y09STm5CVkJ5X0swaEloY0RaMXlDdTMzaTNhYzVQT1RYUHotNTJxa1k2TTFPY2luQQ&q=https%3A%2F%2Fhandmadecities.com%2Fmeetups&v=czzAVuVz7u4) https://handmadecities.com/meetups  Watch previous talks, demos, and more anytime at:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3dZdVFNejA5ZzYzUzZfQWJOeTdqd1FaRXVnQXxBQ3Jtc0tuUUYzU0ZhYnZyWnRTWE04b3drRlNZSHdVdTZ1UGRzc2xFM2lEcEhSaktuZFR0SXJsc25qYWJJOUtScUFIdC1RWmp4NE02Z0QzTGMtQmhSRVA3bDhUdENIemJILWIxdVphSlE2UWxVTnZQa3ROOExWTQ&q=https%3A%2F%2Fhandmadecities.com%2Fmedia&v=czzAVuVz7u4) https://handmadecities.com/media  Peter:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbGc1R0pMZ1dFZDVDaE5hQV9NdWl0WWEybkQwd3xBQ3Jtc0tueFd1dVFmOW1fLUxIQjJfaGQ4V0NhTnVSZ3ZHeFlVZ285WE9XNXNocDIwN0szOVJqZzEwR2Rad19vRU5XZVJod0taSnZwdkZCOEY1U3JIV3dEVk95YXFVZ3NyZHBrSXI2T21BcFZMTHJZYjZQc3d2dw&q=https%3A%2F%2Fwww.pvh.ca%2F&v=czzAVuVz7u4) https://www.pvh.ca/   (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUVyX3FQUkRVd2R4cjdHNDhscDEwYXVLRk5VZ3xBQ3Jtc0tsUUZXRElJVDBYZTF1dW9qd1hhelZIaFYzSVl4YmFtTTlxRmtoQVNqdDVFcV85cUY4S1RPZWs1OUNWX3lPUlhlajNUazFqVkJGOWM1WHY3Um51NktnT3ZjU0FjV3RFZlQyMGEwTEh3dEpKRjV2OWFSaw&q=https%3A%2F%2Ftwitter.com%2Fpvh&v=czzAVuVz7u4) ()  /\u00a0pvh          Show less  ...more      Find out more about Handmade Cities at:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbkV5S2ZZWG9raE5SZUQzZU05ejdRWTlkMGNiZ3xBQ3Jtc0ttTFFHdlRMM05hVGE4MjY4eGtYLXhaVFRvWk1wU0huNFpnaW1yaFdYQlNfcmJsWk0zRWV2ZmVXRjFnYS1iVG1VTVRfbUoweFNjMVc0UV94MDB4ZmJsSkFycjR2TnZDNzdJMmdrV1p3RGNOVzhGd2t2aw&q=https%3A%2F%2Fhandmadecities.com%2F&v=czzAVuVz7u4) https://handmadecities.com/  Discover meetups in your area:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbkViU3RwV3M5RjdlZjVEeklrdmFwbkhBc0hJZ3xBQ3Jtc0tsZ3hGVWJUbEZwNUJETnphdVVoNF9Wb1JaQmM0bnVDQnlrSTRTenlvU3ZVengzVjAxUV85R1BGY0I3ZkZtd0Q3Y09STm5CVkJ5X0swaEloY0RaMXlDdTMzaTNhYzVQT1RYUHotNTJxa1k2TTFPY2luQQ&q=https%3A%2F%2Fhandmadecities.com%2Fmeetups&v=czzAVuVz7u4) https://handmadecities.com/meetups  Watch previous talks, demos, and more anytime at:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3dZdVFNejA5ZzYzUzZfQWJOeTdqd1FaRXVnQXxBQ3Jtc0tuUUYzU0ZhYnZyWnRTWE04b3drRlNZSHdVdTZ1UGRzc2xFM2lEcEhSaktuZFR0SXJsc25qYWJJOUtScUFIdC1RWmp4NE02Z0QzTGMtQmhSRVA3bDhUdENIemJILWIxdVphSlE2UWxVTnZQa3ROOExWTQ&q=https%3A%2F%2Fhandmadecities.com%2Fmedia&v=czzAVuVz7u4) https://handmadecities.com/media  Peter:  (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbGc1R0pMZ1dFZDVDaE5hQV9NdWl0WWEybkQwd3xBQ3Jtc0tueFd1dVFmOW1fLUxIQjJfaGQ4V0NhTnVSZ3ZHeFlVZ285WE9XNXNocDIwN0szOVJqZzEwR2Rad19vRU5XZVJod0taSnZwdkZCOEY1U3JIV3dEVk95YXFVZ3NyZHBrSXI2T21BcFZMTHJZYjZQc3d2dw&q=https%3A%2F%2Fwww.pvh.ca%2F&v=czzAVuVz7u4) https://www.pvh.ca/   (https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUVyX3FQUkRVd2R4cjdHNDhscDEwYXVLRk5VZ3xBQ3Jtc0tsUUZXRElJVDBYZTF1dW9qd1hhelZIaFYzSVl4YmFtTTlxRmtoQVNqdDVFcV85cUY4S1RPZWs1OUNWX3lPUlhlajNUazFqVkJGOWM1WHY3Um51NktnT3ZjU0FjV3RFZlQyMGEwTEh3dEpKRjV2OWFSaw&q=https%3A%2F%2Ftwitter.com%2Fpvh&v=czzAVuVz7u4) ()  /\u00a0pvh         \u2026 ...more  ...more Show less     Transcript  Follow along using the transcript.  () Show transcript             (/@HandmadeCities) ()  Handmade Cities 534 subscribers    () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/videos)    Videos           () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/about)    About                () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/videos)    Videos          () (/channel/UCkiOutDcOG0KRLQc71Pd-Fg/about)    About          () (https://www.youtube.com/redirect?event=Watch_SD_EP&redir_token=QUFFLUhqa1JCY3FjaGwyQVB2SFljWWttY29yTkl5UTNCd3xBQ3Jtc0ttVVJjRTBhbWJ6WHQ3QTNxbDJCQWtPaUY0SHBSa1NpbEJlOXZ6Q1hmX1JZa3dMOEF1bGIzT0dpMUlrMDE2OGJwdzFJX1EzNHN6TTJCeURKSGtKVW1iblhjTE5qcURvR21rcDBxdjV6UklmUV9aN25jWQ&q=https%3A%2F%2Ftwitch.tv%2Fhandmadecities) ()  twitch                         ()  (Transcript) Transcript                      ()                                                 ()     ()    ()    ()   NaN / NaN                                   (/watch?v=LcJKxPXYudE) () ()    31:59    31:59    Now playing             (/watch?v=LcJKxPXYudE)  (Microservices are Technical Debt) Microservices are Technical Debt   (NeetCodeIO) NeetCodeIO  NeetCodeIO      \u2022      \u2022 653K views 2 months ago                                 (/watch?v=TwKpj2ISQAc) () ()    2:48:11    2:48:11    Now playing             (/watch?v=TwKpj2ISQAc)  (the sham legacy of Richard Feynman) the sham legacy of Richard Feynman   (Angela Collier) Angela Collier   Angela Collier      \u2022      \u2022 72K views 17 hours ago        New                            (/watch?v=WDfrA7PE-G0) () ()    42:52    42:52    Now playing             (/watch?v=WDfrA7PE-G0)  (Eon: An Amiga 500 Demo - Andreas Fredriksson) Eon: An Amiga 500 Demo - Andreas Fredriksson   (Handmade Cities) Handmade Cities  Handmade Cities      \u2022      \u2022 11K views 3 days ago        New                            (/watch?v=BcmUZpdChhA) () ()    12:11    12:11    Now playing             (/watch?v=BcmUZpdChhA)  (Why Unreal Engine 5.5 is a BIG Deal) Why Unreal Engine 5.5 is a BIG Deal   (Unreal Sensei) Unreal Sensei  Unreal Sensei           \u2022      \u2022 1.1M views 2 weeks ago                                 (/watch?v=8-KLX1PGg8Q) () ()    31:09    31:09    Now playing             (/watch?v=8-KLX1PGg8Q)  (Through the Fire and the Flames - Jon Gjengset | EuroRust 2024) Through the Fire and the Flames - Jon Gjengset | EuroRust 2024   (EuroRust) EuroRust  EuroRust      \u2022      \u2022 12K views 3 weeks ago                                 (/watch?v=caKW8R1qmq4) () ()    29:03    29:03    Now playing             (/watch?v=caKW8R1qmq4)  (Can Witchery find the fault of this 3Dfx Voodoo 2?) Can Witchery find the fault of this 3Dfx Voodoo 2?   (Bits und Bolts) Bits und Bolts  Bits und Bolts      \u2022      \u2022 11K views 19 hours ago        New                            (/watch?v=zdef2U0uWxA) () ()    26:01    26:01    Now playing             (/watch?v=zdef2U0uWxA)  (\u0641\u0627\u0646 \u06f3\u06f6\u06f0 \u0628\u0627 \u0627\u0628\u0648\u0637\u0627\u0644\u0628 | \u0642\u0633\u0645\u062a \u062f\u0648\u0627\u0632\u062f\u0647\u0645: \u0639\u0648\u0627\u0631\u0636 \u0634\u06cc\u0631\u06cc\u0646\u06cc \u0648 \u062e\u0648\u062f\u0634\u06cc\u0631\u06cc\u0646\u06cc!) \u0641\u0627\u0646 \u06f3\u06f6\u06f0 \u0628\u0627 \u0627\u0628\u0648\u0637\u0627\u0644\u0628 | \u0642\u0633\u0645\u062a \u062f\u0648\u0627\u0632\u062f\u0647\u0645: \u0639\u0648\u0627\u0631\u0636 \u0634\u06cc\u0631\u06cc\u0646\u06cc \u0648 \u062e\u0648\u062f\u0634\u06cc\u0631\u06cc\u0646\u06cc!   (Football360 || \u0641\u0648\u062a\u0628\u0627\u0644 \u06f3\u06f6\u06f0) Football360 || \u0641\u0648\u062a\u0628\u0627\u0644 \u06f3\u06f6\u06f0  Football360 || \u0641\u0648\u062a\u0628\u0627\u0644 \u06f3\u06f6\u06f0           \u2022      \u2022 63K views 22 hours ago        New                            (/watch?v=vj65eDbdBzs) () ()    1:07:22    1:07:22    Now playing             (/watch?v=vj65eDbdBzs)  (Linux Kernel 6.12 | This is Historic) Linux Kernel 6.12 | This is Historic   (Maple Circuit) Maple Circuit  Maple Circuit      \u2022      \u2022 89K views 11 days ago                                 (/watch?v=-MbTj8DGOP0) () ()    21:33    21:33    Now playing             (/watch?v=-MbTj8DGOP0)  (Comparing 10 programming languages. I built the same app in all of them.) Comparing 10 programming languages. I built the same app in all of them.   (Tom Delalande) Tom Delalande  Tom Delalande      \u2022      \u2022 178K views 7 months ago                                 (/watch?v=cJ5Rkk5fnGg) () ()    24:44    24:44    Now playing             (/watch?v=cJ5Rkk5fnGg)  (Making (Non-Game) Software With Godot \u2013 Benjamin Oesterle \u2013 GodotCon 2024) Making (Non-Game) Software With Godot \u2013 Benjamin Oesterle \u2013 GodotCon 2024   (Godot Engine) Godot Engine  Godot Engine      \u2022      \u2022 17K views 9 days ago                                 (/watch?v=KuLUd1UIvVA) () ()    9:30    9:30    Now playing             (/watch?v=KuLUd1UIvVA)  (Programming Is Cooked) Programming Is Cooked   (ThePrimeTime) ThePrimeTime  ThePrimeTime           \u2022      \u2022 292K views 5 days ago        New                            (/watch?v=gSKTfG1GXYQ) () ()    40:34    40:34    Now playing             (/watch?v=gSKTfG1GXYQ)  (uv: An Extremely Fast Python Package Manager) uv: An Extremely Fast Python Package Manager   (Jane Street) Jane Street  Jane Street      \u2022      \u2022 52K views 1 month ago                                 (/watch?v=7VSVfQcaxFY) () ()       (/watch?v=7VSVfQcaxFY)  (How 1 Software Engineer Outperforms 138 - Lichess Case Study) How 1 Software Engineer Outperforms 138 - Lichess Case Study   (Tom Delalande) Tom Delalande  Tom Delalande      \u2022      \u2022 267K views 2 months ago                                 (/watch?v=cVKqhBekiyo) () ()       (/watch?v=cVKqhBekiyo)  (\u0628\u062f\u062a\u0631\u06cc\u0646 \u0634\u0648\u062e\u06cc \u0628\u0627 \u0627\u0633\u062a\u0631\u06cc\u0645\u0631 \u0647\u0627\u06cc \u0622\u067e\u0627\u0631\u0627\u062a \ud83e\udd23\ud83d\udc80 (\u0627\u0632 \u0647\u0645\u0647 \u062c\u0627 \u0628\u0646 \u0634\u062f\u0645)) \u0628\u062f\u062a\u0631\u06cc\u0646 \u0634\u0648\u062e\u06cc \u0628\u0627 \u0627\u0633\u062a\u0631\u06cc\u0645\u0631 \u0647\u0627\u06cc \u0622\u067e\u0627\u0631\u0627\u062a \ud83e\udd23\ud83d\udc80 (\u0627\u0632 \u0647\u0645\u0647 \u062c\u0627 \u0628\u0646 \u0634\u062f\u0645)   (Mehdi Jahaan) Mehdi Jahaan  Mehdi Jahaan      \u2022      \u2022 125K views 1 day ago        New                            (/watch?v=oA7xeRyxMSo) () ()       (/watch?v=oA7xeRyxMSo)  (Side Projects: The Unsung Heroes of Software Development - Rasmus Kromann-Larsen - CPH DevFest 2024) Side Projects: The Unsung Heroes of Software Development - Rasmus Kromann-Larsen - CPH DevFest 2024   (NDC Conferences) NDC Conferences  NDC Conferences      \u2022      \u2022 11K views 10 days ago                                 (/watch?v=IC32zBGdJok) () ()       (/watch?v=IC32zBGdJok)  (Why The US is Struggling to Return to the Moon) Why The US is Struggling to Return to the Moon   (Real Engineering) Real Engineering  Real Engineering           \u2022      \u2022 713K views 3 days ago        New                            (/watch?v=KrPsyr8Ig6M) () ()       (/watch?v=KrPsyr8Ig6M)  (Local-first software - Peter Van Hardenberg) Local-first software - Peter Van Hardenberg   (J On The Beach) J On The Beach  J On The Beach      \u2022      \u2022 15K views 2 years ago                                 (/watch?v=0rlATWBNvMw) () ()       (/watch?v=0rlATWBNvMw)  (DHH discusses SQLite (and Stoicism)) DHH discusses SQLite (and Stoicism)   (Aaron Francis) Aaron Francis  Aaron Francis      \u2022      \u2022 100K views 6 months ago                                 (/watch?v=Wxw-YAGYHDc) () ()       (/watch?v=Wxw-YAGYHDc)  (Webassembly Is NOT What You Think!) Webassembly Is NOT What You Think!   (The Art Of The Terminal) The Art Of The Terminal  The Art Of The Terminal      \u2022      \u2022 14K views 3 weeks ago                                 (/watch?v=s4wlrxFf2lM) () ()       (/watch?v=s4wlrxFf2lM)  (Linus Torvalds on the kernel, GenAI, EVs, programming languages and more\u2026) Linus Torvalds on the kernel, GenAI, EVs, programming languages and more\u2026   (TFiR) TFiR  TFiR      \u2022      \u2022 48K views 1 month ago                                                        () Show more                                                                                               ()                                                                                                                                                                                              "
                ],
                "output": "htmltotext.txt",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:45:50.459639+00:00",
                "status": "succeeded"
            }
        ],
        "media": [
            {
                "cmd": [
                    "/usr/local/bin/yt-dlp",
                    "--restrict-filenames",
                    "--trim-filenames",
                    "128",
                    "--write-description",
                    "--write-info-json",
                    "--write-annotations",
                    "--write-thumbnail",
                    "--no-call-home",
                    "--write-sub",
                    "--write-auto-subs",
                    "--convert-subs=srt",
                    "--yes-playlist",
                    "--continue",
                    "--no-abort-on-error",
                    "--ignore-errors",
                    "--geo-bypass",
                    "--add-metadata",
                    "--format=(bv*+ba/b)[filesize<=750m][filesize_approx<=?750m]/(bv*+ba/b)",
                    "--skip-download",
                    "--cache-dir=/data/yt-dlp-cache/",
                    "--cookies=/data/yt-dlp-cache/cookies.txt",
                    "--proxy=socks5://tor-socks-proxy:9150",
                    "--no-playlist",
                    "https://m.youtube.com/watch?v=czzAVuVz7u4"
                ],
                "cmd_version": "2024.10.7",
                "end_ts": "2024-11-29T08:46:02.885156+00:00",
                "index_texts": [
                    "Find out more about Handmade Cities at: https://handmadecities.com/\n\nDiscover meetups in your area: https://handmadecities.com/meetups \n\nWatch previous talks, demos, and more anytime at: https://handmadecities.com/media\n\nPeter: https://www.pvh.ca/ \nhttps://twitter.com/pvh",
                    "1\n00:00:00,240 --> 00:00:02,030\n\nyou are many things and I can't explain\n\n2\n00:00:02,030 --> 00:00:02,040\nyou are many things and I can't explain\n \n\n3\n00:00:02,040 --> 00:00:03,550\nyou are many things and I can't explain\nit properly so you should introduce\n\n4\n00:00:03,550 --> 00:00:03,560\nit properly so you should introduce\n \n\n5\n00:00:03,560 --> 00:00:05,869\nit properly so you should introduce\nyourself but yeah your microphone's\n\n6\n00:00:05,869 --> 00:00:05,879\nyourself but yeah your microphone's\n \n\n7\n00:00:05,879 --> 00:00:08,310\nyourself but yeah your microphone's\nright here y press hard for the next\n\n8\n00:00:08,310 --> 00:00:08,320\nright here y press hard for the next\n \n\n9\n00:00:08,320 --> 00:00:10,030\nright here y press hard for the next\nslide backwards and a pointer if you\n\n10\n00:00:10,030 --> 00:00:10,040\nslide backwards and a pointer if you\n \n\n11\n00:00:10,040 --> 00:00:12,190\nslide backwards and a pointer if you\nneed it great thanks thank you so much\n\n12\n00:00:12,190 --> 00:00:12,200\nneed it great thanks thank you so much\n \n\n13\n00:00:12,200 --> 00:00:16,269\nneed it great thanks thank you so much\nhi everyone um I'm Peter I'm going to\n\n14\n00:00:16,269 --> 00:00:16,279\nhi everyone um I'm Peter I'm going to\n \n\n15\n00:00:16,279 --> 00:00:18,109\nhi everyone um I'm Peter I'm going to\nkind of take things in a bit more of a\n\n16\n00:00:18,109 --> 00:00:18,119\nkind of take things in a bit more of a\n \n\n17\n00:00:18,119 --> 00:00:20,390\nkind of take things in a bit more of a\nphilosophical kind of Direction um you\n\n18\n00:00:20,390 --> 00:00:20,400\nphilosophical kind of Direction um you\n \n\n19\n00:00:20,400 --> 00:00:21,950\nphilosophical kind of Direction um you\nknow I work for a research lab these\n\n20\n00:00:21,950 --> 00:00:21,960\nknow I work for a research lab these\n \n\n21\n00:00:21,960 --> 00:00:25,189\nknow I work for a research lab these\ndays so that's kind of my uh tendency um\n\n22\n00:00:25,189 --> 00:00:25,199\ndays so that's kind of my uh tendency um\n \n\n23\n00:00:25,199 --> 00:00:27,950\ndays so that's kind of my uh tendency um\nthe lab is called Inc and switch uh we\n\n24\n00:00:27,950 --> 00:00:27,960\nthe lab is called Inc and switch uh we\n \n\n25\n00:00:27,960 --> 00:00:31,070\nthe lab is called Inc and switch uh we\nare interested in carrying on kind of\n\n26\n00:00:31,070 --> 00:00:31,080\nare interested in carrying on kind of\n \n\n27\n00:00:31,080 --> 00:00:33,670\nare interested in carrying on kind of\nthe work of like engelbart and lick lier\n\n28\n00:00:33,670 --> 00:00:33,680\nthe work of like engelbart and lick lier\n \n\n29\n00:00:33,680 --> 00:00:35,630\nthe work of like engelbart and lick lier\nand Alan Kay and these people we\n\n30\n00:00:35,630 --> 00:00:35,640\nand Alan Kay and these people we\n \n\n31\n00:00:35,640 --> 00:00:38,069\nand Alan Kay and these people we\ninterested in how computers can augment\n\n32\n00:00:38,069 --> 00:00:38,079\ninterested in how computers can augment\n \n\n33\n00:00:38,079 --> 00:00:38,869\ninterested in how computers can augment\nhuman\n\n34\n00:00:38,869 --> 00:00:38,879\nhuman\n \n\n35\n00:00:38,879 --> 00:00:41,389\nhuman\nintelligence and uh you know that's very\n\n36\n00:00:41,389 --> 00:00:41,399\nintelligence and uh you know that's very\n \n\n37\n00:00:41,399 --> 00:00:43,430\nintelligence and uh you know that's very\nhigh futin it's a lot of fun we get to\n\n38\n00:00:43,430 --> 00:00:43,440\nhigh futin it's a lot of fun we get to\n \n\n39\n00:00:43,440 --> 00:00:45,590\nhigh futin it's a lot of fun we get to\ndig into all kinds of weird corners of\n\n40\n00:00:45,590 --> 00:00:45,600\ndig into all kinds of weird corners of\n \n\n41\n00:00:45,600 --> 00:00:47,910\ndig into all kinds of weird corners of\nsoftware and experimental interfaces and\n\n42\n00:00:47,910 --> 00:00:47,920\nsoftware and experimental interfaces and\n \n\n43\n00:00:47,920 --> 00:00:49,990\nsoftware and experimental interfaces and\nso on but before that I have written a\n\n44\n00:00:49,990 --> 00:00:50,000\nso on but before that I have written a\n \n\n45\n00:00:50,000 --> 00:00:51,549\nso on but before that I have written a\nlot of production software so I'm not\n\n46\n00:00:51,549 --> 00:00:51,559\nlot of production software so I'm not\n \n\n47\n00:00:51,559 --> 00:00:52,869\nlot of production software so I'm not\njust speaking to you from kind of an\n\n48\n00:00:52,869 --> 00:00:52,879\njust speaking to you from kind of an\n \n\n49\n00:00:52,879 --> 00:00:55,910\njust speaking to you from kind of an\nivory Tower perspective I was one of the\n\n50\n00:00:55,910 --> 00:00:55,920\nivory Tower perspective I was one of the\n \n\n51\n00:00:55,920 --> 00:00:57,549\nivory Tower perspective I was one of the\nearly employees at a platform as a\n\n52\n00:00:57,549 --> 00:00:57,559\nearly employees at a platform as a\n \n\n53\n00:00:57,559 --> 00:01:00,189\nearly employees at a platform as a\nservice company uh called Heroku I've\n\n54\n00:01:00,189 --> 00:01:00,199\nservice company uh called Heroku I've\n \n\n55\n00:01:00,199 --> 00:01:03,389\nservice company uh called Heroku I've\nrun a lot of postrest databases I've\n\n56\n00:01:03,389 --> 00:01:03,399\nrun a lot of postrest databases I've\n \n\n57\n00:01:03,399 --> 00:01:04,829\nrun a lot of postrest databases I've\nworked in game development as well I've\n\n58\n00:01:04,829 --> 00:01:04,839\nworked in game development as well I've\n \n\n59\n00:01:04,839 --> 00:01:07,230\nworked in game development as well I've\nbuilt titles for DS and GBA I worked on\n\n60\n00:01:07,230 --> 00:01:07,240\nbuilt titles for DS and GBA I worked on\n \n\n61\n00:01:07,240 --> 00:01:09,469\nbuilt titles for DS and GBA I worked on\nthis one teenage Zombies Invasion of the\n\n62\n00:01:09,469 --> 00:01:09,479\nthis one teenage Zombies Invasion of the\n \n\n63\n00:01:09,479 --> 00:01:12,030\nthis one teenage Zombies Invasion of the\nalien brain thingies for a Victoria BC\n\n64\n00:01:12,030 --> 00:01:12,040\nalien brain thingies for a Victoria BC\n \n\n65\n00:01:12,040 --> 00:01:14,670\nalien brain thingies for a Victoria BC\ngame company and I've worked on desktop\n\n66\n00:01:14,670 --> 00:01:14,680\ngame company and I've worked on desktop\n \n\n67\n00:01:14,680 --> 00:01:17,429\ngame company and I've worked on desktop\nsoftware like uh Songbird which was a\n\n68\n00:01:17,429 --> 00:01:17,439\nsoftware like uh Songbird which was a\n \n\n69\n00:01:17,439 --> 00:01:19,429\nsoftware like uh Songbird which was a\ncrossplatform media player that lost\n\n70\n00:01:19,429 --> 00:01:19,439\ncrossplatform media player that lost\n \n\n71\n00:01:19,439 --> 00:01:20,390\ncrossplatform media player that lost\nfairly\n\n72\n00:01:20,390 --> 00:01:20,400\nfairly\n \n\n73\n00:01:20,400 --> 00:01:24,109\nfairly\ndecisively um and besides that I've also\n\n74\n00:01:24,109 --> 00:01:24,119\ndecisively um and besides that I've also\n \n\n75\n00:01:24,119 --> 00:01:26,990\ndecisively um and besides that I've also\nuh worked in uh research um spending\n\n76\n00:01:26,990 --> 00:01:27,000\nuh worked in uh research um spending\n \n\n77\n00:01:27,000 --> 00:01:29,590\nuh worked in uh research um spending\nsome time uh on for example this ship\n\n78\n00:01:29,590 --> 00:01:29,600\nsome time uh on for example this ship\n \n\n79\n00:01:29,600 --> 00:01:30,950\nsome time uh on for example this ship\nhere this for Wilford laor it's a\n\n80\n00:01:30,950 --> 00:01:30,960\nhere this for Wilford laor it's a\n \n\n81\n00:01:30,960 --> 00:01:33,350\nhere this for Wilford laor it's a\nCanadian Arctic uh research Icebreaker\n\n82\n00:01:33,350 --> 00:01:33,360\nCanadian Arctic uh research Icebreaker\n \n\n83\n00:01:33,360 --> 00:01:35,789\nCanadian Arctic uh research Icebreaker\nso I spent some time in the Arctic and\n\n84\n00:01:35,789 --> 00:01:35,799\nso I spent some time in the Arctic and\n \n\n85\n00:01:35,799 --> 00:01:37,190\nso I spent some time in the Arctic and\nthat actually helps inform my\n\n86\n00:01:37,190 --> 00:01:37,200\nthat actually helps inform my\n \n\n87\n00:01:37,200 --> 00:01:38,590\nthat actually helps inform my\nperspective on things too but we'll come\n\n88\n00:01:38,590 --> 00:01:38,600\nperspective on things too but we'll come\n \n\n89\n00:01:38,600 --> 00:01:41,350\nperspective on things too but we'll come\nback to that so I want to start by kind\n\n90\n00:01:41,350 --> 00:01:41,360\nback to that so I want to start by kind\n \n\n91\n00:01:41,360 --> 00:01:44,149\nback to that so I want to start by kind\nof saying hold on a sec before we get\n\n92\n00:01:44,149 --> 00:01:44,159\nof saying hold on a sec before we get\n \n\n93\n00:01:44,159 --> 00:01:46,830\nof saying hold on a sec before we get\ninto kind of talking about why we can't\n\n94\n00:01:46,830 --> 00:01:46,840\ninto kind of talking about why we can't\n \n\n95\n00:01:46,840 --> 00:01:49,550\ninto kind of talking about why we can't\nmake simple software we should probably\n\n96\n00:01:49,550 --> 00:01:49,560\nmake simple software we should probably\n \n\n97\n00:01:49,560 --> 00:01:51,709\nmake simple software we should probably\nDefine our terms a little bit and talk\n\n98\n00:01:51,709 --> 00:01:51,719\nDefine our terms a little bit and talk\n \n\n99\n00:01:51,719 --> 00:01:54,709\nDefine our terms a little bit and talk\nabout what complexity actually is so the\n\n100\n00:01:54,709 --> 00:01:54,719\nabout what complexity actually is so the\n \n\n101\n00:01:54,719 --> 00:01:57,310\nabout what complexity actually is so the\nfirst thing I want to clarify is that\n\n102\n00:01:57,310 --> 00:01:57,320\nfirst thing I want to clarify is that\n \n\n103\n00:01:57,320 --> 00:02:00,789\nfirst thing I want to clarify is that\ncomplexity is not difficulty\n\n104\n00:02:00,789 --> 00:02:00,799\ncomplexity is not difficulty\n \n\n105\n00:02:00,799 --> 00:02:02,270\ncomplexity is not difficulty\nright just because something is hard\n\n106\n00:02:02,270 --> 00:02:02,280\nright just because something is hard\n \n\n107\n00:02:02,280 --> 00:02:03,789\nright just because something is hard\ndoesn't mean it's complicated like the\n\n108\n00:02:03,789 --> 00:02:03,799\ndoesn't mean it's complicated like the\n \n\n109\n00:02:03,799 --> 00:02:05,990\ndoesn't mean it's complicated like the\nideas of calculus might be very\n\n110\n00:02:05,990 --> 00:02:06,000\nideas of calculus might be very\n \n\n111\n00:02:06,000 --> 00:02:08,150\nideas of calculus might be very\ndifficult to internalize but they're\n\n112\n00:02:08,150 --> 00:02:08,160\ndifficult to internalize but they're\n \n\n113\n00:02:08,160 --> 00:02:10,869\ndifficult to internalize but they're\nactually very simple and elegant and I\n\n114\n00:02:10,869 --> 00:02:10,879\nactually very simple and elegant and I\n \n\n115\n00:02:10,879 --> 00:02:12,910\nactually very simple and elegant and I\nalso want to draw a distinction between\n\n116\n00:02:12,910 --> 00:02:12,920\nalso want to draw a distinction between\n \n\n117\n00:02:12,920 --> 00:02:16,110\nalso want to draw a distinction between\nsomething being complex or just being\n\n118\n00:02:16,110 --> 00:02:16,120\nsomething being complex or just being\n \n\n119\n00:02:16,120 --> 00:02:20,030\nsomething being complex or just being\nkind of big a box of Lego is not\n\n120\n00:02:20,030 --> 00:02:20,040\nkind of big a box of Lego is not\n \n\n121\n00:02:20,040 --> 00:02:22,309\nkind of big a box of Lego is not\nnecessarily a complicated thing though\n\n122\n00:02:22,309 --> 00:02:22,319\nnecessarily a complicated thing though\n \n\n123\n00:02:22,319 --> 00:02:24,630\nnecessarily a complicated thing though\nyou can make a lot of things with it\n\n124\n00:02:24,630 --> 00:02:24,640\nyou can make a lot of things with it\n \n\n125\n00:02:24,640 --> 00:02:26,790\nyou can make a lot of things with it\ncomplexity occurs when your systems\n\n126\n00:02:26,790 --> 00:02:26,800\ncomplexity occurs when your systems\n \n\n127\n00:02:26,800 --> 00:02:30,190\ncomplexity occurs when your systems\ninteract with each other okay and when\n\n128\n00:02:30,190 --> 00:02:30,200\ninteract with each other okay and when\n \n\n129\n00:02:30,200 --> 00:02:33,070\ninteract with each other okay and when\nit takes a lot to uh get things done\n\n130\n00:02:33,070 --> 00:02:33,080\nit takes a lot to uh get things done\n \n\n131\n00:02:33,080 --> 00:02:35,790\nit takes a lot to uh get things done\nbecause of that and more specifically I\n\n132\n00:02:35,790 --> 00:02:35,800\nbecause of that and more specifically I\n \n\n133\n00:02:35,800 --> 00:02:37,790\nbecause of that and more specifically I\nthink the problem with complexity is\n\n134\n00:02:37,790 --> 00:02:37,800\nthink the problem with complexity is\n \n\n135\n00:02:37,800 --> 00:02:39,229\nthink the problem with complexity is\nthat your systems can become\n\n136\n00:02:39,229 --> 00:02:39,239\nthat your systems can become\n \n\n137\n00:02:39,239 --> 00:02:41,309\nthat your systems can become\nunreasonable and when I say unreasonable\n\n138\n00:02:41,309 --> 00:02:41,319\nunreasonable and when I say unreasonable\n \n\n139\n00:02:41,319 --> 00:02:43,390\nunreasonable and when I say unreasonable\nI don't mean in kind of like a sort of\n\n140\n00:02:43,390 --> 00:02:43,400\nI don't mean in kind of like a sort of\n \n\n141\n00:02:43,400 --> 00:02:45,470\nI don't mean in kind of like a sort of\ncolloquial sense what I mean is that you\n\n142\n00:02:45,470 --> 00:02:45,480\ncolloquial sense what I mean is that you\n \n\n143\n00:02:45,480 --> 00:02:47,949\ncolloquial sense what I mean is that you\nliterally cannot reason about them you\n\n144\n00:02:47,949 --> 00:02:47,959\nliterally cannot reason about them you\n \n\n145\n00:02:47,959 --> 00:02:50,509\nliterally cannot reason about them you\ndon't have the ability to predict what's\n\n146\n00:02:50,509 --> 00:02:50,519\ndon't have the ability to predict what's\n \n\n147\n00:02:50,519 --> 00:02:51,550\ndon't have the ability to predict what's\ngoing to\n\n148\n00:02:51,550 --> 00:02:51,560\ngoing to\n \n\n149\n00:02:51,560 --> 00:02:53,589\ngoing to\nhappen and a lot of the time that's a\n\n150\n00:02:53,589 --> 00:02:53,599\nhappen and a lot of the time that's a\n \n\n151\n00:02:53,599 --> 00:02:55,070\nhappen and a lot of the time that's a\nproblem because you got work to do and\n\n152\n00:02:55,070 --> 00:02:55,080\nproblem because you got work to do and\n \n\n153\n00:02:55,080 --> 00:02:56,670\nproblem because you got work to do and\nthe thing is crashing and you don't know\n\n154\n00:02:56,670 --> 00:02:56,680\nthe thing is crashing and you don't know\n \n\n155\n00:02:56,680 --> 00:02:59,190\nthe thing is crashing and you don't know\nwhy but a complex system can also be\n\n156\n00:02:59,190 --> 00:02:59,200\nwhy but a complex system can also be\n \n\n157\n00:02:59,200 --> 00:03:01,670\nwhy but a complex system can also be\ngenerative and surprising if you harness\n\n158\n00:03:01,670 --> 00:03:01,680\ngenerative and surprising if you harness\n \n\n159\n00:03:01,680 --> 00:03:04,430\ngenerative and surprising if you harness\nthat complexity in positive\n\n160\n00:03:04,430 --> 00:03:04,440\nthat complexity in positive\n \n\n161\n00:03:04,440 --> 00:03:06,789\nthat complexity in positive\nWays last before we get into it I want\n\n162\n00:03:06,789 --> 00:03:06,799\nWays last before we get into it I want\n \n\n163\n00:03:06,799 --> 00:03:09,350\nWays last before we get into it I want\nto make just a very small uh detail\n\n164\n00:03:09,350 --> 00:03:09,360\nto make just a very small uh detail\n \n\n165\n00:03:09,360 --> 00:03:12,350\nto make just a very small uh detail\npoint for the uh more pedantic in the\n\n166\n00:03:12,350 --> 00:03:12,360\npoint for the uh more pedantic in the\n \n\n167\n00:03:12,360 --> 00:03:15,509\npoint for the uh more pedantic in the\naudience some people draw a uh very\n\n168\n00:03:15,509 --> 00:03:15,519\naudience some people draw a uh very\n \n\n169\n00:03:15,519 --> 00:03:17,990\naudience some people draw a uh very\nspecific difference between uh complex\n\n170\n00:03:17,990 --> 00:03:18,000\nspecific difference between uh complex\n \n\n171\n00:03:18,000 --> 00:03:20,630\nspecific difference between uh complex\nsystems from sort of chaos math and like\n\n172\n00:03:20,630 --> 00:03:20,640\nsystems from sort of chaos math and like\n \n\n173\n00:03:20,640 --> 00:03:22,589\nsystems from sort of chaos math and like\nemerging complexity we'll talk a little\n\n174\n00:03:22,589 --> 00:03:22,599\nemerging complexity we'll talk a little\n \n\n175\n00:03:22,599 --> 00:03:24,949\nemerging complexity we'll talk a little\nbit about that H as distinguished from\n\n176\n00:03:24,949 --> 00:03:24,959\nbit about that H as distinguished from\n \n\n177\n00:03:24,959 --> 00:03:27,030\nbit about that H as distinguished from\ncomplicated systems where you have a lot\n\n178\n00:03:27,030 --> 00:03:27,040\ncomplicated systems where you have a lot\n \n\n179\n00:03:27,040 --> 00:03:30,110\ncomplicated systems where you have a lot\nof just kind of mess I'm kind kind of\n\n180\n00:03:30,110 --> 00:03:30,120\nof just kind of mess I'm kind kind of\n \n\n181\n00:03:30,120 --> 00:03:32,070\nof just kind of mess I'm kind kind of\ngoing to float back and forth across\n\n182\n00:03:32,070 --> 00:03:32,080\ngoing to float back and forth across\n \n\n183\n00:03:32,080 --> 00:03:33,270\ngoing to float back and forth across\nboth of these without a lot of\n\n184\n00:03:33,270 --> 00:03:33,280\nboth of these without a lot of\n \n\n185\n00:03:33,280 --> 00:03:34,630\nboth of these without a lot of\nDistinction because I think in this\n\n186\n00:03:34,630 --> 00:03:34,640\nDistinction because I think in this\n \n\n187\n00:03:34,640 --> 00:03:38,789\nDistinction because I think in this\ncontext either one can cause similar\n\n188\n00:03:38,789 --> 00:03:38,799\ncontext either one can cause similar\n \n\n189\n00:03:38,799 --> 00:03:43,309\ncontext either one can cause similar\neffects okay so we're going to begin\n\n190\n00:03:43,309 --> 00:03:43,319\neffects okay so we're going to begin\n \n\n191\n00:03:43,319 --> 00:03:47,350\neffects okay so we're going to begin\nwith a non-comprehensive look at\n\n192\n00:03:47,350 --> 00:03:47,360\nwith a non-comprehensive look at\n \n\n193\n00:03:47,360 --> 00:03:49,390\nwith a non-comprehensive look at\ncomplexity and more specifically we're\n\n194\n00:03:49,390 --> 00:03:49,400\ncomplexity and more specifically we're\n \n\n195\n00:03:49,400 --> 00:03:51,509\ncomplexity and more specifically we're\ngoing to kind of like pick some cherry\n\n196\n00:03:51,509 --> 00:03:51,519\ngoing to kind of like pick some cherry\n \n\n197\n00:03:51,519 --> 00:03:53,390\ngoing to kind of like pick some cherry\npick some examples sort of from fake\n\n198\n00:03:53,390 --> 00:03:53,400\npick some examples sort of from fake\n \n\n199\n00:03:53,400 --> 00:03:55,869\npick some examples sort of from fake\nindustrial sort of scenarios where you\n\n200\n00:03:55,869 --> 00:03:55,879\nindustrial sort of scenarios where you\n \n\n201\n00:03:55,879 --> 00:03:57,869\nindustrial sort of scenarios where you\ncan begin with something simple and end\n\n202\n00:03:57,869 --> 00:03:57,879\ncan begin with something simple and end\n \n\n203\n00:03:57,879 --> 00:04:00,350\ncan begin with something simple and end\nup with something complicated\n\n204\n00:04:00,350 --> 00:04:00,360\nup with something complicated\n \n\n205\n00:04:00,360 --> 00:04:03,069\nup with something complicated\nso I'm going to start with like the most\n\n206\n00:04:03,069 --> 00:04:03,079\nso I'm going to start with like the most\n \n\n207\n00:04:03,079 --> 00:04:04,949\nso I'm going to start with like the most\nbasic of all reasons why your software\n\n208\n00:04:04,949 --> 00:04:04,959\nbasic of all reasons why your software\n \n\n209\n00:04:04,959 --> 00:04:07,149\nbasic of all reasons why your software\ngets complicated and that's you know the\n\n210\n00:04:07,149 --> 00:04:07,159\ngets complicated and that's you know the\n \n\n211\n00:04:07,159 --> 00:04:08,830\ngets complicated and that's you know the\nfirst version of your code you just\n\n212\n00:04:08,830 --> 00:04:08,840\nfirst version of your code you just\n \n\n213\n00:04:08,840 --> 00:04:10,350\nfirst version of your code you just\nwrite the happy path everything's\n\n214\n00:04:10,350 --> 00:04:10,360\nwrite the happy path everything's\n \n\n215\n00:04:10,360 --> 00:04:12,270\nwrite the happy path everything's\nglorious and and software can be really\n\n216\n00:04:12,270 --> 00:04:12,280\nglorious and and software can be really\n \n\n217\n00:04:12,280 --> 00:04:13,910\nglorious and and software can be really\nsimple when it lives in an idealized\n\n218\n00:04:13,910 --> 00:04:13,920\nsimple when it lives in an idealized\n \n\n219\n00:04:13,920 --> 00:04:16,150\nsimple when it lives in an idealized\nworld and everything is fine and so you\n\n220\n00:04:16,150 --> 00:04:16,160\nworld and everything is fine and so you\n \n\n221\n00:04:16,160 --> 00:04:17,349\nworld and everything is fine and so you\nknow here's like a really simple\n\n222\n00:04:17,349 --> 00:04:17,359\nknow here's like a really simple\n \n\n223\n00:04:17,359 --> 00:04:20,390\nknow here's like a really simple\nimaginary you know pseudo code web thing\n\n224\n00:04:20,390 --> 00:04:20,400\nimaginary you know pseudo code web thing\n \n\n225\n00:04:20,400 --> 00:04:22,110\nimaginary you know pseudo code web thing\ngreat we got a get request to our\n\n226\n00:04:22,110 --> 00:04:22,120\ngreat we got a get request to our\n \n\n227\n00:04:22,120 --> 00:04:23,749\ngreat we got a get request to our\napplication you know we're going to go\n\n228\n00:04:23,749 --> 00:04:23,759\napplication you know we're going to go\n \n\n229\n00:04:23,759 --> 00:04:25,030\napplication you know we're going to go\nfetch something from the database and\n\n230\n00:04:25,030 --> 00:04:25,040\nfetch something from the database and\n \n\n231\n00:04:25,040 --> 00:04:27,350\nfetch something from the database and\nsay hello there this is a Hello World\n\n232\n00:04:27,350 --> 00:04:27,360\nsay hello there this is a Hello World\n \n\n233\n00:04:27,360 --> 00:04:30,510\nsay hello there this is a Hello World\napp of web apps server apps great it\n\n234\n00:04:30,510 --> 00:04:30,520\napp of web apps server apps great it\n \n\n235\n00:04:30,520 --> 00:04:32,990\napp of web apps server apps great it\nworks fine you know if user 12 is me and\n\n236\n00:04:32,990 --> 00:04:33,000\nworks fine you know if user 12 is me and\n \n\n237\n00:04:33,000 --> 00:04:35,390\nworks fine you know if user 12 is me and\nuser 10 is my friend KO and user fu is\n\n238\n00:04:35,390 --> 00:04:35,400\nuser 10 is my friend KO and user fu is\n \n\n239\n00:04:35,400 --> 00:04:38,230\nuser 10 is my friend KO and user fu is\nwait what ah\n\n240\n00:04:38,230 --> 00:04:38,240\nwait what ah\n \n\n241\n00:04:38,240 --> 00:04:41,590\nwait what ah\nright we got to validate the input okay\n\n242\n00:04:41,590 --> 00:04:41,600\nright we got to validate the input okay\n \n\n243\n00:04:41,600 --> 00:04:43,749\nright we got to validate the input okay\nso we'll validate the\n\n244\n00:04:43,749 --> 00:04:43,759\nso we'll validate the\n \n\n245\n00:04:43,759 --> 00:04:46,629\nso we'll validate the\nrequest now okay so we're validating the\n\n246\n00:04:46,629 --> 00:04:46,639\nrequest now okay so we're validating the\n \n\n247\n00:04:46,639 --> 00:04:49,550\nrequest now okay so we're validating the\nrequest and and that's good and oh geez\n\n248\n00:04:49,550 --> 00:04:49,560\nrequest and and that's good and oh geez\n \n\n249\n00:04:49,560 --> 00:04:51,469\nrequest and and that's good and oh geez\nI'm not really handling it if we don't\n\n250\n00:04:51,469 --> 00:04:51,479\nI'm not really handling it if we don't\n \n\n251\n00:04:51,479 --> 00:04:53,390\nI'm not really handling it if we don't\nvalidate the request and wait do I have\n\n252\n00:04:53,390 --> 00:04:53,400\nvalidate the request and wait do I have\n \n\n253\n00:04:53,400 --> 00:04:56,430\nvalidate the request and wait do I have\nto do this on every request I guess I\n\n254\n00:04:56,430 --> 00:04:56,440\nto do this on every request I guess I\n \n\n255\n00:04:56,440 --> 00:04:57,990\nto do this on every request I guess I\nhave to do this on every request and am\n\n256\n00:04:57,990 --> 00:04:58,000\nhave to do this on every request and am\n \n\n257\n00:04:58,000 --> 00:05:02,830\nhave to do this on every request and am\nI doing it the same way on every\n\n258\n00:05:02,830 --> 00:05:02,840\n\n \n\n259\n00:05:02,840 --> 00:05:06,550\n\nrequest in fact this exact pattern of\n\n260\n00:05:06,550 --> 00:05:06,560\nrequest in fact this exact pattern of\n \n\n261\n00:05:06,560 --> 00:05:08,550\nrequest in fact this exact pattern of\nvalidating user input and checking your\n\n262\n00:05:08,550 --> 00:05:08,560\nvalidating user input and checking your\n \n\n263\n00:05:08,560 --> 00:05:10,430\nvalidating user input and checking your\narguments can lead to something that uh\n\n264\n00:05:10,430 --> 00:05:10,440\narguments can lead to something that uh\n \n\n265\n00:05:10,440 --> 00:05:11,990\narguments can lead to something that uh\nbratus and Patterson call shotgun\n\n266\n00:05:11,990 --> 00:05:12,000\nbratus and Patterson call shotgun\n \n\n267\n00:05:12,000 --> 00:05:14,270\nbratus and Patterson call shotgun\nparsing and shotgun parsing is kind of\n\n268\n00:05:14,270 --> 00:05:14,280\nparsing and shotgun parsing is kind of\n \n\n269\n00:05:14,280 --> 00:05:15,870\nparsing and shotgun parsing is kind of\nthe idea that you know you're parsing\n\n270\n00:05:15,870 --> 00:05:15,880\nthe idea that you know you're parsing\n \n\n271\n00:05:15,880 --> 00:05:17,510\nthe idea that you know you're parsing\nyour input but it's like someone's taken\n\n272\n00:05:17,510 --> 00:05:17,520\nyour input but it's like someone's taken\n \n\n273\n00:05:17,520 --> 00:05:19,710\nyour input but it's like someone's taken\na shotgun to your code base because it's\n\n274\n00:05:19,710 --> 00:05:19,720\na shotgun to your code base because it's\n \n\n275\n00:05:19,720 --> 00:05:22,670\na shotgun to your code base because it's\njust blown through the whole code base\n\n276\n00:05:22,670 --> 00:05:22,680\njust blown through the whole code base\n \n\n277\n00:05:22,680 --> 00:05:24,309\njust blown through the whole code base\nand it can lead to very serious security\n\n278\n00:05:24,309 --> 00:05:24,319\nand it can lead to very serious security\n \n\n279\n00:05:24,319 --> 00:05:25,590\nand it can lead to very serious security\nvulnerabilities because you might\n\n280\n00:05:25,590 --> 00:05:25,600\nvulnerabilities because you might\n \n\n281\n00:05:25,600 --> 00:05:28,430\nvulnerabilities because you might\ncarefully check an input in one place\n\n282\n00:05:28,430 --> 00:05:28,440\ncarefully check an input in one place\n \n\n283\n00:05:28,440 --> 00:05:30,550\ncarefully check an input in one place\nbut not in another and a great talk from\n\n284\n00:05:30,550 --> 00:05:30,560\nbut not in another and a great talk from\n \n\n285\n00:05:30,560 --> 00:05:32,510\nbut not in another and a great talk from\nbrwon 2012 about\n\n286\n00:05:32,510 --> 00:05:32,520\nbrwon 2012 about\n \n\n287\n00:05:32,520 --> 00:05:34,870\nbrwon 2012 about\nthis so of course you know now we're\n\n288\n00:05:34,870 --> 00:05:34,880\nthis so of course you know now we're\n \n\n289\n00:05:34,880 --> 00:05:36,430\nthis so of course you know now we're\ngoing to be a little more careful so\n\n290\n00:05:36,430 --> 00:05:36,440\ngoing to be a little more careful so\n \n\n291\n00:05:36,440 --> 00:05:38,629\ngoing to be a little more careful so\nwe're going to also you know if the\n\n292\n00:05:38,629 --> 00:05:38,639\nwe're going to also you know if the\n \n\n293\n00:05:38,639 --> 00:05:40,270\nwe're going to also you know if the\ndatabase is down we don't want to send a\n\n294\n00:05:40,270 --> 00:05:40,280\ndatabase is down we don't want to send a\n \n\n295\n00:05:40,280 --> 00:05:42,909\ndatabase is down we don't want to send a\n500 we're going to fail elegantly and as\n\n296\n00:05:42,909 --> 00:05:42,919\n500 we're going to fail elegantly and as\n \n\n297\n00:05:42,919 --> 00:05:45,230\n500 we're going to fail elegantly and as\nyou go the more of these cases that you\n\n298\n00:05:45,230 --> 00:05:45,240\nyou go the more of these cases that you\n \n\n299\n00:05:45,240 --> 00:05:47,070\nyou go the more of these cases that you\nhave to handle and the better the\n\n300\n00:05:47,070 --> 00:05:47,080\nhave to handle and the better the\n \n\n301\n00:05:47,080 --> 00:05:50,350\nhave to handle and the better the\nquality of your code is right the more\n\n302\n00:05:50,350 --> 00:05:50,360\nquality of your code is right the more\n \n\n303\n00:05:50,360 --> 00:05:53,029\nquality of your code is right the more\nconservative defensive thorough that you\n\n304\n00:05:53,029 --> 00:05:53,039\nconservative defensive thorough that you\n \n\n305\n00:05:53,039 --> 00:05:55,790\nconservative defensive thorough that you\nare like at this point now like the the\n\n306\n00:05:55,790 --> 00:05:55,800\nare like at this point now like the the\n \n\n307\n00:05:55,800 --> 00:05:59,150\nare like at this point now like the the\nactual logic of this method is beginning\n\n308\n00:05:59,150 --> 00:05:59,160\nactual logic of this method is beginning\n \n\n309\n00:05:59,160 --> 00:06:02,270\nactual logic of this method is beginning\nto dis disappear into all the edge case\n\n310\n00:06:02,270 --> 00:06:02,280\nto dis disappear into all the edge case\n \n\n311\n00:06:02,280 --> 00:06:04,469\nto dis disappear into all the edge case\nhandling right we're we're well off the\n\n312\n00:06:04,469 --> 00:06:04,479\nhandling right we're we're well off the\n \n\n313\n00:06:04,479 --> 00:06:07,350\nhandling right we're we're well off the\nhappy path now and so you know you can\n\n314\n00:06:07,350 --> 00:06:07,360\nhappy path now and so you know you can\n \n\n315\n00:06:07,360 --> 00:06:08,990\nhappy path now and so you know you can\nclean this up a little bit so for\n\n316\n00:06:08,990 --> 00:06:09,000\nclean this up a little bit so for\n \n\n317\n00:06:09,000 --> 00:06:11,110\nclean this up a little bit so for\nImagine here in this case that you know\n\n318\n00:06:11,110 --> 00:06:11,120\nImagine here in this case that you know\n \n\n319\n00:06:11,120 --> 00:06:13,670\nImagine here in this case that you know\nwe have a slightly uh better set of\n\n320\n00:06:13,670 --> 00:06:13,680\nwe have a slightly uh better set of\n \n\n321\n00:06:13,680 --> 00:06:15,710\nwe have a slightly uh better set of\nlibraries more thoroughly written set of\n\n322\n00:06:15,710 --> 00:06:15,720\nlibraries more thoroughly written set of\n \n\n323\n00:06:15,720 --> 00:06:17,589\nlibraries more thoroughly written set of\nlibraries we've moved the complexity\n\n324\n00:06:17,589 --> 00:06:17,599\nlibraries we've moved the complexity\n \n\n325\n00:06:17,599 --> 00:06:19,029\nlibraries we've moved the complexity\ndown out of this method and we're sort\n\n326\n00:06:19,029 --> 00:06:19,039\ndown out of this method and we're sort\n \n\n327\n00:06:19,039 --> 00:06:20,870\ndown out of this method and we're sort\nof saying like well the database won't\n\n328\n00:06:20,870 --> 00:06:20,880\nof saying like well the database won't\n \n\n329\n00:06:20,880 --> 00:06:22,390\nof saying like well the database won't\nthrow an exception right because\n\n330\n00:06:22,390 --> 00:06:22,400\nthrow an exception right because\n \n\n331\n00:06:22,400 --> 00:06:24,230\nthrow an exception right because\nexceptions are ugly and kind of subtle\n\n332\n00:06:24,230 --> 00:06:24,240\nexceptions are ugly and kind of subtle\n \n\n333\n00:06:24,240 --> 00:06:26,150\nexceptions are ugly and kind of subtle\nto handle well it'll just it'll return\n\n334\n00:06:26,150 --> 00:06:26,160\nto handle well it'll just it'll return\n \n\n335\n00:06:26,160 --> 00:06:27,830\nto handle well it'll just it'll return\nnull if it can't do the job for whatever\n\n336\n00:06:27,830 --> 00:06:27,840\nnull if it can't do the job for whatever\n \n\n337\n00:06:27,840 --> 00:06:30,430\nnull if it can't do the job for whatever\nreason and we're going to say well we'll\n\n338\n00:06:30,430 --> 00:06:30,440\nreason and we're going to say well we'll\n \n\n339\n00:06:30,440 --> 00:06:32,390\nreason and we're going to say well we'll\nyou know there's like a good type system\n\n340\n00:06:32,390 --> 00:06:32,400\nyou know there's like a good type system\n \n\n341\n00:06:32,400 --> 00:06:34,350\nyou know there's like a good type system\nthat's handling parsing the input args\n\n342\n00:06:34,350 --> 00:06:34,360\nthat's handling parsing the input args\n \n\n343\n00:06:34,360 --> 00:06:37,110\nthat's handling parsing the input args\nbefore they get to us so you know we can\n\n344\n00:06:37,110 --> 00:06:37,120\nbefore they get to us so you know we can\n \n\n345\n00:06:37,120 --> 00:06:38,230\nbefore they get to us so you know we can\nwe don't have to worry about that\n\n346\n00:06:38,230 --> 00:06:38,240\nwe don't have to worry about that\n \n\n347\n00:06:38,240 --> 00:06:40,189\nwe don't have to worry about that\nanymore and the value of\n\n348\n00:06:40,189 --> 00:06:40,199\nanymore and the value of\n \n\n349\n00:06:40,199 --> 00:06:42,710\nanymore and the value of\nwell-written uh libraries and languages\n\n350\n00:06:42,710 --> 00:06:42,720\nwell-written uh libraries and languages\n \n\n351\n00:06:42,720 --> 00:06:44,830\nwell-written uh libraries and languages\ntype systems and so on is that they can\n\n352\n00:06:44,830 --> 00:06:44,840\ntype systems and so on is that they can\n \n\n353\n00:06:44,840 --> 00:06:47,469\ntype systems and so on is that they can\nreally simplify your code make it less\n\n354\n00:06:47,469 --> 00:06:47,479\nreally simplify your code make it less\n \n\n355\n00:06:47,479 --> 00:06:49,710\nreally simplify your code make it less\ncomplex by preventing you from have to\n\n356\n00:06:49,710 --> 00:06:49,720\ncomplex by preventing you from have to\n \n\n357\n00:06:49,720 --> 00:06:52,589\ncomplex by preventing you from have to\ncarry around all of this mental state\n\n358\n00:06:52,589 --> 00:06:52,599\ncarry around all of this mental state\n \n\n359\n00:06:52,599 --> 00:06:53,830\ncarry around all of this mental state\neverywhere that you\n\n360\n00:06:53,830 --> 00:06:53,840\neverywhere that you\n \n\n361\n00:06:53,840 --> 00:06:56,189\neverywhere that you\ngo and you know kind of my observation\n\n362\n00:06:56,189 --> 00:06:56,199\ngo and you know kind of my observation\n \n\n363\n00:06:56,199 --> 00:06:57,950\ngo and you know kind of my observation\nof this world is that like vigilance is\n\n364\n00:06:57,950 --> 00:06:57,960\nof this world is that like vigilance is\n \n\n365\n00:06:57,960 --> 00:07:00,430\nof this world is that like vigilance is\nnot a strategy like we talk earlier\n\n366\n00:07:00,430 --> 00:07:00,440\nnot a strategy like we talk earlier\n \n\n367\n00:07:00,440 --> 00:07:02,869\nnot a strategy like we talk earlier\nabout how you know if a system fails\n\n368\n00:07:02,869 --> 00:07:02,879\nabout how you know if a system fails\n \n\n369\n00:07:02,879 --> 00:07:04,830\nabout how you know if a system fails\nit's not oh the blameless postmortem\n\n370\n00:07:04,830 --> 00:07:04,840\nit's not oh the blameless postmortem\n \n\n371\n00:07:04,840 --> 00:07:06,710\nit's not oh the blameless postmortem\nit's not that the the developer failed\n\n372\n00:07:06,710 --> 00:07:06,720\nit's not that the the developer failed\n \n\n373\n00:07:06,720 --> 00:07:08,550\nit's not that the the developer failed\nit's that the system failed you know if\n\n374\n00:07:08,550 --> 00:07:08,560\nit's that the system failed you know if\n \n\n375\n00:07:08,560 --> 00:07:10,110\nit's that the system failed you know if\nyou have security vulnerabilities in\n\n376\n00:07:10,110 --> 00:07:10,120\nyou have security vulnerabilities in\n \n\n377\n00:07:10,120 --> 00:07:11,350\nyou have security vulnerabilities in\nyour code because you didn't handle\n\n378\n00:07:11,350 --> 00:07:11,360\nyour code because you didn't handle\n \n\n379\n00:07:11,360 --> 00:07:13,150\nyour code because you didn't handle\ninput the answer isn't to berate\n\n380\n00:07:13,150 --> 00:07:13,160\ninput the answer isn't to berate\n \n\n381\n00:07:13,160 --> 00:07:15,230\ninput the answer isn't to berate\nyourself for not handling the input you\n\n382\n00:07:15,230 --> 00:07:15,240\nyourself for not handling the input you\n \n\n383\n00:07:15,240 --> 00:07:16,909\nyourself for not handling the input you\nknow it's to step back to level up and\n\n384\n00:07:16,909 --> 00:07:16,919\nknow it's to step back to level up and\n \n\n385\n00:07:16,919 --> 00:07:19,469\nknow it's to step back to level up and\nsay like well hold on why do I have to\n\n386\n00:07:19,469 --> 00:07:19,479\nsay like well hold on why do I have to\n \n\n387\n00:07:19,479 --> 00:07:21,830\nsay like well hold on why do I have to\ndo this manually every\n\n388\n00:07:21,830 --> 00:07:21,840\ndo this manually every\n \n\n389\n00:07:21,840 --> 00:07:24,390\ndo this manually every\ntime so so to strategically you want to\n\n390\n00:07:24,390 --> 00:07:24,400\ntime so so to strategically you want to\n \n\n391\n00:07:24,400 --> 00:07:26,589\ntime so so to strategically you want to\nminimize the scope of failures and and\n\n392\n00:07:26,589 --> 00:07:26,599\nminimize the scope of failures and and\n \n\n393\n00:07:26,599 --> 00:07:28,550\nminimize the scope of failures and and\nkind of design them out of your system\n\n394\n00:07:28,550 --> 00:07:28,560\nkind of design them out of your system\n \n\n395\n00:07:28,560 --> 00:07:29,950\nkind of design them out of your system\nand one way to do that is have a type\n\n396\n00:07:29,950 --> 00:07:29,960\nand one way to do that is have a type\n \n\n397\n00:07:29,960 --> 00:07:31,390\nand one way to do that is have a type\nsystem so you don't you know forget to\n\n398\n00:07:31,390 --> 00:07:31,400\nsystem so you don't you know forget to\n \n\n399\n00:07:31,400 --> 00:07:33,469\nsystem so you don't you know forget to\ncheck your nulls there are other\n\n400\n00:07:33,469 --> 00:07:33,479\ncheck your nulls there are other\n \n\n401\n00:07:33,479 --> 00:07:34,550\ncheck your nulls there are other\napproaches I don't think this is\n\n402\n00:07:34,550 --> 00:07:34,560\napproaches I don't think this is\n \n\n403\n00:07:34,560 --> 00:07:38,189\napproaches I don't think this is\nuniversally true but it's one way okay\n\n404\n00:07:38,189 --> 00:07:38,199\nuniversally true but it's one way okay\n \n\n405\n00:07:38,199 --> 00:07:40,710\nuniversally true but it's one way okay\nso let's talk about scale you know we\n\n406\n00:07:40,710 --> 00:07:40,720\nso let's talk about scale you know we\n \n\n407\n00:07:40,720 --> 00:07:42,749\nso let's talk about scale you know we\nall know as an array gets bigger you can\n\n408\n00:07:42,749 --> 00:07:42,759\nall know as an array gets bigger you can\n \n\n409\n00:07:42,759 --> 00:07:44,909\nall know as an array gets bigger you can\nhave an O of n log n kind of sort\n\n410\n00:07:44,909 --> 00:07:44,919\nhave an O of n log n kind of sort\n \n\n411\n00:07:44,919 --> 00:07:46,670\nhave an O of n log n kind of sort\nalgorithm great okay well let's you know\n\n412\n00:07:46,670 --> 00:07:46,680\nalgorithm great okay well let's you know\n \n\n413\n00:07:46,680 --> 00:07:48,350\nalgorithm great okay well let's you know\nscale's easy right so let's just imagine\n\n414\n00:07:48,350 --> 00:07:48,360\nscale's easy right so let's just imagine\n \n\n415\n00:07:48,360 --> 00:07:50,230\nscale's easy right so let's just imagine\nan admin panel for a web application you\n\n416\n00:07:50,230 --> 00:07:50,240\nan admin panel for a web application you\n \n\n417\n00:07:50,240 --> 00:07:52,270\nan admin panel for a web application you\nlist your users looks kind of like this\n\n418\n00:07:52,270 --> 00:07:52,280\nlist your users looks kind of like this\n \n\n419\n00:07:52,280 --> 00:07:54,230\nlist your users looks kind of like this\ngo to your database select all the users\n\n420\n00:07:54,230 --> 00:07:54,240\ngo to your database select all the users\n \n\n421\n00:07:54,240 --> 00:07:55,309\ngo to your database select all the users\nand then in your front end just show\n\n422\n00:07:55,309 --> 00:07:55,319\nand then in your front end just show\n \n\n423\n00:07:55,319 --> 00:07:57,029\nand then in your front end just show\nthem all perfect easy it's fine you've\n\n424\n00:07:57,029 --> 00:07:57,039\nthem all perfect easy it's fine you've\n \n\n425\n00:07:57,039 --> 00:07:59,670\nthem all perfect easy it's fine you've\nonly got 10 users who cares\n\n426\n00:07:59,670 --> 00:07:59,680\nonly got 10 users who cares\n \n\n427\n00:07:59,680 --> 00:08:01,710\nonly got 10 users who cares\nokay well now we're at 10 to the four\n\n428\n00:08:01,710 --> 00:08:01,720\nokay well now we're at 10 to the four\n \n\n429\n00:08:01,720 --> 00:08:04,629\nokay well now we're at 10 to the four\nokay you've got a thousand users or so\n\n430\n00:08:04,629 --> 00:08:04,639\nokay you've got a thousand users or so\n \n\n431\n00:08:04,639 --> 00:08:06,629\nokay you've got a thousand users or so\nokay well okay we can't just render all\n\n432\n00:08:06,629 --> 00:08:06,639\nokay well okay we can't just render all\n \n\n433\n00:08:06,639 --> 00:08:08,550\nokay well okay we can't just render all\nthat on one screen okay well uh we're\n\n434\n00:08:08,550 --> 00:08:08,560\nthat on one screen okay well uh we're\n \n\n435\n00:08:08,560 --> 00:08:10,710\nthat on one screen okay well uh we're\ngoing to use one of those offset SQL\n\n436\n00:08:10,710 --> 00:08:10,720\ngoing to use one of those offset SQL\n \n\n437\n00:08:10,720 --> 00:08:12,710\ngoing to use one of those offset SQL\nthings right we know about this and then\n\n438\n00:08:12,710 --> 00:08:12,720\nthings right we know about this and then\n \n\n439\n00:08:12,720 --> 00:08:15,110\nthings right we know about this and then\nwe're going to need pagination I guess\n\n440\n00:08:15,110 --> 00:08:15,120\nwe're going to need pagination I guess\n \n\n441\n00:08:15,120 --> 00:08:16,510\nwe're going to need pagination I guess\nand you got to click through okay yeah\n\n442\n00:08:16,510 --> 00:08:16,520\nand you got to click through okay yeah\n \n\n443\n00:08:16,520 --> 00:08:18,629\nand you got to click through okay yeah\nsure we can still do this this is fine\n\n444\n00:08:18,629 --> 00:08:18,639\nsure we can still do this this is fine\n \n\n445\n00:08:18,639 --> 00:08:19,950\nsure we can still do this this is fine\nyeah you don't want to request all that\n\n446\n00:08:19,950 --> 00:08:19,960\nyeah you don't want to request all that\n \n\n447\n00:08:19,960 --> 00:08:22,110\nyeah you don't want to request all that\nit's pain to scroll through okay well\n\n448\n00:08:22,110 --> 00:08:22,120\nit's pain to scroll through okay well\n \n\n449\n00:08:22,120 --> 00:08:23,990\nit's pain to scroll through okay well\nnow we're 10 to the six users we got a\n\n450\n00:08:23,990 --> 00:08:24,000\nnow we're 10 to the six users we got a\n \n\n451\n00:08:24,000 --> 00:08:26,710\nnow we're 10 to the six users we got a\nmillion actually that offset thing\n\n452\n00:08:26,710 --> 00:08:26,720\nmillion actually that offset thing\n \n\n453\n00:08:26,720 --> 00:08:28,309\nmillion actually that offset thing\nthat's a problem if you have a lot of\n\n454\n00:08:28,309 --> 00:08:28,319\nthat's a problem if you have a lot of\n \n\n455\n00:08:28,319 --> 00:08:30,469\nthat's a problem if you have a lot of\nusers because in order to generate you\n\n456\n00:08:30,469 --> 00:08:30,479\nusers because in order to generate you\n \n\n457\n00:08:30,479 --> 00:08:33,870\nusers because in order to generate you\nknow page 8850 it actually selects all\n\n458\n00:08:33,870 --> 00:08:33,880\nknow page 8850 it actually selects all\n \n\n459\n00:08:33,880 --> 00:08:35,670\nknow page 8850 it actually selects all\nof those rows and Scrolls through them\n\n460\n00:08:35,670 --> 00:08:35,680\nof those rows and Scrolls through them\n \n\n461\n00:08:35,680 --> 00:08:37,589\nof those rows and Scrolls through them\nand just takes all of those results and\n\n462\n00:08:37,589 --> 00:08:37,599\nand just takes all of those results and\n \n\n463\n00:08:37,599 --> 00:08:38,909\nand just takes all of those results and\njust Chucks them on the floor until it\n\n464\n00:08:38,909 --> 00:08:38,919\njust Chucks them on the floor until it\n \n\n465\n00:08:38,919 --> 00:08:40,909\njust Chucks them on the floor until it\ngets the ones that you asked about and\n\n466\n00:08:40,909 --> 00:08:40,919\ngets the ones that you asked about and\n \n\n467\n00:08:40,919 --> 00:08:42,670\ngets the ones that you asked about and\nactually now even though nothing has\n\n468\n00:08:42,670 --> 00:08:42,680\nactually now even though nothing has\n \n\n469\n00:08:42,680 --> 00:08:45,670\nactually now even though nothing has\nchanged about our problem statement like\n\n470\n00:08:45,670 --> 00:08:45,680\nchanged about our problem statement like\n \n\n471\n00:08:45,680 --> 00:08:47,910\nchanged about our problem statement like\nnot only are the performance\n\n472\n00:08:47,910 --> 00:08:47,920\nnot only are the performance\n \n\n473\n00:08:47,920 --> 00:08:49,430\nnot only are the performance\ncharacteristics of the system starting\n\n474\n00:08:49,430 --> 00:08:49,440\ncharacteristics of the system starting\n \n\n475\n00:08:49,440 --> 00:08:51,150\ncharacteristics of the system starting\nto change and the user interface is\n\n476\n00:08:51,150 --> 00:08:51,160\nto change and the user interface is\n \n\n477\n00:08:51,160 --> 00:08:53,710\nto change and the user interface is\nstarting to change but the the way that\n\n478\n00:08:53,710 --> 00:08:53,720\nstarting to change but the the way that\n \n\n479\n00:08:53,720 --> 00:08:55,470\nstarting to change but the the way that\nwe interact with the problem is changing\n\n480\n00:08:55,470 --> 00:08:55,480\nwe interact with the problem is changing\n \n\n481\n00:08:55,480 --> 00:08:56,910\nwe interact with the problem is changing\ntoo because if you've got a million\n\n482\n00:08:56,910 --> 00:08:56,920\ntoo because if you've got a million\n \n\n483\n00:08:56,920 --> 00:08:59,150\ntoo because if you've got a million\nusers the way to find a user is not to\n\n484\n00:08:59,150 --> 00:08:59,160\nusers the way to find a user is not to\n \n\n485\n00:08:59,160 --> 00:09:01,269\nusers the way to find a user is not to\njust like keep clicking next until you\n\n486\n00:09:01,269 --> 00:09:01,279\njust like keep clicking next until you\n \n\n487\n00:09:01,279 --> 00:09:04,470\njust like keep clicking next until you\nfind them one page after oh page 350\n\n488\n00:09:04,470 --> 00:09:04,480\nfind them one page after oh page 350\n \n\n489\n00:09:04,480 --> 00:09:06,470\nfind them one page after oh page 350\nokay I'm on the J's Okay click forward\n\n490\n00:09:06,470 --> 00:09:06,480\nokay I'm on the J's Okay click forward\n \n\n491\n00:09:06,480 --> 00:09:08,509\nokay I'm on the J's Okay click forward\nto change the query AR to force you\n\n492\n00:09:08,509 --> 00:09:08,519\nto change the query AR to force you\n \n\n493\n00:09:08,519 --> 00:09:09,829\nto change the query AR to force you\nwe've all done these kinds of things\n\n494\n00:09:09,829 --> 00:09:09,839\nwe've all done these kinds of things\n \n\n495\n00:09:09,839 --> 00:09:11,430\nwe've all done these kinds of things\nwhen the tools didn't keep up with our\n\n496\n00:09:11,430 --> 00:09:11,440\nwhen the tools didn't keep up with our\n \n\n497\n00:09:11,440 --> 00:09:14,590\nwhen the tools didn't keep up with our\nadmin systems but like the point I'm\n\n498\n00:09:14,590 --> 00:09:14,600\nadmin systems but like the point I'm\n \n\n499\n00:09:14,600 --> 00:09:16,470\nadmin systems but like the point I'm\ntrying to make here is that you know\n\n500\n00:09:16,470 --> 00:09:16,480\ntrying to make here is that you know\n \n\n501\n00:09:16,480 --> 00:09:18,069\ntrying to make here is that you know\nonce you start to reach like a 100\n\n502\n00:09:18,069 --> 00:09:18,079\nonce you start to reach like a 100\n \n\n503\n00:09:18,079 --> 00:09:20,870\nonce you start to reach like a 100\nmillion users you know it's not even the\n\n504\n00:09:20,870 --> 00:09:20,880\nmillion users you know it's not even the\n \n\n505\n00:09:20,880 --> 00:09:23,670\nmillion users you know it's not even the\nsame kind of problem anymore right the\n\n506\n00:09:23,670 --> 00:09:23,680\nsame kind of problem anymore right the\n \n\n507\n00:09:23,680 --> 00:09:26,470\nsame kind of problem anymore right the\ncomplexity that snuck in here is now\n\n508\n00:09:26,470 --> 00:09:26,480\ncomplexity that snuck in here is now\n \n\n509\n00:09:26,480 --> 00:09:28,389\ncomplexity that snuck in here is now\nthat we have different responsibilities\n\n510\n00:09:28,389 --> 00:09:28,399\nthat we have different responsibilities\n \n\n511\n00:09:28,399 --> 00:09:30,310\nthat we have different responsibilities\nthere are ethical there are legal there\n\n512\n00:09:30,310 --> 00:09:30,320\nthere are ethical there are legal there\n \n\n513\n00:09:30,320 --> 00:09:32,190\nthere are ethical there are legal there\nare policy responsibilities you probably\n\n514\n00:09:32,190 --> 00:09:32,200\nare policy responsibilities you probably\n \n\n515\n00:09:32,200 --> 00:09:34,150\nare policy responsibilities you probably\nhave a team of people at your\n\n516\n00:09:34,150 --> 00:09:34,160\nhave a team of people at your\n \n\n517\n00:09:34,160 --> 00:09:35,750\nhave a team of people at your\norganization who are responsible for\n\n518\n00:09:35,750 --> 00:09:35,760\norganization who are responsible for\n \n\n519\n00:09:35,760 --> 00:09:37,790\norganization who are responsible for\ndealing with abuse some of these people\n\n520\n00:09:37,790 --> 00:09:37,800\ndealing with abuse some of these people\n \n\n521\n00:09:37,800 --> 00:09:39,269\ndealing with abuse some of these people\nare terrible and you want them off your\n\n522\n00:09:39,269 --> 00:09:39,279\nare terrible and you want them off your\n \n\n523\n00:09:39,279 --> 00:09:41,110\nare terrible and you want them off your\nplatform and you can't find them right\n\n524\n00:09:41,110 --> 00:09:41,120\nplatform and you can't find them right\n \n\n525\n00:09:41,120 --> 00:09:43,829\nplatform and you can't find them right\nlike it's a different thing and it's\n\n526\n00:09:43,829 --> 00:09:43,839\nlike it's a different thing and it's\n \n\n527\n00:09:43,839 --> 00:09:46,110\nlike it's a different thing and it's\ncomplicated because the environment has\n\n528\n00:09:46,110 --> 00:09:46,120\ncomplicated because the environment has\n \n\n529\n00:09:46,120 --> 00:09:48,509\ncomplicated because the environment has\nchanged as much as anything\n\n530\n00:09:48,509 --> 00:09:48,519\nchanged as much as anything\n \n\n531\n00:09:48,519 --> 00:09:51,829\nchanged as much as anything\nelse so everything changes when your\n\n532\n00:09:51,829 --> 00:09:51,839\nelse so everything changes when your\n \n\n533\n00:09:51,839 --> 00:09:53,590\nelse so everything changes when your\nscale changes it's not just like an\n\n534\n00:09:53,590 --> 00:09:53,600\nscale changes it's not just like an\n \n\n535\n00:09:53,600 --> 00:09:56,430\nscale changes it's not just like an\nalgorithmic thing it's also the kinds of\n\n536\n00:09:56,430 --> 00:09:56,440\nalgorithmic thing it's also the kinds of\n \n\n537\n00:09:56,440 --> 00:09:58,790\nalgorithmic thing it's also the kinds of\nthings that you're doing change and like\n\n538\n00:09:58,790 --> 00:09:58,800\nthings that you're doing change and like\n \n\n539\n00:09:58,800 --> 00:10:00,350\nthings that you're doing change and like\nin general my advice to someone who's\n\n540\n00:10:00,350 --> 00:10:00,360\nin general my advice to someone who's\n \n\n541\n00:10:00,360 --> 00:10:02,190\nin general my advice to someone who's\nbuilt a lot of high-scale production\n\n542\n00:10:02,190 --> 00:10:02,200\nbuilt a lot of high-scale production\n \n\n543\n00:10:02,200 --> 00:10:04,949\nbuilt a lot of high-scale production\nsystems through many orders of magnitude\n\n544\n00:10:04,949 --> 00:10:04,959\nsystems through many orders of magnitude\n \n\n545\n00:10:04,959 --> 00:10:07,870\nsystems through many orders of magnitude\nis that it's as harmful to build for the\n\n546\n00:10:07,870 --> 00:10:07,880\nis that it's as harmful to build for the\n \n\n547\n00:10:07,880 --> 00:10:11,269\nis that it's as harmful to build for the\nsystem of the future as it is to build\n\n548\n00:10:11,269 --> 00:10:11,279\nsystem of the future as it is to build\n \n\n549\n00:10:11,279 --> 00:10:13,230\nsystem of the future as it is to build\nan insufficient system for the present\n\n550\n00:10:13,230 --> 00:10:13,240\nan insufficient system for the present\n \n\n551\n00:10:13,240 --> 00:10:14,870\nan insufficient system for the present\nyou know if you build the tools for 100\n\n552\n00:10:14,870 --> 00:10:14,880\nyou know if you build the tools for 100\n \n\n553\n00:10:14,880 --> 00:10:16,269\nyou know if you build the tools for 100\nmillion users when you have a hundred\n\n554\n00:10:16,269 --> 00:10:16,279\nmillion users when you have a hundred\n \n\n555\n00:10:16,279 --> 00:10:17,470\nmillion users when you have a hundred\nusers they're going to be completely\n\n556\n00:10:17,470 --> 00:10:17,480\nusers they're going to be completely\n \n\n557\n00:10:17,480 --> 00:10:19,190\nusers they're going to be completely\nunusable too and you're going to waste\n\n558\n00:10:19,190 --> 00:10:19,200\nunusable too and you're going to waste\n \n\n559\n00:10:19,200 --> 00:10:20,710\nunusable too and you're going to waste\nso much time trying to solve problems\n\n560\n00:10:20,710 --> 00:10:20,720\nso much time trying to solve problems\n \n\n561\n00:10:20,720 --> 00:10:22,150\nso much time trying to solve problems\nyou don't have yet that you're going to\n\n562\n00:10:22,150 --> 00:10:22,160\nyou don't have yet that you're going to\n \n\n563\n00:10:22,160 --> 00:10:23,710\nyou don't have yet that you're going to\nmiss out on all the benefits of being\n\n564\n00:10:23,710 --> 00:10:23,720\nmiss out on all the benefits of being\n \n\n565\n00:10:23,720 --> 00:10:25,750\nmiss out on all the benefits of being\nable to just look at all your users and\n\n566\n00:10:25,750 --> 00:10:25,760\nable to just look at all your users and\n \n\n567\n00:10:25,760 --> 00:10:27,550\nable to just look at all your users and\nsee who they are and talk to them right\n\n568\n00:10:27,550 --> 00:10:27,560\nsee who they are and talk to them right\n \n\n569\n00:10:27,560 --> 00:10:29,590\nsee who they are and talk to them right\nso you need to be scale appropriate and\n\n570\n00:10:29,590 --> 00:10:29,600\nso you need to be scale appropriate and\n \n\n571\n00:10:29,600 --> 00:10:31,710\nso you need to be scale appropriate and\nkind of be looking\n\n572\n00:10:31,710 --> 00:10:31,720\nkind of be looking\n \n\n573\n00:10:31,720 --> 00:10:34,030\nkind of be looking\nahead another way software can get\n\n574\n00:10:34,030 --> 00:10:34,040\nahead another way software can get\n \n\n575\n00:10:34,040 --> 00:10:36,310\nahead another way software can get\ncomplicated is with leaky abstractions\n\n576\n00:10:36,310 --> 00:10:36,320\ncomplicated is with leaky abstractions\n \n\n577\n00:10:36,320 --> 00:10:37,790\ncomplicated is with leaky abstractions\nand so here we have a platform that's a\n\n578\n00:10:37,790 --> 00:10:37,800\nand so here we have a platform that's a\n \n\n579\n00:10:37,800 --> 00:10:40,670\nand so here we have a platform that's a\nlittle bit skewed um and so complexity\n\n580\n00:10:40,670 --> 00:10:40,680\nlittle bit skewed um and so complexity\n \n\n581\n00:10:40,680 --> 00:10:43,110\nlittle bit skewed um and so complexity\ncan kind of Bubble Up from under the\n\n582\n00:10:43,110 --> 00:10:43,120\ncan kind of Bubble Up from under the\n \n\n583\n00:10:43,120 --> 00:10:44,829\ncan kind of Bubble Up from under the\nwater line through these imperfect\n\n584\n00:10:44,829 --> 00:10:44,839\nwater line through these imperfect\n \n\n585\n00:10:44,839 --> 00:10:47,350\nwater line through these imperfect\nextractions abstractions this is how you\n\n586\n00:10:47,350 --> 00:10:47,360\nextractions abstractions this is how you\n \n\n587\n00:10:47,360 --> 00:10:49,389\nextractions abstractions this is how you\ncopy a string it's a nice handmade\n\n588\n00:10:49,389 --> 00:10:49,399\ncopy a string it's a nice handmade\n \n\n589\n00:10:49,399 --> 00:10:51,269\ncopy a string it's a nice handmade\nlowlevel this is an exerp from carigan\n\n590\n00:10:51,269 --> 00:10:51,279\nlowlevel this is an exerp from carigan\n \n\n591\n00:10:51,279 --> 00:10:53,670\nlowlevel this is an exerp from carigan\nand Richie 1988 second edition the\n\n592\n00:10:53,670 --> 00:10:53,680\nand Richie 1988 second edition the\n \n\n593\n00:10:53,680 --> 00:10:55,430\nand Richie 1988 second edition the\nprogramming language and this book was\n\n594\n00:10:55,430 --> 00:10:55,440\nprogramming language and this book was\n \n\n595\n00:10:55,440 --> 00:10:57,430\nprogramming language and this book was\nsuch a revelation for me like how it\n\n596\n00:10:57,430 --> 00:10:57,440\nsuch a revelation for me like how it\n \n\n597\n00:10:57,440 --> 00:11:00,069\nsuch a revelation for me like how it\nshowed me the way colonel uh functions\n\n598\n00:11:00,069 --> 00:11:00,079\nshowed me the way colonel uh functions\n \n\n599\n00:11:00,079 --> 00:11:01,230\nshowed me the way colonel uh functions\nwere really\n\n600\n00:11:01,230 --> 00:11:01,240\nwere really\n \n\n601\n00:11:01,240 --> 00:11:02,990\nwere really\nimplemented no I'm just kidding they're\n\n602\n00:11:02,990 --> 00:11:03,000\nimplemented no I'm just kidding they're\n \n\n603\n00:11:03,000 --> 00:11:04,670\nimplemented no I'm just kidding they're\nnot really implemented like this and\n\n604\n00:11:04,670 --> 00:11:04,680\nnot really implemented like this and\n \n\n605\n00:11:04,680 --> 00:11:06,509\nnot really implemented like this and\nthey say here that this is how you know\n\n606\n00:11:06,509 --> 00:11:06,519\nthey say here that this is how you know\n \n\n607\n00:11:06,519 --> 00:11:09,150\nthey say here that this is how you know\na c programmer would prefer to write\n\n608\n00:11:09,150 --> 00:11:09,160\na c programmer would prefer to write\n \n\n609\n00:11:09,160 --> 00:11:12,269\na c programmer would prefer to write\nstring copy the C programmer in question\n\n610\n00:11:12,269 --> 00:11:12,279\nstring copy the C programmer in question\n \n\n611\n00:11:12,279 --> 00:11:13,710\nstring copy the C programmer in question\nhas never forgotten to null terminate a\n\n612\n00:11:13,710 --> 00:11:13,720\nhas never forgotten to null terminate a\n \n\n613\n00:11:13,720 --> 00:11:16,629\nhas never forgotten to null terminate a\nstring I see um but this is how string\n\n614\n00:11:16,629 --> 00:11:16,639\nstring I see um but this is how string\n \n\n615\n00:11:16,639 --> 00:11:20,190\nstring I see um but this is how string\ncopy is actually implemented as of 2022\n\n616\n00:11:20,190 --> 00:11:20,200\ncopy is actually implemented as of 2022\n \n\n617\n00:11:20,200 --> 00:11:23,750\ncopy is actually implemented as of 2022\nfor Alpha in uh in Linux and actually\n\n618\n00:11:23,750 --> 00:11:23,760\nfor Alpha in uh in Linux and actually\n \n\n619\n00:11:23,760 --> 00:11:24,990\nfor Alpha in uh in Linux and actually\nthis isn't how string copy is\n\n620\n00:11:24,990 --> 00:11:25,000\nthis isn't how string copy is\n \n\n621\n00:11:25,000 --> 00:11:27,470\nthis isn't how string copy is\nimplemented this is like one page of\n\n622\n00:11:27,470 --> 00:11:27,480\nimplemented this is like one page of\n \n\n623\n00:11:27,480 --> 00:11:30,110\nimplemented this is like one page of\nassembler uh there's like 300 lines of\n\n624\n00:11:30,110 --> 00:11:30,120\nassembler uh there's like 300 lines of\n \n\n625\n00:11:30,120 --> 00:11:33,230\nassembler uh there's like 300 lines of\nassembly and really importantly and and\n\n626\n00:11:33,230 --> 00:11:33,240\nassembly and really importantly and and\n \n\n627\n00:11:33,240 --> 00:11:35,750\nassembly and really importantly and and\nintriguingly although the interface\n\n628\n00:11:35,750 --> 00:11:35,760\nintriguingly although the interface\n \n\n629\n00:11:35,760 --> 00:11:38,030\nintriguingly although the interface\nRemains the Same modern CPU\n\n630\n00:11:38,030 --> 00:11:38,040\nRemains the Same modern CPU\n \n\n631\n00:11:38,040 --> 00:11:40,110\nRemains the Same modern CPU\narchitectures have so many more\n\n632\n00:11:40,110 --> 00:11:40,120\narchitectures have so many more\n \n\n633\n00:11:40,120 --> 00:11:42,670\narchitectures have so many more\nconstraints around memory alignment and\n\n634\n00:11:42,670 --> 00:11:42,680\nconstraints around memory alignment and\n \n\n635\n00:11:42,680 --> 00:11:44,269\nconstraints around memory alignment and\neverything else that although the\n\n636\n00:11:44,269 --> 00:11:44,279\neverything else that although the\n \n\n637\n00:11:44,279 --> 00:11:46,069\neverything else that although the\ninterface is preserved you can pass any\n\n638\n00:11:46,069 --> 00:11:46,079\ninterface is preserved you can pass any\n \n\n639\n00:11:46,079 --> 00:11:48,790\ninterface is preserved you can pass any\npointers in and get values back the kind\n\n640\n00:11:48,790 --> 00:11:48,800\npointers in and get values back the kind\n \n\n641\n00:11:48,800 --> 00:11:51,150\npointers in and get values back the kind\nof performance characteristics of like\n\n642\n00:11:51,150 --> 00:11:51,160\nof performance characteristics of like\n \n\n643\n00:11:51,160 --> 00:11:52,990\nof performance characteristics of like\ndoing an unaligned versus an aligned\n\n644\n00:11:52,990 --> 00:11:53,000\ndoing an unaligned versus an aligned\n \n\n645\n00:11:53,000 --> 00:11:56,949\ndoing an unaligned versus an aligned\nstring copy will be dramatically\n\n646\n00:11:56,949 --> 00:11:56,959\nstring copy will be dramatically\n \n\n647\n00:11:56,959 --> 00:11:59,870\nstring copy will be dramatically\ndifferent and so complexity here right\n\n648\n00:11:59,870 --> 00:11:59,880\ndifferent and so complexity here right\n \n\n649\n00:11:59,880 --> 00:12:01,790\ndifferent and so complexity here right\nlike I think we can kind of call this a\n\n650\n00:12:01,790 --> 00:12:01,800\nlike I think we can kind of call this a\n \n\n651\n00:12:01,800 --> 00:12:03,350\nlike I think we can kind of call this a\nwin right like we've got this\n\n652\n00:12:03,350 --> 00:12:03,360\nwin right like we've got this\n \n\n653\n00:12:03,360 --> 00:12:05,310\nwin right like we've got this\nsuperpowered computer under the hood now\n\n654\n00:12:05,310 --> 00:12:05,320\nsuperpowered computer under the hood now\n \n\n655\n00:12:05,320 --> 00:12:06,829\nsuperpowered computer under the hood now\nbut it still kind of feels like that old\n\n656\n00:12:06,829 --> 00:12:06,839\nbut it still kind of feels like that old\n \n\n657\n00:12:06,839 --> 00:12:09,910\nbut it still kind of feels like that old\ngalap they were running in 1988 you know\n\n658\n00:12:09,910 --> 00:12:09,920\ngalap they were running in 1988 you know\n \n\n659\n00:12:09,920 --> 00:12:12,430\ngalap they were running in 1988 you know\nand like that's cool that that it works\n\n660\n00:12:12,430 --> 00:12:12,440\nand like that's cool that that it works\n \n\n661\n00:12:12,440 --> 00:12:16,670\nand like that's cool that that it works\nbut in a sense this API that's so simple\n\n662\n00:12:16,670 --> 00:12:16,680\nbut in a sense this API that's so simple\n \n\n663\n00:12:16,680 --> 00:12:18,910\nbut in a sense this API that's so simple\nis actually undermining the value of the\n\n664\n00:12:18,910 --> 00:12:18,920\nis actually undermining the value of the\n \n\n665\n00:12:18,920 --> 00:12:21,350\nis actually undermining the value of the\nsystem and there's a lot of magic\n\n666\n00:12:21,350 --> 00:12:21,360\nsystem and there's a lot of magic\n \n\n667\n00:12:21,360 --> 00:12:24,030\nsystem and there's a lot of magic\nhappening to kind of hide this and so I\n\n668\n00:12:24,030 --> 00:12:24,040\nhappening to kind of hide this and so I\n \n\n669\n00:12:24,040 --> 00:12:25,470\nhappening to kind of hide this and so I\nfeel very mixed about this because on\n\n670\n00:12:25,470 --> 00:12:25,480\nfeel very mixed about this because on\n \n\n671\n00:12:25,480 --> 00:12:26,949\nfeel very mixed about this because on\nthe one hand you know it's sort of like\n\n672\n00:12:26,949 --> 00:12:26,959\nthe one hand you know it's sort of like\n \n\n673\n00:12:26,959 --> 00:12:28,910\nthe one hand you know it's sort of like\nSQL databases where like you can add an\n\n674\n00:12:28,910 --> 00:12:28,920\nSQL databases where like you can add an\n \n\n675\n00:12:28,920 --> 00:12:30,710\nSQL databases where like you can add an\nIND and change nothing else and things\n\n676\n00:12:30,710 --> 00:12:30,720\nIND and change nothing else and things\n \n\n677\n00:12:30,720 --> 00:12:33,949\nIND and change nothing else and things\nget faster but there's like a really\n\n678\n00:12:33,949 --> 00:12:33,959\nget faster but there's like a really\n \n\n679\n00:12:33,959 --> 00:12:36,949\nget faster but there's like a really\nimportant subtle like lie that's being\n\n680\n00:12:36,949 --> 00:12:36,959\nimportant subtle like lie that's being\n \n\n681\n00:12:36,959 --> 00:12:39,310\nimportant subtle like lie that's being\ntold here but maybe this is good and\n\n682\n00:12:39,310 --> 00:12:39,320\ntold here but maybe this is good and\n \n\n683\n00:12:39,320 --> 00:12:41,110\ntold here but maybe this is good and\nmaybe it's bad this is like a value\n\n684\n00:12:41,110 --> 00:12:41,120\nmaybe it's bad this is like a value\n \n\n685\n00:12:41,120 --> 00:12:43,949\nmaybe it's bad this is like a value\njudgment kind of question and whether\n\n686\n00:12:43,949 --> 00:12:43,959\njudgment kind of question and whether\n \n\n687\n00:12:43,959 --> 00:12:45,230\njudgment kind of question and whether\nyou understand this is happening could\n\n688\n00:12:45,230 --> 00:12:45,240\nyou understand this is happening could\n \n\n689\n00:12:45,240 --> 00:12:46,990\nyou understand this is happening could\nbe completely irrelevant or it could be\n\n690\n00:12:46,990 --> 00:12:47,000\nbe completely irrelevant or it could be\n \n\n691\n00:12:47,000 --> 00:12:48,310\nbe completely irrelevant or it could be\nthe difference between the success and\n\n692\n00:12:48,310 --> 00:12:48,320\nthe difference between the success and\n \n\n693\n00:12:48,320 --> 00:12:50,590\nthe difference between the success and\nfailure of a\n\n694\n00:12:50,590 --> 00:12:50,600\nfailure of a\n \n\n695\n00:12:50,600 --> 00:12:55,470\nfailure of a\nproject okay so these are kind of like\n\n696\n00:12:55,470 --> 00:12:55,480\nproject okay so these are kind of like\n \n\n697\n00:12:55,480 --> 00:12:58,509\nproject okay so these are kind of like\ntechnical complexities that come in I\n\n698\n00:12:58,509 --> 00:12:58,519\ntechnical complexities that come in I\n \n\n699\n00:12:58,519 --> 00:13:00,790\ntechnical complexities that come in I\nwant to talk about other sources of\n\n700\n00:13:00,790 --> 00:13:00,800\nwant to talk about other sources of\n \n\n701\n00:13:00,800 --> 00:13:03,509\nwant to talk about other sources of\ncomplexity different kinds of complexity\n\n702\n00:13:03,509 --> 00:13:03,519\ncomplexity different kinds of complexity\n \n\n703\n00:13:03,519 --> 00:13:05,629\ncomplexity different kinds of complexity\nand one really big source of complexity\n\n704\n00:13:05,629 --> 00:13:05,639\nand one really big source of complexity\n \n\n705\n00:13:05,639 --> 00:13:07,550\nand one really big source of complexity\nin my projects maybe your smarter than\n\n706\n00:13:07,550 --> 00:13:07,560\nin my projects maybe your smarter than\n \n\n707\n00:13:07,560 --> 00:13:09,550\nin my projects maybe your smarter than\nme and that's cool uh but it's when you\n\n708\n00:13:09,550 --> 00:13:09,560\nme and that's cool uh but it's when you\n \n\n709\n00:13:09,560 --> 00:13:11,550\nme and that's cool uh but it's when you\nhave a gap between the problem you think\n\n710\n00:13:11,550 --> 00:13:11,560\nhave a gap between the problem you think\n \n\n711\n00:13:11,560 --> 00:13:13,750\nhave a gap between the problem you think\nyou have or the problem you used to have\n\n712\n00:13:13,750 --> 00:13:13,760\nyou have or the problem you used to have\n \n\n713\n00:13:13,760 --> 00:13:15,710\nyou have or the problem you used to have\nand the problem you have right now and\n\n714\n00:13:15,710 --> 00:13:15,720\nand the problem you have right now and\n \n\n715\n00:13:15,720 --> 00:13:17,150\nand the problem you have right now and\nagain we're going to use a toy example\n\n716\n00:13:17,150 --> 00:13:17,160\nagain we're going to use a toy example\n \n\n717\n00:13:17,160 --> 00:13:19,230\nagain we're going to use a toy example\nto illustrate this so you've got a users\n\n718\n00:13:19,230 --> 00:13:19,240\nto illustrate this so you've got a users\n \n\n719\n00:13:19,240 --> 00:13:22,670\nto illustrate this so you've got a users\ntable just same app as before and you\n\n720\n00:13:22,670 --> 00:13:22,680\ntable just same app as before and you\n \n\n721\n00:13:22,680 --> 00:13:23,949\ntable just same app as before and you\nknow your users there's a bunch of\n\n722\n00:13:23,949 --> 00:13:23,959\nknow your users there's a bunch of\n \n\n723\n00:13:23,959 --> 00:13:25,389\nknow your users there's a bunch of\nfields you got a first name and a last\n\n724\n00:13:25,389 --> 00:13:25,399\nfields you got a first name and a last\n \n\n725\n00:13:25,399 --> 00:13:26,470\nfields you got a first name and a last\nname and how do you get the first name\n\n726\n00:13:26,470 --> 00:13:26,480\nname and how do you get the first name\n \n\n727\n00:13:26,480 --> 00:13:28,110\nname and how do you get the first name\nand the last name it's\n\n728\n00:13:28,110 --> 00:13:28,120\nand the last name it's\n \n\n729\n00:13:28,120 --> 00:13:32,750\nand the last name it's\neasy guys you just split on a\n\n730\n00:13:32,750 --> 00:13:32,760\neasy guys you just split on a\n \n\n731\n00:13:32,760 --> 00:13:36,910\neasy guys you just split on a\nspace as a van\n\n732\n00:13:36,910 --> 00:13:36,920\n\n \n\n733\n00:13:36,920 --> 00:13:40,590\n\nhardenberg uh you can see how this might\n\n734\n00:13:40,590 --> 00:13:40,600\nhardenberg uh you can see how this might\n \n\n735\n00:13:40,600 --> 00:13:41,990\nhardenberg uh you can see how this might\nget you in trouble and in fact on my\n\n736\n00:13:41,990 --> 00:13:42,000\nget you in trouble and in fact on my\n \n\n737\n00:13:42,000 --> 00:13:44,110\nget you in trouble and in fact on my\nCalifornia driver's license it said that\n\n738\n00:13:44,110 --> 00:13:44,120\nCalifornia driver's license it said that\n \n\n739\n00:13:44,120 --> 00:13:47,110\nCalifornia driver's license it said that\nmy middle name was van for many\n\n740\n00:13:47,110 --> 00:13:47,120\nmy middle name was van for many\n \n\n741\n00:13:47,120 --> 00:13:50,189\nmy middle name was van for many\nyears and the problem here is that the\n\n742\n00:13:50,189 --> 00:13:50,199\nyears and the problem here is that the\n \n\n743\n00:13:50,199 --> 00:13:53,069\nyears and the problem here is that the\nmodel that you have for the problem\n\n744\n00:13:53,069 --> 00:13:53,079\nmodel that you have for the problem\n \n\n745\n00:13:53,079 --> 00:13:56,269\nmodel that you have for the problem\ndoesn't actually map the problem domain\n\n746\n00:13:56,269 --> 00:13:56,279\ndoesn't actually map the problem domain\n \n\n747\n00:13:56,279 --> 00:13:59,230\ndoesn't actually map the problem domain\nsuccessfully\n\n748\n00:13:59,230 --> 00:13:59,240\nsuccessfully\n \n\n749\n00:13:59,240 --> 00:14:01,829\nsuccessfully\nso what do you what do you\n\n750\n00:14:01,829 --> 00:14:01,839\nso what do you what do you\n \n\n751\n00:14:01,839 --> 00:14:03,749\nso what do you what do you\ndo right and there are lots of things\n\n752\n00:14:03,749 --> 00:14:03,759\ndo right and there are lots of things\n \n\n753\n00:14:03,759 --> 00:14:05,310\ndo right and there are lots of things\nyou can do you can rewrite from scratch\n\n754\n00:14:05,310 --> 00:14:05,320\nyou can do you can rewrite from scratch\n \n\n755\n00:14:05,320 --> 00:14:07,590\nyou can do you can rewrite from scratch\nyou can patch around it and actually\n\n756\n00:14:07,590 --> 00:14:07,600\nyou can patch around it and actually\n \n\n757\n00:14:07,600 --> 00:14:09,389\nyou can patch around it and actually\njust as an aside for everybody in the\n\n758\n00:14:09,389 --> 00:14:09,399\njust as an aside for everybody in the\n \n\n759\n00:14:09,399 --> 00:14:12,910\njust as an aside for everybody in the\nroom the w3c has a wonderful um essay\n\n760\n00:14:12,910 --> 00:14:12,920\nroom the w3c has a wonderful um essay\n \n\n761\n00:14:12,920 --> 00:14:15,310\nroom the w3c has a wonderful um essay\nabout personal names around the world\n\n762\n00:14:15,310 --> 00:14:15,320\nabout personal names around the world\n \n\n763\n00:14:15,320 --> 00:14:17,110\nabout personal names around the world\nand just you know if you take one like\n\n764\n00:14:17,110 --> 00:14:17,120\nand just you know if you take one like\n \n\n765\n00:14:17,120 --> 00:14:19,350\nand just you know if you take one like\nlittle thing from this talk um don't use\n\n766\n00:14:19,350 --> 00:14:19,360\nlittle thing from this talk um don't use\n \n\n767\n00:14:19,360 --> 00:14:20,910\nlittle thing from this talk um don't use\nfirst name and last name don't use\n\n768\n00:14:20,910 --> 00:14:20,920\nfirst name and last name don't use\n \n\n769\n00:14:20,920 --> 00:14:22,829\nfirst name and last name don't use\nfamily name people's family names aren't\n\n770\n00:14:22,829 --> 00:14:22,839\nfamily name people's family names aren't\n \n\n771\n00:14:22,839 --> 00:14:24,069\nfamily name people's family names aren't\naccurate some people have them and\n\n772\n00:14:24,069 --> 00:14:24,079\naccurate some people have them and\n \n\n773\n00:14:24,079 --> 00:14:25,910\naccurate some people have them and\nothers don't uh what you do is you have\n\n774\n00:14:25,910 --> 00:14:25,920\nothers don't uh what you do is you have\n \n\n775\n00:14:25,920 --> 00:14:27,670\nothers don't uh what you do is you have\none field that is you know what is the\n\n776\n00:14:27,670 --> 00:14:27,680\none field that is you know what is the\n \n\n777\n00:14:27,680 --> 00:14:29,870\none field that is you know what is the\nfull name and then the other one is if\n\n778\n00:14:29,870 --> 00:14:29,880\nfull name and then the other one is if\n \n\n779\n00:14:29,880 --> 00:14:32,350\nfull name and then the other one is if\nyou need it what should we call you um\n\n780\n00:14:32,350 --> 00:14:32,360\nyou need it what should we call you um\n \n\n781\n00:14:32,360 --> 00:14:34,550\nyou need it what should we call you um\nit's like a much better\n\n782\n00:14:34,550 --> 00:14:34,560\nit's like a much better\n \n\n783\n00:14:34,560 --> 00:14:38,509\nit's like a much better\nmodel um also\n\n784\n00:14:38,509 --> 00:14:38,519\nmodel um also\n \n\n785\n00:14:38,519 --> 00:14:40,870\nmodel um also\nUnicode I know that's its own set of\n\n786\n00:14:40,870 --> 00:14:40,880\nUnicode I know that's its own set of\n \n\n787\n00:14:40,880 --> 00:14:44,710\nUnicode I know that's its own set of\ncomplexity but uh and so you know\n\n788\n00:14:44,710 --> 00:14:44,720\ncomplexity but uh and so you know\n \n\n789\n00:14:44,720 --> 00:14:46,389\ncomplexity but uh and so you know\nthere's only so many things you can do\n\n790\n00:14:46,389 --> 00:14:46,399\nthere's only so many things you can do\n \n\n791\n00:14:46,399 --> 00:14:48,230\nthere's only so many things you can do\nwhen you have this problem right and\n\n792\n00:14:48,230 --> 00:14:48,240\nwhen you have this problem right and\n \n\n793\n00:14:48,240 --> 00:14:49,870\nwhen you have this problem right and\nlike I had a really specific concrete\n\n794\n00:14:49,870 --> 00:14:49,880\nlike I had a really specific concrete\n \n\n795\n00:14:49,880 --> 00:14:51,430\nlike I had a really specific concrete\nexample of this in a distributed system\n\n796\n00:14:51,430 --> 00:14:51,440\nexample of this in a distributed system\n \n\n797\n00:14:51,440 --> 00:14:54,310\nexample of this in a distributed system\nrecently where like I had a mental model\n\n798\n00:14:54,310 --> 00:14:54,320\nrecently where like I had a mental model\n \n\n799\n00:14:54,320 --> 00:14:57,069\nrecently where like I had a mental model\nof how the system behaved and my tests\n\n800\n00:14:57,069 --> 00:14:57,079\nof how the system behaved and my tests\n \n\n801\n00:14:57,079 --> 00:14:59,150\nof how the system behaved and my tests\ndemonstrated that it behaved that way\n\n802\n00:14:59,150 --> 00:14:59,160\ndemonstrated that it behaved that way\n \n\n803\n00:14:59,160 --> 00:15:00,629\ndemonstrated that it behaved that way\nand then in my production environment it\n\n804\n00:15:00,629 --> 00:15:00,639\nand then in my production environment it\n \n\n805\n00:15:00,639 --> 00:15:02,230\nand then in my production environment it\nbehaved completely\n\n806\n00:15:02,230 --> 00:15:02,240\nbehaved completely\n \n\n807\n00:15:02,240 --> 00:15:04,870\nbehaved completely\ndifferently because of behaviors that\n\n808\n00:15:04,870 --> 00:15:04,880\ndifferently because of behaviors that\n \n\n809\n00:15:04,880 --> 00:15:07,150\ndifferently because of behaviors that\nwere not modeled by my understanding of\n\n810\n00:15:07,150 --> 00:15:07,160\nwere not modeled by my understanding of\n \n\n811\n00:15:07,160 --> 00:15:09,269\nwere not modeled by my understanding of\nthe problem and this is part of why\n\n812\n00:15:09,269 --> 00:15:09,279\nthe problem and this is part of why\n \n\n813\n00:15:09,279 --> 00:15:11,189\nthe problem and this is part of why\ndistributed systems are so prone to this\n\n814\n00:15:11,189 --> 00:15:11,199\ndistributed systems are so prone to this\n \n\n815\n00:15:11,199 --> 00:15:14,230\ndistributed systems are so prone to this\nis because there's so many new free\n\n816\n00:15:14,230 --> 00:15:14,240\nis because there's so many new free\n \n\n817\n00:15:14,240 --> 00:15:16,350\nis because there's so many new free\nvariables and and like articulation\n\n818\n00:15:16,350 --> 00:15:16,360\nvariables and and like articulation\n \n\n819\n00:15:16,360 --> 00:15:18,829\nvariables and and like articulation\npoints where things can be fast or slow\n\n820\n00:15:18,829 --> 00:15:18,839\npoints where things can be fast or slow\n \n\n821\n00:15:18,839 --> 00:15:21,069\npoints where things can be fast or slow\nor where they can fail or you know\n\n822\n00:15:21,069 --> 00:15:21,079\nor where they can fail or you know\n \n\n823\n00:15:21,079 --> 00:15:22,590\nor where they can fail or you know\narrive out of order and all these kinds\n\n824\n00:15:22,590 --> 00:15:22,600\narrive out of order and all these kinds\n \n\n825\n00:15:22,600 --> 00:15:24,470\narrive out of order and all these kinds\nof things and so when you have these\n\n826\n00:15:24,470 --> 00:15:24,480\nof things and so when you have these\n \n\n827\n00:15:24,480 --> 00:15:26,790\nof things and so when you have these\nkinds of model reality gaps you have to\n\n828\n00:15:26,790 --> 00:15:26,800\nkinds of model reality gaps you have to\n \n\n829\n00:15:26,800 --> 00:15:28,790\nkinds of model reality gaps you have to\nbridge them somehow and so what can you\n\n830\n00:15:28,790 --> 00:15:28,800\nbridge them somehow and so what can you\n \n\n831\n00:15:28,800 --> 00:15:30,430\nbridge them somehow and so what can you\ndo well you can fix the problem you can\n\n832\n00:15:30,430 --> 00:15:30,440\ndo well you can fix the problem you can\n \n\n833\n00:15:30,440 --> 00:15:32,150\ndo well you can fix the problem you can\nimprove your understanding and rewrite\n\n834\n00:15:32,150 --> 00:15:32,160\nimprove your understanding and rewrite\n \n\n835\n00:15:32,160 --> 00:15:35,230\nimprove your understanding and rewrite\neverything and like when you can do that\n\n836\n00:15:35,230 --> 00:15:35,240\neverything and like when you can do that\n \n\n837\n00:15:35,240 --> 00:15:38,110\neverything and like when you can do that\nit's probably\n\n838\n00:15:38,110 --> 00:15:38,120\nit's probably\n \n\n839\n00:15:38,120 --> 00:15:40,949\nit's probably\nbest you can't really always do that\n\n840\n00:15:40,949 --> 00:15:40,959\nbest you can't really always do that\n \n\n841\n00:15:40,959 --> 00:15:42,829\nbest you can't really always do that\nthough and more to the point you may\n\n842\n00:15:42,829 --> 00:15:42,839\nthough and more to the point you may\n \n\n843\n00:15:42,839 --> 00:15:44,509\nthough and more to the point you may\nstill not actually you could see the\n\n844\n00:15:44,509 --> 00:15:44,519\nstill not actually you could see the\n \n\n845\n00:15:44,519 --> 00:15:46,309\nstill not actually you could see the\nproblem but you may still not actually\n\n846\n00:15:46,309 --> 00:15:46,319\nproblem but you may still not actually\n \n\n847\n00:15:46,319 --> 00:15:48,509\nproblem but you may still not actually\nunderstand the solution right and so\n\n848\n00:15:48,509 --> 00:15:48,519\nunderstand the solution right and so\n \n\n849\n00:15:48,519 --> 00:15:49,949\nunderstand the solution right and so\nwhat can you do well you can hack around\n\n850\n00:15:49,949 --> 00:15:49,959\nwhat can you do well you can hack around\n \n\n851\n00:15:49,959 --> 00:15:52,309\nwhat can you do well you can hack around\nit right like I've put van hardenberg\n\n852\n00:15:52,309 --> 00:15:52,319\nit right like I've put van hardenberg\n \n\n853\n00:15:52,319 --> 00:15:54,629\nit right like I've put van hardenberg\ninto a lot of text boxes without a space\n\n854\n00:15:54,629 --> 00:15:54,639\ninto a lot of text boxes without a space\n \n\n855\n00:15:54,639 --> 00:15:56,629\ninto a lot of text boxes without a space\nin it and you know where the first\n\n856\n00:15:56,629 --> 00:15:56,639\nin it and you know where the first\n \n\n857\n00:15:56,639 --> 00:15:58,230\nin it and you know where the first\nletter is capitalized and the H is\n\n858\n00:15:58,230 --> 00:15:58,240\nletter is capitalized and the H is\n \n\n859\n00:15:58,240 --> 00:15:59,790\nletter is capitalized and the H is\nlowercase and that's not how I spell my\n\n860\n00:15:59,790 --> 00:15:59,800\nlowercase and that's not how I spell my\n \n\n861\n00:15:59,800 --> 00:16:01,189\nlowercase and that's not how I spell my\nname but it is how a lot of systems\n\n862\n00:16:01,189 --> 00:16:01,199\nname but it is how a lot of systems\n \n\n863\n00:16:01,199 --> 00:16:03,269\nname but it is how a lot of systems\nspell my name you know or you can ignore\n\n864\n00:16:03,269 --> 00:16:03,279\nspell my name you know or you can ignore\n \n\n865\n00:16:03,279 --> 00:16:05,550\nspell my name you know or you can ignore\nthe problem right like maybe it's fine\n\n866\n00:16:05,550 --> 00:16:05,560\nthe problem right like maybe it's fine\n \n\n867\n00:16:05,560 --> 00:16:07,269\nthe problem right like maybe it's fine\nand like genuinely it could be fine for\n\n868\n00:16:07,269 --> 00:16:07,279\nand like genuinely it could be fine for\n \n\n869\n00:16:07,279 --> 00:16:08,990\nand like genuinely it could be fine for\nyour use case you're just like well I\n\n870\n00:16:08,990 --> 00:16:09,000\nyour use case you're just like well I\n \n\n871\n00:16:09,000 --> 00:16:11,189\nyour use case you're just like well I\nguess you know that Peter guy can suck\n\n872\n00:16:11,189 --> 00:16:11,199\nguess you know that Peter guy can suck\n \n\n873\n00:16:11,199 --> 00:16:12,350\nguess you know that Peter guy can suck\nit he'll deal with having his name\n\n874\n00:16:12,350 --> 00:16:12,360\nit he'll deal with having his name\n \n\n875\n00:16:12,360 --> 00:16:16,110\nit he'll deal with having his name\nspelled wrong and I do you know it's\n\n876\n00:16:16,110 --> 00:16:16,120\nspelled wrong and I do you know it's\n \n\n877\n00:16:16,120 --> 00:16:17,389\nspelled wrong and I do you know it's\nthese are options that you have and\n\n878\n00:16:17,389 --> 00:16:17,399\nthese are options that you have and\n \n\n879\n00:16:17,399 --> 00:16:19,629\nthese are options that you have and\nthere's like a great you know like meme\n\n880\n00:16:19,629 --> 00:16:19,639\nthere's like a great you know like meme\n \n\n881\n00:16:19,639 --> 00:16:21,470\nthere's like a great you know like meme\nseries out there on the internet lies\n\n882\n00:16:21,470 --> 00:16:21,480\nseries out there on the internet lies\n \n\n883\n00:16:21,480 --> 00:16:23,670\nseries out there on the internet lies\nprogrammers believe about pretty much\n\n884\n00:16:23,670 --> 00:16:23,680\nprogrammers believe about pretty much\n \n\n885\n00:16:23,680 --> 00:16:26,269\nprogrammers believe about pretty much\nanything like all time zones are 1 hour\n\n886\n00:16:26,269 --> 00:16:26,279\nanything like all time zones are 1 hour\n \n\n887\n00:16:26,279 --> 00:16:28,710\nanything like all time zones are 1 hour\napart uh half an hour later in Newan\n\n888\n00:16:28,710 --> 00:16:28,720\napart uh half an hour later in Newan\n \n\n889\n00:16:28,720 --> 00:16:30,430\napart uh half an hour later in Newan\nland\n\n890\n00:16:30,430 --> 00:16:30,440\nland\n \n\n891\n00:16:30,440 --> 00:16:31,470\nland\nand so I\n\n892\n00:16:31,470 --> 00:16:31,480\nand so I\n \n\n893\n00:16:31,480 --> 00:16:33,790\nand so I\nthink this is a this is a very\n\n894\n00:16:33,790 --> 00:16:33,800\nthink this is a this is a very\n \n\n895\n00:16:33,800 --> 00:16:35,590\nthink this is a this is a very\nfundamental source of complexity but\n\n896\n00:16:35,590 --> 00:16:35,600\nfundamental source of complexity but\n \n\n897\n00:16:35,600 --> 00:16:38,749\nfundamental source of complexity but\nwhere things get really bad is when your\n\n898\n00:16:38,749 --> 00:16:38,759\nwhere things get really bad is when your\n \n\n899\n00:16:38,759 --> 00:16:41,350\nwhere things get really bad is when your\nproblems start to multiply off each\n\n900\n00:16:41,350 --> 00:16:41,360\nproblems start to multiply off each\n \n\n901\n00:16:41,360 --> 00:16:44,389\nproblems start to multiply off each\nother and this of course is you know\n\n902\n00:16:44,389 --> 00:16:44,399\nother and this of course is you know\n \n\n903\n00:16:44,399 --> 00:16:45,910\nother and this of course is you know\nwhere you have kind of like compound\n\n904\n00:16:45,910 --> 00:16:45,920\nwhere you have kind of like compound\n \n\n905\n00:16:45,920 --> 00:16:49,189\nwhere you have kind of like compound\ninterest on complexity so what happens\n\n906\n00:16:49,189 --> 00:16:49,199\ninterest on complexity so what happens\n \n\n907\n00:16:49,199 --> 00:16:51,749\ninterest on complexity so what happens\nif your problems um dimensionalize\n\n908\n00:16:51,749 --> 00:16:51,759\nif your problems um dimensionalize\n \n\n909\n00:16:51,759 --> 00:16:54,389\nif your problems um dimensionalize\nagainst each other so again imagine this\n\n910\n00:16:54,389 --> 00:16:54,399\nagainst each other so again imagine this\n \n\n911\n00:16:54,399 --> 00:16:55,949\nagainst each other so again imagine this\nweb application you've got a bunch of\n\n912\n00:16:55,949 --> 00:16:55,959\nweb application you've got a bunch of\n \n\n913\n00:16:55,959 --> 00:16:57,790\nweb application you've got a bunch of\ndifferent browsers to support you've got\n\n914\n00:16:57,790 --> 00:16:57,800\ndifferent browsers to support you've got\n \n\n915\n00:16:57,800 --> 00:16:59,509\ndifferent browsers to support you've got\na bunch of different runtime\n\n916\n00:16:59,509 --> 00:16:59,519\na bunch of different runtime\n \n\n917\n00:16:59,519 --> 00:17:01,509\na bunch of different runtime\nenvironments to support different screen\n\n918\n00:17:01,509 --> 00:17:01,519\nenvironments to support different screen\n \n\n919\n00:17:01,519 --> 00:17:03,749\nenvironments to support different screen\nsizes Network speeds different Os or\n\n920\n00:17:03,749 --> 00:17:03,759\nsizes Network speeds different Os or\n \n\n921\n00:17:03,759 --> 00:17:06,309\nsizes Network speeds different Os or\nbrowser versions and so if you want to\n\n922\n00:17:06,309 --> 00:17:06,319\nbrowser versions and so if you want to\n \n\n923\n00:17:06,319 --> 00:17:08,669\nbrowser versions and so if you want to\nactually understand what's happening you\n\n924\n00:17:08,669 --> 00:17:08,679\nactually understand what's happening you\n \n\n925\n00:17:08,679 --> 00:17:10,390\nactually understand what's happening you\nknow all of these things multiply\n\n926\n00:17:10,390 --> 00:17:10,400\nknow all of these things multiply\n \n\n927\n00:17:10,400 --> 00:17:12,549\nknow all of these things multiply\nagainst each other right and so you\n\n928\n00:17:12,549 --> 00:17:12,559\nagainst each other right and so you\n \n\n929\n00:17:12,559 --> 00:17:14,470\nagainst each other right and so you\ndon't just have one runtime environment\n\n930\n00:17:14,470 --> 00:17:14,480\ndon't just have one runtime environment\n \n\n931\n00:17:14,480 --> 00:17:15,949\ndon't just have one runtime environment\nyou might have one codebase but you have\n\n932\n00:17:15,949 --> 00:17:15,959\nyou might have one codebase but you have\n \n\n933\n00:17:15,959 --> 00:17:18,750\nyou might have one codebase but you have\nlots of different contexts so how can\n\n934\n00:17:18,750 --> 00:17:18,760\nlots of different contexts so how can\n \n\n935\n00:17:18,760 --> 00:17:20,710\nlots of different contexts so how can\nyou know that you actually have correct\n\n936\n00:17:20,710 --> 00:17:20,720\nyou know that you actually have correct\n \n\n937\n00:17:20,720 --> 00:17:22,549\nyou know that you actually have correct\nfunctioning code because you know the\n\n938\n00:17:22,549 --> 00:17:22,559\nfunctioning code because you know the\n \n\n939\n00:17:22,559 --> 00:17:24,110\nfunctioning code because you know the\nold joke about Docker like well it\n\n940\n00:17:24,110 --> 00:17:24,120\nold joke about Docker like well it\n \n\n941\n00:17:24,120 --> 00:17:25,429\nold joke about Docker like well it\nworked on my computer well I guess we'll\n\n942\n00:17:25,429 --> 00:17:25,439\nworked on my computer well I guess we'll\n \n\n943\n00:17:25,439 --> 00:17:27,309\nworked on my computer well I guess we'll\nship your computer well even that\n\n944\n00:17:27,309 --> 00:17:27,319\nship your computer well even that\n \n\n945\n00:17:27,319 --> 00:17:29,029\nship your computer well even that\ndoesn't really work because once you get\n\n946\n00:17:29,029 --> 00:17:29,039\ndoesn't really work because once you get\n \n\n947\n00:17:29,039 --> 00:17:30,029\ndoesn't really work because once you get\nout into the real world there's\n\n948\n00:17:30,029 --> 00:17:30,039\nout into the real world there's\n \n\n949\n00:17:30,039 --> 00:17:31,990\nout into the real world there's\ndifferent memory you know contexts or\n\n950\n00:17:31,990 --> 00:17:32,000\ndifferent memory you know contexts or\n \n\n951\n00:17:32,000 --> 00:17:33,590\ndifferent memory you know contexts or\nyou're up against different loads or\n\n952\n00:17:33,590 --> 00:17:33,600\nyou're up against different loads or\n \n\n953\n00:17:33,600 --> 00:17:35,110\nyou're up against different loads or\nwhatever else right you don't actually\n\n954\n00:17:35,110 --> 00:17:35,120\nwhatever else right you don't actually\n \n\n955\n00:17:35,120 --> 00:17:36,710\nwhatever else right you don't actually\ncontrol the whole\n\n956\n00:17:36,710 --> 00:17:36,720\ncontrol the whole\n \n\n957\n00:17:36,720 --> 00:17:38,630\ncontrol the whole\nenvironment and so this is what really\n\n958\n00:17:38,630 --> 00:17:38,640\nenvironment and so this is what really\n \n\n959\n00:17:38,640 --> 00:17:40,789\nenvironment and so this is what really\nstarts to kill you with complexity right\n\n960\n00:17:40,789 --> 00:17:40,799\nstarts to kill you with complexity right\n \n\n961\n00:17:40,799 --> 00:17:43,669\nstarts to kill you with complexity right\nand it's where all of those smaller\n\n962\n00:17:43,669 --> 00:17:43,679\nand it's where all of those smaller\n \n\n963\n00:17:43,679 --> 00:17:45,789\nand it's where all of those smaller\ninconsistencies play off each other to\n\n964\n00:17:45,789 --> 00:17:45,799\ninconsistencies play off each other to\n \n\n965\n00:17:45,799 --> 00:17:53,909\ninconsistencies play off each other to\ncreate an unknowables\n\n966\n00:17:53,909 --> 00:17:53,919\n\n \n\n967\n00:17:53,919 --> 00:17:56,669\n\nlike you don't use the native apis\n\n968\n00:17:56,669 --> 00:17:56,679\nlike you don't use the native apis\n \n\n969\n00:17:56,679 --> 00:17:58,390\nlike you don't use the native apis\nbecause God help you if you're trying to\n\n970\n00:17:58,390 --> 00:17:58,400\nbecause God help you if you're trying to\n \n\n971\n00:17:58,400 --> 00:18:01,110\nbecause God help you if you're trying to\nlike figure out how to map all of these\n\n972\n00:18:01,110 --> 00:18:01,120\nlike figure out how to map all of these\n \n\n973\n00:18:01,120 --> 00:18:02,669\nlike figure out how to map all of these\ntotally different environments down to\n\n974\n00:18:02,669 --> 00:18:02,679\ntotally different environments down to\n \n\n975\n00:18:02,679 --> 00:18:05,310\ntotally different environments down to\none consistent thing and like one\n\n976\n00:18:05,310 --> 00:18:05,320\none consistent thing and like one\n \n\n977\n00:18:05,320 --> 00:18:07,149\none consistent thing and like one\nsolution here is just to only have one\n\n978\n00:18:07,149 --> 00:18:07,159\nsolution here is just to only have one\n \n\n979\n00:18:07,159 --> 00:18:08,830\nsolution here is just to only have one\nthing as best you can and to minimize\n\n980\n00:18:08,830 --> 00:18:08,840\nthing as best you can and to minimize\n \n\n981\n00:18:08,840 --> 00:18:09,710\nthing as best you can and to minimize\nthe difference between those\n\n982\n00:18:09,710 --> 00:18:09,720\nthe difference between those\n \n\n983\n00:18:09,720 --> 00:18:11,190\nthe difference between those\nenvironments and that's why you see sort\n\n984\n00:18:11,190 --> 00:18:11,200\nenvironments and that's why you see sort\n \n\n985\n00:18:11,200 --> 00:18:13,789\nenvironments and that's why you see sort\nof like ostensibly lazy electron apps\n\n986\n00:18:13,789 --> 00:18:13,799\nof like ostensibly lazy electron apps\n \n\n987\n00:18:13,799 --> 00:18:16,070\nof like ostensibly lazy electron apps\nfrom big companies because even worse\n\n988\n00:18:16,070 --> 00:18:16,080\nfrom big companies because even worse\n \n\n989\n00:18:16,080 --> 00:18:17,310\nfrom big companies because even worse\nthan having to support all these\n\n990\n00:18:17,310 --> 00:18:17,320\nthan having to support all these\n \n\n991\n00:18:17,320 --> 00:18:18,830\nthan having to support all these\ndifferent things is having to coordinate\n\n992\n00:18:18,830 --> 00:18:18,840\ndifferent things is having to coordinate\n \n\n993\n00:18:18,840 --> 00:18:21,230\ndifferent things is having to coordinate\nall the different people and teams to\n\n994\n00:18:21,230 --> 00:18:21,240\nall the different people and teams to\n \n\n995\n00:18:21,240 --> 00:18:23,789\nall the different people and teams to\ntry and build features right and we've\n\n996\n00:18:23,789 --> 00:18:23,799\ntry and build features right and we've\n \n\n997\n00:18:23,799 --> 00:18:25,470\ntry and build features right and we've\nall many of us have been there right\n\n998\n00:18:25,470 --> 00:18:25,480\nall many of us have been there right\n \n\n999\n00:18:25,480 --> 00:18:27,029\nall many of us have been there right\nlike if you have an iOS and an Android\n\n1000\n00:18:27,029 --> 00:18:27,039\nlike if you have an iOS and an Android\n \n\n1001\n00:18:27,039 --> 00:18:28,350\nlike if you have an iOS and an Android\nteam like how do you get them to ship\n\n1002\n00:18:28,350 --> 00:18:28,360\nteam like how do you get them to ship\n \n\n1003\n00:18:28,360 --> 00:18:30,789\nteam like how do you get them to ship\nthe same feuture in the same quarter\n\n1004\n00:18:30,789 --> 00:18:30,799\nthe same feuture in the same quarter\n \n\n1005\n00:18:30,799 --> 00:18:33,510\nthe same feuture in the same quarter\nright it's tough it's\n\n1006\n00:18:33,510 --> 00:18:33,520\nright it's tough it's\n \n\n1007\n00:18:33,520 --> 00:18:36,390\nright it's tough it's\ntough okay\n\n1008\n00:18:36,390 --> 00:18:36,400\ntough okay\n \n\n1009\n00:18:36,400 --> 00:18:41,230\ntough okay\nso I hope I've convinced you now um that\n\n1010\n00:18:41,230 --> 00:18:41,240\nso I hope I've convinced you now um that\n \n\n1011\n00:18:41,240 --> 00:18:44,830\nso I hope I've convinced you now um that\ncomplexity is like a a complex problem\n\n1012\n00:18:44,830 --> 00:18:44,840\ncomplexity is like a a complex problem\n \n\n1013\n00:18:44,840 --> 00:18:47,190\ncomplexity is like a a complex problem\nitself and that it manifests in a lot of\n\n1014\n00:18:47,190 --> 00:18:47,200\nitself and that it manifests in a lot of\n \n\n1015\n00:18:47,200 --> 00:18:49,270\nitself and that it manifests in a lot of\ndifferent ways so we're going to change\n\n1016\n00:18:49,270 --> 00:18:49,280\ndifferent ways so we're going to change\n \n\n1017\n00:18:49,280 --> 00:18:51,950\ndifferent ways so we're going to change\ngears a little bit and talk about seat\n\n1018\n00:18:51,950 --> 00:18:51,960\ngears a little bit and talk about seat\n \n\n1019\n00:18:51,960 --> 00:18:54,350\ngears a little bit and talk about seat\nbelts and more specifically why seat\n\n1020\n00:18:54,350 --> 00:18:54,360\nbelts and more specifically why seat\n \n\n1021\n00:18:54,360 --> 00:18:56,350\nbelts and more specifically why seat\nbelts don't save\n\n1022\n00:18:56,350 --> 00:18:56,360\nbelts don't save\n \n\n1023\n00:18:56,360 --> 00:18:58,350\nbelts don't save\nlives and I haven't asked risk here\n\n1024\n00:18:58,350 --> 00:18:58,360\nlives and I haven't asked risk here\n \n\n1025\n00:18:58,360 --> 00:18:59,270\nlives and I haven't asked risk here\nbecause this is a little bit of a\n\n1026\n00:18:59,270 --> 00:18:59,280\nbecause this is a little bit of a\n \n\n1027\n00:18:59,280 --> 00:19:02,990\nbecause this is a little bit of a\ncontroversial um research topic um but\n\n1028\n00:19:02,990 --> 00:19:03,000\ncontroversial um research topic um but\n \n\n1029\n00:19:03,000 --> 00:19:05,470\ncontroversial um research topic um but\nthe sort of upshot of this is that in at\n\n1030\n00:19:05,470 --> 00:19:05,480\nthe sort of upshot of this is that in at\n \n\n1031\n00:19:05,480 --> 00:19:07,230\nthe sort of upshot of this is that in at\nleast some studies they found that after\n\n1032\n00:19:07,230 --> 00:19:07,240\nleast some studies they found that after\n \n\n1033\n00:19:07,240 --> 00:19:09,789\nleast some studies they found that after\nseat belts became mandatory in\n\n1034\n00:19:09,789 --> 00:19:09,799\nseat belts became mandatory in\n \n\n1035\n00:19:09,799 --> 00:19:12,350\nseat belts became mandatory in\ncars uh people still died on the roads\n\n1036\n00:19:12,350 --> 00:19:12,360\ncars uh people still died on the roads\n \n\n1037\n00:19:12,360 --> 00:19:14,750\ncars uh people still died on the roads\nat similar rates and that was really\n\n1038\n00:19:14,750 --> 00:19:14,760\nat similar rates and that was really\n \n\n1039\n00:19:14,760 --> 00:19:16,149\nat similar rates and that was really\nsurprising because\n\n1040\n00:19:16,149 --> 00:19:16,159\nsurprising because\n \n\n1041\n00:19:16,159 --> 00:19:18,590\nsurprising because\nlike you know seat bels are are a good\n\n1042\n00:19:18,590 --> 00:19:18,600\nlike you know seat bels are are a good\n \n\n1043\n00:19:18,600 --> 00:19:21,149\nlike you know seat bels are are a good\nidea like they keep you safer in the car\n\n1044\n00:19:21,149 --> 00:19:21,159\nidea like they keep you safer in the car\n \n\n1045\n00:19:21,159 --> 00:19:23,310\nidea like they keep you safer in the car\nand so somebody proposed this idea uh\n\n1046\n00:19:23,310 --> 00:19:23,320\nand so somebody proposed this idea uh\n \n\n1047\n00:19:23,320 --> 00:19:25,029\nand so somebody proposed this idea uh\ncalled risk\n\n1048\n00:19:25,029 --> 00:19:25,039\ncalled risk\n \n\n1049\n00:19:25,039 --> 00:19:27,070\ncalled risk\nhomeostasis the idea behind risk\n\n1050\n00:19:27,070 --> 00:19:27,080\nhomeostasis the idea behind risk\n \n\n1051\n00:19:27,080 --> 00:19:30,110\nhomeostasis the idea behind risk\nhomeostasis is that actually we die at a\n\n1052\n00:19:30,110 --> 00:19:30,120\nhomeostasis is that actually we die at a\n \n\n1053\n00:19:30,120 --> 00:19:31,990\nhomeostasis is that actually we die at a\nrate on the road related to how much\n\n1054\n00:19:31,990 --> 00:19:32,000\nrate on the road related to how much\n \n\n1055\n00:19:32,000 --> 00:19:34,430\nrate on the road related to how much\nrisk we're willing to take and so if you\n\n1056\n00:19:34,430 --> 00:19:34,440\nrisk we're willing to take and so if you\n \n\n1057\n00:19:34,440 --> 00:19:36,029\nrisk we're willing to take and so if you\nnow have a seat belt and you're driving\n\n1058\n00:19:36,029 --> 00:19:36,039\nnow have a seat belt and you're driving\n \n\n1059\n00:19:36,039 --> 00:19:38,350\nnow have a seat belt and you're driving\na car that's safer you're going to go a\n\n1060\n00:19:38,350 --> 00:19:38,360\na car that's safer you're going to go a\n \n\n1061\n00:19:38,360 --> 00:19:39,870\na car that's safer you're going to go a\nlittle faster and you're going to take\n\n1062\n00:19:39,870 --> 00:19:39,880\nlittle faster and you're going to take\n \n\n1063\n00:19:39,880 --> 00:19:41,590\nlittle faster and you're going to take\nthe corners a little tighter because you\n\n1064\n00:19:41,590 --> 00:19:41,600\nthe corners a little tighter because you\n \n\n1065\n00:19:41,600 --> 00:19:45,470\nthe corners a little tighter because you\nfeel better right so the the issue with\n\n1066\n00:19:45,470 --> 00:19:45,480\nfeel better right so the the issue with\n \n\n1067\n00:19:45,480 --> 00:19:47,710\nfeel better right so the the issue with\nmaking people safer was that they then\n\n1068\n00:19:47,710 --> 00:19:47,720\nmaking people safer was that they then\n \n\n1069\n00:19:47,720 --> 00:19:50,669\nmaking people safer was that they then\ntook on more risky Behavior conserving\n\n1070\n00:19:50,669 --> 00:19:50,679\ntook on more risky Behavior conserving\n \n\n1071\n00:19:50,679 --> 00:19:53,590\ntook on more risky Behavior conserving\ntheir total risk tolerance and so I\n\n1072\n00:19:53,590 --> 00:19:53,600\ntheir total risk tolerance and so I\n \n\n1073\n00:19:53,600 --> 00:19:55,669\ntheir total risk tolerance and so I\nthink we see a similar thing in software\n\n1074\n00:19:55,669 --> 00:19:55,679\nthink we see a similar thing in software\n \n\n1075\n00:19:55,679 --> 00:19:57,470\nthink we see a similar thing in software\nright we I call this complexity\n\n1076\n00:19:57,470 --> 00:19:57,480\nright we I call this complexity\n \n\n1077\n00:19:57,480 --> 00:19:59,950\nright we I call this complexity\nhomeostasis which is to say that if you\n\n1078\n00:19:59,950 --> 00:19:59,960\nhomeostasis which is to say that if you\n \n\n1079\n00:19:59,960 --> 00:20:02,310\nhomeostasis which is to say that if you\nhave kind of a system that's evolving\n\n1080\n00:20:02,310 --> 00:20:02,320\nhave kind of a system that's evolving\n \n\n1081\n00:20:02,320 --> 00:20:05,070\nhave kind of a system that's evolving\nover time you know everything's fine\n\n1082\n00:20:05,070 --> 00:20:05,080\nover time you know everything's fine\n \n\n1083\n00:20:05,080 --> 00:20:07,230\nover time you know everything's fine\nwe're going along life is good and then\n\n1084\n00:20:07,230 --> 00:20:07,240\nwe're going along life is good and then\n \n\n1085\n00:20:07,240 --> 00:20:09,870\nwe're going along life is good and then\nwe add some more things and you know\n\n1086\n00:20:09,870 --> 00:20:09,880\nwe add some more things and you know\n \n\n1087\n00:20:09,880 --> 00:20:12,870\nwe add some more things and you know\nwe're still happy and then oh oh yeah\n\n1088\n00:20:12,870 --> 00:20:12,880\nwe're still happy and then oh oh yeah\n \n\n1089\n00:20:12,880 --> 00:20:14,710\nwe're still happy and then oh oh yeah\nnow it's I don't like it\n\n1090\n00:20:14,710 --> 00:20:14,720\nnow it's I don't like it\n \n\n1091\n00:20:14,720 --> 00:20:17,630\nnow it's I don't like it\nanymore it's not good it feels bad now\n\n1092\n00:20:17,630 --> 00:20:17,640\nanymore it's not good it feels bad now\n \n\n1093\n00:20:17,640 --> 00:20:19,149\nanymore it's not good it feels bad now\nit's time for that rewrite that we were\n\n1094\n00:20:19,149 --> 00:20:19,159\nit's time for that rewrite that we were\n \n\n1095\n00:20:19,159 --> 00:20:20,870\nit's time for that rewrite that we were\nhearing about right it's time to bring\n\n1096\n00:20:20,870 --> 00:20:20,880\nhearing about right it's time to bring\n \n\n1097\n00:20:20,880 --> 00:20:22,390\nhearing about right it's time to bring\nthings back\n\n1098\n00:20:22,390 --> 00:20:22,400\nthings back\n \n\n1099\n00:20:22,400 --> 00:20:25,070\nthings back\nah okay now we can go back to making\n\n1100\n00:20:25,070 --> 00:20:25,080\nah okay now we can go back to making\n \n\n1101\n00:20:25,080 --> 00:20:30,430\nah okay now we can go back to making\nthings complicated again\n\n1102\n00:20:30,430 --> 00:20:30,440\n\n \n\n1103\n00:20:30,440 --> 00:20:32,390\n\nand so this is kind of like a set point\n\n1104\n00:20:32,390 --> 00:20:32,400\nand so this is kind of like a set point\n \n\n1105\n00:20:32,400 --> 00:20:34,470\nand so this is kind of like a set point\nso homeostasis is the process where or\n\n1106\n00:20:34,470 --> 00:20:34,480\nso homeostasis is the process where or\n \n\n1107\n00:20:34,480 --> 00:20:36,029\nso homeostasis is the process where or\nit's any process where you sort of\n\n1108\n00:20:36,029 --> 00:20:36,039\nit's any process where you sort of\n \n\n1109\n00:20:36,039 --> 00:20:38,029\nit's any process where you sort of\nmaintain a set point and it's commonly\n\n1110\n00:20:38,029 --> 00:20:38,039\nmaintain a set point and it's commonly\n \n\n1111\n00:20:38,039 --> 00:20:40,029\nmaintain a set point and it's commonly\nused to talk also about how our bodies\n\n1112\n00:20:40,029 --> 00:20:40,039\nused to talk also about how our bodies\n \n\n1113\n00:20:40,039 --> 00:20:42,390\nused to talk also about how our bodies\nregulate temperature but I think our\n\n1114\n00:20:42,390 --> 00:20:42,400\nregulate temperature but I think our\n \n\n1115\n00:20:42,400 --> 00:20:44,470\nregulate temperature but I think our\norganizations regulate\n\n1116\n00:20:44,470 --> 00:20:44,480\norganizations regulate\n \n\n1117\n00:20:44,480 --> 00:20:46,950\norganizations regulate\ncomplexity right and so all of us have\n\n1118\n00:20:46,950 --> 00:20:46,960\ncomplexity right and so all of us have\n \n\n1119\n00:20:46,960 --> 00:20:48,350\ncomplexity right and so all of us have\ndifferent intuitions and when people\n\n1120\n00:20:48,350 --> 00:20:48,360\ndifferent intuitions and when people\n \n\n1121\n00:20:48,360 --> 00:20:49,830\ndifferent intuitions and when people\ntalk about wanting things to be simple\n\n1122\n00:20:49,830 --> 00:20:49,840\ntalk about wanting things to be simple\n \n\n1123\n00:20:49,840 --> 00:20:51,270\ntalk about wanting things to be simple\nthere's like an aesthetic preference\n\n1124\n00:20:51,270 --> 00:20:51,280\nthere's like an aesthetic preference\n \n\n1125\n00:20:51,280 --> 00:20:53,830\nthere's like an aesthetic preference\nhere and different people perceive that\n\n1126\n00:20:53,830 --> 00:20:53,840\nhere and different people perceive that\n \n\n1127\n00:20:53,840 --> 00:20:55,669\nhere and different people perceive that\nand pursue that\n\n1128\n00:20:55,669 --> 00:20:55,679\nand pursue that\n \n\n1129\n00:20:55,679 --> 00:20:58,710\nand pursue that\ndifferently and like Deen's you know\n\n1130\n00:20:58,710 --> 00:20:58,720\ndifferently and like Deen's you know\n \n\n1131\n00:20:58,720 --> 00:21:01,230\ndifferently and like Deen's you know\nquest for just the right number of op\n\n1132\n00:21:01,230 --> 00:21:01,240\nquest for just the right number of op\n \n\n1133\n00:21:01,240 --> 00:21:02,830\nquest for just the right number of op\ncodes that we heard about yesterday is a\n\n1134\n00:21:02,830 --> 00:21:02,840\ncodes that we heard about yesterday is a\n \n\n1135\n00:21:02,840 --> 00:21:04,470\ncodes that we heard about yesterday is a\ngreat example where like in a certain\n\n1136\n00:21:04,470 --> 00:21:04,480\ngreat example where like in a certain\n \n\n1137\n00:21:04,480 --> 00:21:06,390\ngreat example where like in a certain\nsense you know the correct number of op\n\n1138\n00:21:06,390 --> 00:21:06,400\nsense you know the correct number of op\n \n\n1139\n00:21:06,400 --> 00:21:08,110\nsense you know the correct number of op\ncodes is one and you could do that if\n\n1140\n00:21:08,110 --> 00:21:08,120\ncodes is one and you could do that if\n \n\n1141\n00:21:08,120 --> 00:21:10,149\ncodes is one and you could do that if\nyou really wanted to but then you've got\n\n1142\n00:21:10,149 --> 00:21:10,159\nyou really wanted to but then you've got\n \n\n1143\n00:21:10,159 --> 00:21:12,110\nyou really wanted to but then you've got\nkind of like the CIS you know model\n\n1144\n00:21:12,110 --> 00:21:12,120\nkind of like the CIS you know model\n \n\n1145\n00:21:12,120 --> 00:21:13,430\nkind of like the CIS you know model\nwhere actually the correct number is\n\n1146\n00:21:13,430 --> 00:21:13,440\nwhere actually the correct number is\n \n\n1147\n00:21:13,440 --> 00:21:14,590\nwhere actually the correct number is\nhundreds because you're maintaining\n\n1148\n00:21:14,590 --> 00:21:14,600\nhundreds because you're maintaining\n \n\n1149\n00:21:14,600 --> 00:21:16,110\nhundreds because you're maintaining\nbackwards compatibility and anything\n\n1150\n00:21:16,110 --> 00:21:16,120\nbackwards compatibility and anything\n \n\n1151\n00:21:16,120 --> 00:21:18,430\nbackwards compatibility and anything\nthat can squeeze you you know either\n\n1152\n00:21:18,430 --> 00:21:18,440\nthat can squeeze you you know either\n \n\n1153\n00:21:18,440 --> 00:21:20,149\nthat can squeeze you you know either\nbetter numbers out of a bench Park\n\n1154\n00:21:20,149 --> 00:21:20,159\nbetter numbers out of a bench Park\n \n\n1155\n00:21:20,159 --> 00:21:22,669\nbetter numbers out of a bench Park\nBenchmark or more CPU sales is is\n\n1156\n00:21:22,669 --> 00:21:22,679\nBenchmark or more CPU sales is is\n \n\n1157\n00:21:22,679 --> 00:21:24,870\nBenchmark or more CPU sales is is\nacceptable and so you know how you\n\n1158\n00:21:24,870 --> 00:21:24,880\nacceptable and so you know how you\n \n\n1159\n00:21:24,880 --> 00:21:27,269\nacceptable and so you know how you\nperceive what constitutes complexity or\n\n1160\n00:21:27,269 --> 00:21:27,279\nperceive what constitutes complexity or\n \n\n1161\n00:21:27,279 --> 00:21:29,430\nperceive what constitutes complexity or\nhow much complexity you're willing to\n\n1162\n00:21:29,430 --> 00:21:29,440\nhow much complexity you're willing to\n \n\n1163\n00:21:29,440 --> 00:21:31,669\nhow much complexity you're willing to\ntolerate is an individual or an\n\n1164\n00:21:31,669 --> 00:21:31,679\ntolerate is an individual or an\n \n\n1165\n00:21:31,679 --> 00:21:34,190\ntolerate is an individual or an\norganizational decision and you know\n\n1166\n00:21:34,190 --> 00:21:34,200\norganizational decision and you know\n \n\n1167\n00:21:34,200 --> 00:21:37,390\norganizational decision and you know\nsome things can actually move that up\n\n1168\n00:21:37,390 --> 00:21:37,400\nsome things can actually move that up\n \n\n1169\n00:21:37,400 --> 00:21:39,430\nsome things can actually move that up\nlike I have abandoned projects because\n\n1170\n00:21:39,430 --> 00:21:39,440\nlike I have abandoned projects because\n \n\n1171\n00:21:39,440 --> 00:21:40,990\nlike I have abandoned projects because\nthey got complicated and annoying to\n\n1172\n00:21:40,990 --> 00:21:41,000\nthey got complicated and annoying to\n \n\n1173\n00:21:41,000 --> 00:21:43,990\nthey got complicated and annoying to\nwork on but like some people might just\n\n1174\n00:21:43,990 --> 00:21:44,000\nwork on but like some people might just\n \n\n1175\n00:21:44,000 --> 00:21:45,710\nwork on but like some people might just\ntolerate that and not perceive it I've\n\n1176\n00:21:45,710 --> 00:21:45,720\ntolerate that and not perceive it I've\n \n\n1177\n00:21:45,720 --> 00:21:47,470\ntolerate that and not perceive it I've\nworked with some brilliant people who\n\n1178\n00:21:47,470 --> 00:21:47,480\nworked with some brilliant people who\n \n\n1179\n00:21:47,480 --> 00:21:49,950\nworked with some brilliant people who\nwrite the most complicated insane\n\n1180\n00:21:49,950 --> 00:21:49,960\nwrite the most complicated insane\n \n\n1181\n00:21:49,960 --> 00:21:52,350\nwrite the most complicated insane\nconvoluted code from my perspective but\n\n1182\n00:21:52,350 --> 00:21:52,360\nconvoluted code from my perspective but\n \n\n1183\n00:21:52,360 --> 00:21:53,870\nconvoluted code from my perspective but\nwhen I sort of go to them I'm like this\n\n1184\n00:21:53,870 --> 00:21:53,880\nwhen I sort of go to them I'm like this\n \n\n1185\n00:21:53,880 --> 00:21:55,669\nwhen I sort of go to them I'm like this\nis so complicated and weird why did you\n\n1186\n00:21:55,669 --> 00:21:55,679\nis so complicated and weird why did you\n \n\n1187\n00:21:55,679 --> 00:21:57,909\nis so complicated and weird why did you\ndo it this way they don't see it because\n\n1188\n00:21:57,909 --> 00:21:57,919\ndo it this way they don't see it because\n \n\n1189\n00:21:57,919 --> 00:21:59,190\ndo it this way they don't see it because\nthey're just much smarter than me\n\n1190\n00:21:59,190 --> 00:21:59,200\nthey're just much smarter than me\n \n\n1191\n00:21:59,200 --> 00:22:00,510\nthey're just much smarter than me\nthey're they're able to hold that\n\n1192\n00:22:00,510 --> 00:22:00,520\nthey're they're able to hold that\n \n\n1193\n00:22:00,520 --> 00:22:02,909\nthey're they're able to hold that\ncomplexity in their head comfortably and\n\n1194\n00:22:02,909 --> 00:22:02,919\ncomplexity in their head comfortably and\n \n\n1195\n00:22:02,919 --> 00:22:04,830\ncomplexity in their head comfortably and\nso for them it doesn't feel that way\n\n1196\n00:22:04,830 --> 00:22:04,840\nso for them it doesn't feel that way\n \n\n1197\n00:22:04,840 --> 00:22:06,549\nso for them it doesn't feel that way\nanother way a system can become more\n\n1198\n00:22:06,549 --> 00:22:06,559\nanother way a system can become more\n \n\n1199\n00:22:06,559 --> 00:22:09,549\nanother way a system can become more\ncomplicated if it's worth a lot of money\n\n1200\n00:22:09,549 --> 00:22:09,559\ncomplicated if it's worth a lot of money\n \n\n1201\n00:22:09,559 --> 00:22:11,149\ncomplicated if it's worth a lot of money\nright because like you can just hire\n\n1202\n00:22:11,149 --> 00:22:11,159\nright because like you can just hire\n \n\n1203\n00:22:11,159 --> 00:22:14,269\nright because like you can just hire\nanother poor Schmo to sling Java into\n\n1204\n00:22:14,269 --> 00:22:14,279\nanother poor Schmo to sling Java into\n \n\n1205\n00:22:14,279 --> 00:22:17,110\nanother poor Schmo to sling Java into\nthe code base I mean has anybody here\n\n1206\n00:22:17,110 --> 00:22:17,120\nthe code base I mean has anybody here\n \n\n1207\n00:22:17,120 --> 00:22:18,830\nthe code base I mean has anybody here\nworked on an EA Sports\n\n1208\n00:22:18,830 --> 00:22:18,840\nworked on an EA Sports\n \n\n1209\n00:22:18,840 --> 00:22:21,669\nworked on an EA Sports\ntitle yeah I'm so\n\n1210\n00:22:21,669 --> 00:22:21,679\ntitle yeah I'm so\n \n\n1211\n00:22:21,679 --> 00:22:25,269\ntitle yeah I'm so\nsorry I have heard some things man and\n\n1212\n00:22:25,269 --> 00:22:25,279\nsorry I have heard some things man and\n \n\n1213\n00:22:25,279 --> 00:22:27,830\nsorry I have heard some things man and\nit ships every year on on Deadline\n\n1214\n00:22:27,830 --> 00:22:27,840\nit ships every year on on Deadline\n \n\n1215\n00:22:27,840 --> 00:22:29,669\nit ships every year on on Deadline\nwithout fail right like that's not an\n\n1216\n00:22:29,669 --> 00:22:29,679\nwithout fail right like that's not an\n \n\n1217\n00:22:29,679 --> 00:22:31,350\nwithout fail right like that's not an\nenvironment that leads to like healthy\n\n1218\n00:22:31,350 --> 00:22:31,360\nenvironment that leads to like healthy\n \n\n1219\n00:22:31,360 --> 00:22:33,029\nenvironment that leads to like healthy\nrefactoring or or reduction of\n\n1220\n00:22:33,029 --> 00:22:33,039\nrefactoring or or reduction of\n \n\n1221\n00:22:33,039 --> 00:22:35,750\nrefactoring or or reduction of\ncomplexity but you know what it makes a\n\n1222\n00:22:35,750 --> 00:22:35,760\ncomplexity but you know what it makes a\n \n\n1223\n00:22:35,760 --> 00:22:37,510\ncomplexity but you know what it makes a\nboatload of\n\n1224\n00:22:37,510 --> 00:22:37,520\nboatload of\n \n\n1225\n00:22:37,520 --> 00:22:39,750\nboatload of\nmoney and so they'll hire people to work\n\n1226\n00:22:39,750 --> 00:22:39,760\nmoney and so they'll hire people to work\n \n\n1227\n00:22:39,760 --> 00:22:40,909\nmoney and so they'll hire people to work\non it because they can afford to and\n\n1228\n00:22:40,909 --> 00:22:40,919\non it because they can afford to and\n \n\n1229\n00:22:40,919 --> 00:22:42,070\non it because they can afford to and\nyou'll work on it because they'll pay\n\n1230\n00:22:42,070 --> 00:22:42,080\nyou'll work on it because they'll pay\n \n\n1231\n00:22:42,080 --> 00:22:45,710\nyou'll work on it because they'll pay\nyou enough because they know they\n\n1232\n00:22:45,710 --> 00:22:45,720\nyou enough because they know they\n \n\n1233\n00:22:45,720 --> 00:22:48,029\nyou enough because they know they\nknow right and so part of this as well\n\n1234\n00:22:48,029 --> 00:22:48,039\nknow right and so part of this as well\n \n\n1235\n00:22:48,039 --> 00:22:49,390\nknow right and so part of this as well\nis that also if you just have more\n\n1236\n00:22:49,390 --> 00:22:49,400\nis that also if you just have more\n \n\n1237\n00:22:49,400 --> 00:22:51,510\nis that also if you just have more\npeople working on things you know you\n\n1238\n00:22:51,510 --> 00:22:51,520\npeople working on things you know you\n \n\n1239\n00:22:51,520 --> 00:22:53,269\npeople working on things you know you\ncan tolerate more complexity I can hold\n\n1240\n00:22:53,269 --> 00:22:53,279\ncan tolerate more complexity I can hold\n \n\n1241\n00:22:53,279 --> 00:22:54,510\ncan tolerate more complexity I can hold\npart of it in my head and you can hold\n\n1242\n00:22:54,510 --> 00:22:54,520\npart of it in my head and you can hold\n \n\n1243\n00:22:54,520 --> 00:22:56,190\npart of it in my head and you can hold\npart of it your head and I kind of want\n\n1244\n00:22:56,190 --> 00:22:56,200\npart of it your head and I kind of want\n \n\n1245\n00:22:56,200 --> 00:22:58,710\npart of it your head and I kind of want\nto distinguish like there's sort of the\n\n1246\n00:22:58,710 --> 00:22:58,720\nto distinguish like there's sort of the\n \n\n1247\n00:22:58,720 --> 00:23:00,350\nto distinguish like there's sort of the\nbreadth of complexity and if you have a\n\n1248\n00:23:00,350 --> 00:23:00,360\nbreadth of complexity and if you have a\n \n\n1249\n00:23:00,360 --> 00:23:02,310\nbreadth of complexity and if you have a\nwell- factored system you can decompose\n\n1250\n00:23:02,310 --> 00:23:02,320\nwell- factored system you can decompose\n \n\n1251\n00:23:02,320 --> 00:23:05,149\nwell- factored system you can decompose\nthe complexity either into layers or or\n\n1252\n00:23:05,149 --> 00:23:05,159\nthe complexity either into layers or or\n \n\n1253\n00:23:05,159 --> 00:23:07,190\nthe complexity either into layers or or\nmodules right like each individual Lego\n\n1254\n00:23:07,190 --> 00:23:07,200\nmodules right like each individual Lego\n \n\n1255\n00:23:07,200 --> 00:23:08,590\nmodules right like each individual Lego\nbrick is simple but you can build very\n\n1256\n00:23:08,590 --> 00:23:08,600\nbrick is simple but you can build very\n \n\n1257\n00:23:08,600 --> 00:23:10,750\nbrick is simple but you can build very\ncomplicated things from it right and so\n\n1258\n00:23:10,750 --> 00:23:10,760\ncomplicated things from it right and so\n \n\n1259\n00:23:10,760 --> 00:23:12,750\ncomplicated things from it right and so\nthat's sort of the system complexity\n\n1260\n00:23:12,750 --> 00:23:12,760\nthat's sort of the system complexity\n \n\n1261\n00:23:12,760 --> 00:23:16,230\nthat's sort of the system complexity\nversus the component complexity CSS is\n\n1262\n00:23:16,230 --> 00:23:16,240\nversus the component complexity CSS is\n \n\n1263\n00:23:16,240 --> 00:23:18,110\nversus the component complexity CSS is\nincredibly complicated and by that what\n\n1264\n00:23:18,110 --> 00:23:18,120\nincredibly complicated and by that what\n \n\n1265\n00:23:18,120 --> 00:23:20,350\nincredibly complicated and by that what\nI mean it's complex you can't tell from\n\n1266\n00:23:20,350 --> 00:23:20,360\nI mean it's complex you can't tell from\n \n\n1267\n00:23:20,360 --> 00:23:22,830\nI mean it's complex you can't tell from\nlooking at one rule what it will\n\n1268\n00:23:22,830 --> 00:23:22,840\nlooking at one rule what it will\n \n\n1269\n00:23:22,840 --> 00:23:25,149\nlooking at one rule what it will\nmanifest as in a final\n\n1270\n00:23:25,149 --> 00:23:25,159\nmanifest as in a final\n \n\n1271\n00:23:25,159 --> 00:23:27,390\nmanifest as in a final\ndocument so okay well we can just solve\n\n1272\n00:23:27,390 --> 00:23:27,400\ndocument so okay well we can just solve\n \n\n1273\n00:23:27,400 --> 00:23:28,950\ndocument so okay well we can just solve\nthis problem with better tools right\n\n1274\n00:23:28,950 --> 00:23:28,960\nthis problem with better tools right\n \n\n1275\n00:23:28,960 --> 00:23:31,510\nthis problem with better tools right\nwell no because as we've talked about we\n\n1276\n00:23:31,510 --> 00:23:31,520\nwell no because as we've talked about we\n \n\n1277\n00:23:31,520 --> 00:23:33,390\nwell no because as we've talked about we\nyou know we have this homeostasis point\n\n1278\n00:23:33,390 --> 00:23:33,400\nyou know we have this homeostasis point\n \n\n1279\n00:23:33,400 --> 00:23:35,430\nyou know we have this homeostasis point\nthat we fall towards over time and we\n\n1280\n00:23:35,430 --> 00:23:35,440\nthat we fall towards over time and we\n \n\n1281\n00:23:35,440 --> 00:23:37,390\nthat we fall towards over time and we\ncan choose where to set it but we do\n\n1282\n00:23:37,390 --> 00:23:37,400\ncan choose where to set it but we do\n \n\n1283\n00:23:37,400 --> 00:23:39,669\ncan choose where to set it but we do\nmove towards it and you know the\n\n1284\n00:23:39,669 --> 00:23:39,679\nmove towards it and you know the\n \n\n1285\n00:23:39,679 --> 00:23:41,070\nmove towards it and you know the\nresearch on this actually goes all the\n\n1286\n00:23:41,070 --> 00:23:41,080\nresearch on this actually goes all the\n \n\n1287\n00:23:41,080 --> 00:23:43,269\nresearch on this actually goes all the\nway back to like the 1860s this is uh\n\n1288\n00:23:43,269 --> 00:23:43,279\nway back to like the 1860s this is uh\n \n\n1289\n00:23:43,279 --> 00:23:45,789\nway back to like the 1860s this is uh\nJeff's Paradox which was like why did\n\n1290\n00:23:45,789 --> 00:23:45,799\nJeff's Paradox which was like why did\n \n\n1291\n00:23:45,799 --> 00:23:49,470\nJeff's Paradox which was like why did\ncoal consumption not decrease when\n\n1292\n00:23:49,470 --> 00:23:49,480\ncoal consumption not decrease when\n \n\n1293\n00:23:49,480 --> 00:23:52,190\ncoal consumption not decrease when\nengines became more efficient the answer\n\n1294\n00:23:52,190 --> 00:23:52,200\nengines became more efficient the answer\n \n\n1295\n00:23:52,200 --> 00:23:56,470\nengines became more efficient the answer\nis people did more work right and so I\n\n1296\n00:23:56,470 --> 00:23:56,480\nis people did more work right and so I\n \n\n1297\n00:23:56,480 --> 00:23:59,350\nis people did more work right and so I\nfeel very much that this is sort of the\n\n1298\n00:23:59,350 --> 00:23:59,360\nfeel very much that this is sort of the\n \n\n1299\n00:23:59,360 --> 00:24:01,510\nfeel very much that this is sort of the\ninevitable conclusion we have to draw\n\n1300\n00:24:01,510 --> 00:24:01,520\ninevitable conclusion we have to draw\n \n\n1301\n00:24:01,520 --> 00:24:02,909\ninevitable conclusion we have to draw\nfrom looking at the problem which is\n\n1302\n00:24:02,909 --> 00:24:02,919\nfrom looking at the problem which is\n \n\n1303\n00:24:02,919 --> 00:24:04,750\nfrom looking at the problem which is\nthat the degree of complexity of a\n\n1304\n00:24:04,750 --> 00:24:04,760\nthat the degree of complexity of a\n \n\n1305\n00:24:04,760 --> 00:24:06,510\nthat the degree of complexity of a\nsystem is tied to who we are and what\n\n1306\n00:24:06,510 --> 00:24:06,520\nsystem is tied to who we are and what\n \n\n1307\n00:24:06,520 --> 00:24:08,830\nsystem is tied to who we are and what\nwe're doing over\n\n1308\n00:24:08,830 --> 00:24:08,840\nwe're doing over\n \n\n1309\n00:24:08,840 --> 00:24:12,070\nwe're doing over\ntime right and so when we buy back some\n\n1310\n00:24:12,070 --> 00:24:12,080\ntime right and so when we buy back some\n \n\n1311\n00:24:12,080 --> 00:24:14,110\ntime right and so when we buy back some\ncomplexity by using better tools or by\n\n1312\n00:24:14,110 --> 00:24:14,120\ncomplexity by using better tools or by\n \n\n1313\n00:24:14,120 --> 00:24:15,990\ncomplexity by using better tools or by\npicking a simpler environment we're\n\n1314\n00:24:15,990 --> 00:24:16,000\npicking a simpler environment we're\n \n\n1315\n00:24:16,000 --> 00:24:20,029\npicking a simpler environment we're\ngoing to spend that out again\n\n1316\n00:24:20,029 --> 00:24:20,039\ngoing to spend that out again\n \n\n1317\n00:24:20,039 --> 00:24:21,870\ngoing to spend that out again\neventually okay so let's talk a little\n\n1318\n00:24:21,870 --> 00:24:21,880\neventually okay so let's talk a little\n \n\n1319\n00:24:21,880 --> 00:24:24,230\neventually okay so let's talk a little\nbit about some theories of complexity\n\n1320\n00:24:24,230 --> 00:24:24,240\nbit about some theories of complexity\n \n\n1321\n00:24:24,240 --> 00:24:25,630\nbit about some theories of complexity\nbecause you know this I'm from a\n\n1322\n00:24:25,630 --> 00:24:25,640\nbecause you know this I'm from a\n \n\n1323\n00:24:25,640 --> 00:24:27,389\nbecause you know this I'm from a\nresearch lab and I like to like read\n\n1324\n00:24:27,389 --> 00:24:27,399\nresearch lab and I like to like read\n \n\n1325\n00:24:27,399 --> 00:24:30,230\nresearch lab and I like to like read\npapers so this is not a new this is not\n\n1326\n00:24:30,230 --> 00:24:30,240\npapers so this is not a new this is not\n \n\n1327\n00:24:30,240 --> 00:24:32,590\npapers so this is not a new this is not\na new problem uh have have people heard\n\n1328\n00:24:32,590 --> 00:24:32,600\na new problem uh have have people heard\n \n\n1329\n00:24:32,600 --> 00:24:38,250\na new problem uh have have people heard\nof\n\n1330\n00:24:38,250 --> 00:24:38,260\n\n \n\n1331\n00:24:38,260 --> 00:24:41,690\n\n[Laughter]\n\n1332\n00:24:41,690 --> 00:24:41,700\n[Laughter]\n \n\n1333\n00:24:41,700 --> 00:24:58,389\n[Laughter]\n[Applause]\n\n1334\n00:24:58,389 --> 00:24:58,399\n\n \n\n1335\n00:24:58,399 --> 00:24:59,830\n\ncost and be problematic is worth\n\n1336\n00:24:59,830 --> 00:24:59,840\ncost and be problematic is worth\n \n\n1337\n00:24:59,840 --> 00:25:01,510\ncost and be problematic is worth\nthinking about in fact people have been\n\n1338\n00:25:01,510 --> 00:25:01,520\nthinking about in fact people have been\n \n\n1339\n00:25:01,520 --> 00:25:03,430\nthinking about in fact people have been\nlooking at this and thinking about it\n\n1340\n00:25:03,430 --> 00:25:03,440\nlooking at this and thinking about it\n \n\n1341\n00:25:03,440 --> 00:25:06,710\nlooking at this and thinking about it\nsince the 1980s this is uh mayor liman\n\n1342\n00:25:06,710 --> 00:25:06,720\nsince the 1980s this is uh mayor liman\n \n\n1343\n00:25:06,720 --> 00:25:10,990\nsince the 1980s this is uh mayor liman\nin 1980s uh i e volume 68 so like this\n\n1344\n00:25:10,990 --> 00:25:11,000\nin 1980s uh i e volume 68 so like this\n \n\n1345\n00:25:11,000 --> 00:25:13,549\nin 1980s uh i e volume 68 so like this\nis not a new domain and so even back\n\n1346\n00:25:13,549 --> 00:25:13,559\nis not a new domain and so even back\n \n\n1347\n00:25:13,559 --> 00:25:16,310\nis not a new domain and so even back\nthen this this Edition was from 1980 the\n\n1348\n00:25:16,310 --> 00:25:16,320\nthen this this Edition was from 1980 the\n \n\n1349\n00:25:16,320 --> 00:25:18,470\nthen this this Edition was from 1980 the\nfirst paper published was in 1974 on\n\n1350\n00:25:18,470 --> 00:25:18,480\nfirst paper published was in 1974 on\n \n\n1351\n00:25:18,480 --> 00:25:20,269\nfirst paper published was in 1974 on\nthese laws of software engineering we're\n\n1352\n00:25:20,269 --> 00:25:20,279\nthese laws of software engineering we're\n \n\n1353\n00:25:20,279 --> 00:25:22,430\nthese laws of software engineering we're\nnot going to read these like super close\n\n1354\n00:25:22,430 --> 00:25:22,440\nnot going to read these like super close\n \n\n1355\n00:25:22,440 --> 00:25:24,149\nnot going to read these like super close\nthere it's more that I want you to\n\n1356\n00:25:24,149 --> 00:25:24,159\nthere it's more that I want you to\n \n\n1357\n00:25:24,159 --> 00:25:26,549\nthere it's more that I want you to\nrealize that like this kind of\n\n1358\n00:25:26,549 --> 00:25:26,559\nrealize that like this kind of\n \n\n1359\n00:25:26,559 --> 00:25:28,830\nrealize that like this kind of\nrecognition that systems\n\n1360\n00:25:28,830 --> 00:25:28,840\nrecognition that systems\n \n\n1361\n00:25:28,840 --> 00:25:30,990\nrecognition that systems\ngrow to meet growing needs if they're\n\n1362\n00:25:30,990 --> 00:25:31,000\ngrow to meet growing needs if they're\n \n\n1363\n00:25:31,000 --> 00:25:32,950\ngrow to meet growing needs if they're\nsuccessful is not a new idea it's a\n\n1364\n00:25:32,950 --> 00:25:32,960\nsuccessful is not a new idea it's a\n \n\n1365\n00:25:32,960 --> 00:25:34,310\nsuccessful is not a new idea it's a\ncommon problem and whether you're\n\n1366\n00:25:34,310 --> 00:25:34,320\ncommon problem and whether you're\n \n\n1367\n00:25:34,320 --> 00:25:36,669\ncommon problem and whether you're\nworking you know in building tools or\n\n1368\n00:25:36,669 --> 00:25:36,679\nworking you know in building tools or\n \n\n1369\n00:25:36,679 --> 00:25:38,590\nworking you know in building tools or\nlanguages you know you might start with\n\n1370\n00:25:38,590 --> 00:25:38,600\nlanguages you know you might start with\n \n\n1371\n00:25:38,600 --> 00:25:41,470\nlanguages you know you might start with\nan elegant and simple thing but as a\n\n1372\n00:25:41,470 --> 00:25:41,480\nan elegant and simple thing but as a\n \n\n1373\n00:25:41,480 --> 00:25:43,909\nan elegant and simple thing but as a\nsystem has more demands on it it\n\n1374\n00:25:43,909 --> 00:25:43,919\nsystem has more demands on it it\n \n\n1375\n00:25:43,919 --> 00:25:47,830\nsystem has more demands on it it\nresponds by adding right that's that's a\n\n1376\n00:25:47,830 --> 00:25:47,840\nresponds by adding right that's that's a\n \n\n1377\n00:25:47,840 --> 00:25:49,669\nresponds by adding right that's that's a\nvery common and it's a reasonable\n\n1378\n00:25:49,669 --> 00:25:49,679\nvery common and it's a reasonable\n \n\n1379\n00:25:49,679 --> 00:25:51,070\nvery common and it's a reasonable\nconsequence and if you don't do those\n\n1380\n00:25:51,070 --> 00:25:51,080\nconsequence and if you don't do those\n \n\n1381\n00:25:51,080 --> 00:25:52,870\nconsequence and if you don't do those\nthings the thing will often sort of\n\n1382\n00:25:52,870 --> 00:25:52,880\nthings the thing will often sort of\n \n\n1383\n00:25:52,880 --> 00:25:54,110\nthings the thing will often sort of\nstarve and\n\n1384\n00:25:54,110 --> 00:25:54,120\nstarve and\n \n\n1385\n00:25:54,120 --> 00:25:56,630\nstarve and\ndie um one great paper if you haven't\n\n1386\n00:25:56,630 --> 00:25:56,640\ndie um one great paper if you haven't\n \n\n1387\n00:25:56,640 --> 00:25:58,590\ndie um one great paper if you haven't\nread it yet on this sort of topic is out\n\n1388\n00:25:58,590 --> 00:25:58,600\nread it yet on this sort of topic is out\n \n\n1389\n00:25:58,600 --> 00:26:01,350\nread it yet on this sort of topic is out\nof the tarpit by Mosley this is from 06\n\n1390\n00:26:01,350 --> 00:26:01,360\nof the tarpit by Mosley this is from 06\n \n\n1391\n00:26:01,360 --> 00:26:05,230\nof the tarpit by Mosley this is from 06\nand uh this paper differentiates between\n\n1392\n00:26:05,230 --> 00:26:05,240\nand uh this paper differentiates between\n \n\n1393\n00:26:05,240 --> 00:26:08,190\nand uh this paper differentiates between\nwhat is like accidentally complex versus\n\n1394\n00:26:08,190 --> 00:26:08,200\nwhat is like accidentally complex versus\n \n\n1395\n00:26:08,200 --> 00:26:10,389\nwhat is like accidentally complex versus\nessentially complex right so like\n\n1396\n00:26:10,389 --> 00:26:10,399\nessentially complex right so like\n \n\n1397\n00:26:10,399 --> 00:26:12,990\nessentially complex right so like\nessential complexity is like the\n\n1398\n00:26:12,990 --> 00:26:13,000\nessential complexity is like the\n \n\n1399\n00:26:13,000 --> 00:26:16,190\nessential complexity is like the\nirreducible like non- illimitable part\n\n1400\n00:26:16,190 --> 00:26:16,200\nirreducible like non- illimitable part\n \n\n1401\n00:26:16,200 --> 00:26:18,669\nirreducible like non- illimitable part\nof your system you know if you are\n\n1402\n00:26:18,669 --> 00:26:18,679\nof your system you know if you are\n \n\n1403\n00:26:18,679 --> 00:26:20,350\nof your system you know if you are\ntrying to model certain physical\n\n1404\n00:26:20,350 --> 00:26:20,360\ntrying to model certain physical\n \n\n1405\n00:26:20,360 --> 00:26:23,389\ntrying to model certain physical\nprocesses like you know smoke or fire\n\n1406\n00:26:23,389 --> 00:26:23,399\nprocesses like you know smoke or fire\n \n\n1407\n00:26:23,399 --> 00:26:25,070\nprocesses like you know smoke or fire\nlike the physics part where you're\n\n1408\n00:26:25,070 --> 00:26:25,080\nlike the physics part where you're\n \n\n1409\n00:26:25,080 --> 00:26:26,590\nlike the physics part where you're\nactually doing the work you can't get\n\n1410\n00:26:26,590 --> 00:26:26,600\nactually doing the work you can't get\n \n\n1411\n00:26:26,600 --> 00:26:27,710\nactually doing the work you can't get\nrid of that you don't want to get rid of\n\n1412\n00:26:27,710 --> 00:26:27,720\nrid of that you don't want to get rid of\n \n\n1413\n00:26:27,720 --> 00:26:29,310\nrid of that you don't want to get rid of\nthat that's what you're here for right\n\n1414\n00:26:29,310 --> 00:26:29,320\nthat that's what you're here for right\n \n\n1415\n00:26:29,320 --> 00:26:31,430\nthat that's what you're here for right\nbut The Accidental complexity is all\n\n1416\n00:26:31,430 --> 00:26:31,440\nbut The Accidental complexity is all\n \n\n1417\n00:26:31,440 --> 00:26:33,470\nbut The Accidental complexity is all\nthat other stuff like oh God we got to\n\n1418\n00:26:33,470 --> 00:26:33,480\nthat other stuff like oh God we got to\n \n\n1419\n00:26:33,480 --> 00:26:36,389\nthat other stuff like oh God we got to\ncompile this so it works on like Windows\n\n1420\n00:26:36,389 --> 00:26:36,399\ncompile this so it works on like Windows\n \n\n1421\n00:26:36,399 --> 00:26:39,510\ncompile this so it works on like Windows\n11 has changed the ABI for this DL we\n\n1422\n00:26:39,510 --> 00:26:39,520\n11 has changed the ABI for this DL we\n \n\n1423\n00:26:39,520 --> 00:26:41,549\n11 has changed the ABI for this DL we\nlike all that stuff where you you know\n\n1424\n00:26:41,549 --> 00:26:41,559\nlike all that stuff where you you know\n \n\n1425\n00:26:41,559 --> 00:26:44,590\nlike all that stuff where you you know\nwe heard about deine hoisting the um uh\n\n1426\n00:26:44,590 --> 00:26:44,600\nwe heard about deine hoisting the um uh\n \n\n1427\n00:26:44,600 --> 00:26:47,990\nwe heard about deine hoisting the um uh\nphone up the uh the Mast to download 11\n\n1428\n00:26:47,990 --> 00:26:48,000\nphone up the uh the Mast to download 11\n \n\n1429\n00:26:48,000 --> 00:26:50,870\nphone up the uh the Mast to download 11\ngigs of\n\n1430\n00:26:50,870 --> 00:26:50,880\ngigs of\n \n\n1431\n00:26:50,880 --> 00:26:54,070\ngigs of\nsomething right that's mostly accidental\n\n1432\n00:26:54,070 --> 00:26:54,080\nsomething right that's mostly accidental\n \n\n1433\n00:26:54,080 --> 00:26:55,950\nsomething right that's mostly accidental\ncomplexity for our purposes and so it\n\n1434\n00:26:55,950 --> 00:26:55,960\ncomplexity for our purposes and so it\n \n\n1435\n00:26:55,960 --> 00:26:57,389\ncomplexity for our purposes and so it\nhelps as you're working and thinking\n\n1436\n00:26:57,389 --> 00:26:57,399\nhelps as you're working and thinking\n \n\n1437\n00:26:57,399 --> 00:26:59,510\nhelps as you're working and thinking\nabout complexity to to think about where\n\n1438\n00:26:59,510 --> 00:26:59,520\nabout complexity to to think about where\n \n\n1439\n00:26:59,520 --> 00:27:01,149\nabout complexity to to think about where\nyou're spending that budget and whether\n\n1440\n00:27:01,149 --> 00:27:01,159\nyou're spending that budget and whether\n \n\n1441\n00:27:01,159 --> 00:27:02,830\nyou're spending that budget and whether\nit's whether you're being deliberate in\n\n1442\n00:27:02,830 --> 00:27:02,840\nit's whether you're being deliberate in\n \n\n1443\n00:27:02,840 --> 00:27:06,230\nit's whether you're being deliberate in\nterms of how you're adopting\n\n1444\n00:27:06,230 --> 00:27:06,240\nterms of how you're adopting\n \n\n1445\n00:27:06,240 --> 00:27:08,669\nterms of how you're adopting\ncomplexity the other thing I want to uh\n\n1446\n00:27:08,669 --> 00:27:08,679\ncomplexity the other thing I want to uh\n \n\n1447\n00:27:08,679 --> 00:27:12,230\ncomplexity the other thing I want to uh\nrefer to is this great um this great\n\n1448\n00:27:12,230 --> 00:27:12,240\nrefer to is this great um this great\n \n\n1449\n00:27:12,240 --> 00:27:14,549\nrefer to is this great um this great\nessay from the Berkeley DB team in the\n\n1450\n00:27:14,549 --> 00:27:14,559\nessay from the Berkeley DB team in the\n \n\n1451\n00:27:14,559 --> 00:27:17,070\nessay from the Berkeley DB team in the\narchitecture of Open Source and honestly\n\n1452\n00:27:17,070 --> 00:27:17,080\narchitecture of Open Source and honestly\n \n\n1453\n00:27:17,080 --> 00:27:18,870\narchitecture of Open Source and honestly\nyou I highly recommend reading this if\n\n1454\n00:27:18,870 --> 00:27:18,880\nyou I highly recommend reading this if\n \n\n1455\n00:27:18,880 --> 00:27:20,510\nyou I highly recommend reading this if\nyou just like software engineering the\n\n1456\n00:27:20,510 --> 00:27:20,520\nyou just like software engineering the\n \n\n1457\n00:27:20,520 --> 00:27:22,510\nyou just like software engineering the\narchitecture of Open Source software is\n\n1458\n00:27:22,510 --> 00:27:22,520\narchitecture of Open Source software is\n \n\n1459\n00:27:22,520 --> 00:27:25,830\narchitecture of Open Source software is\nis a a cool series and basically what\n\n1460\n00:27:25,830 --> 00:27:25,840\nis a a cool series and basically what\n \n\n1461\n00:27:25,840 --> 00:27:28,149\nis a a cool series and basically what\nthey do is interview open source\n\n1462\n00:27:28,149 --> 00:27:28,159\nthey do is interview open source\n \n\n1463\n00:27:28,159 --> 00:27:30,710\nthey do is interview open source\ncommunities about their software and\n\n1464\n00:27:30,710 --> 00:27:30,720\ncommunities about their software and\n \n\n1465\n00:27:30,720 --> 00:27:31,830\ncommunities about their software and\nhave them write essays about what\n\n1466\n00:27:31,830 --> 00:27:31,840\nhave them write essays about what\n \n\n1467\n00:27:31,840 --> 00:27:32,909\nhave them write essays about what\nthey've done and then they publish and\n\n1468\n00:27:32,909 --> 00:27:32,919\nthey've done and then they publish and\n \n\n1469\n00:27:32,919 --> 00:27:35,230\nthey've done and then they publish and\nshare those but I think this Berkeley DB\n\n1470\n00:27:35,230 --> 00:27:35,240\nshare those but I think this Berkeley DB\n \n\n1471\n00:27:35,240 --> 00:27:38,710\nshare those but I think this Berkeley DB\nchapter in particular is exceptional and\n\n1472\n00:27:38,710 --> 00:27:38,720\nchapter in particular is exceptional and\n \n\n1473\n00:27:38,720 --> 00:27:40,990\nchapter in particular is exceptional and\nI I think about this all the time which\n\n1474\n00:27:40,990 --> 00:27:41,000\nI I think about this all the time which\n \n\n1475\n00:27:41,000 --> 00:27:43,830\nI I think about this all the time which\nis that software architecture degrades\n\n1476\n00:27:43,830 --> 00:27:43,840\nis that software architecture degrades\n \n\n1477\n00:27:43,840 --> 00:27:46,269\nis that software architecture degrades\nwith changes made to software right so\n\n1478\n00:27:46,269 --> 00:27:46,279\nwith changes made to software right so\n \n\n1479\n00:27:46,279 --> 00:27:47,830\nwith changes made to software right so\nyou might have the most elegant\n\n1480\n00:27:47,830 --> 00:27:47,840\nyou might have the most elegant\n \n\n1481\n00:27:47,840 --> 00:27:49,789\nyou might have the most elegant\nbrilliant carefully planned system in\n\n1482\n00:27:49,789 --> 00:27:49,799\nbrilliant carefully planned system in\n \n\n1483\n00:27:49,799 --> 00:27:52,430\nbrilliant carefully planned system in\nthe world but it does not exist at a\n\n1484\n00:27:52,430 --> 00:27:52,440\nthe world but it does not exist at a\n \n\n1485\n00:27:52,440 --> 00:27:54,710\nthe world but it does not exist at a\nsingle point in time in a vacuum and as\n\n1486\n00:27:54,710 --> 00:27:54,720\nsingle point in time in a vacuum and as\n \n\n1487\n00:27:54,720 --> 00:27:56,710\nsingle point in time in a vacuum and as\nnew demands come along this architecture\n\n1488\n00:27:56,710 --> 00:27:56,720\nnew demands come along this architecture\n \n\n1489\n00:27:56,720 --> 00:27:59,110\nnew demands come along this architecture\nwill Decay and so requires a constant\n\n1490\n00:27:59,110 --> 00:27:59,120\nwill Decay and so requires a constant\n \n\n1491\n00:27:59,120 --> 00:28:00,669\nwill Decay and so requires a constant\nShoring up and when you have big\n\n1492\n00:28:00,669 --> 00:28:00,679\nShoring up and when you have big\n \n\n1493\n00:28:00,679 --> 00:28:02,430\nShoring up and when you have big\ninterfaces that you've invested heavily\n\n1494\n00:28:02,430 --> 00:28:02,440\ninterfaces that you've invested heavily\n \n\n1495\n00:28:02,440 --> 00:28:04,789\ninterfaces that you've invested heavily\nin and they're straining it can be\n\n1496\n00:28:04,789 --> 00:28:04,799\nin and they're straining it can be\n \n\n1497\n00:28:04,799 --> 00:28:07,269\nin and they're straining it can be\nextremely expensive to change\n\n1498\n00:28:07,269 --> 00:28:07,279\nextremely expensive to change\n \n\n1499\n00:28:07,279 --> 00:28:09,909\nextremely expensive to change\nthem I also just love this this is a\n\n1500\n00:28:09,909 --> 00:28:09,919\nthem I also just love this this is a\n \n\n1501\n00:28:09,919 --> 00:28:11,909\nthem I also just love this this is a\nlittle more handmade specific kind of\n\n1502\n00:28:11,909 --> 00:28:11,919\nlittle more handmade specific kind of\n \n\n1503\n00:28:11,919 --> 00:28:14,149\nlittle more handmade specific kind of\nvibe the Excel team motto at least\n\n1504\n00:28:14,149 --> 00:28:14,159\nvibe the Excel team motto at least\n \n\n1505\n00:28:14,159 --> 00:28:16,070\nvibe the Excel team motto at least\naccording to Joel spolski is find your\n\n1506\n00:28:16,070 --> 00:28:16,080\naccording to Joel spolski is find your\n \n\n1507\n00:28:16,080 --> 00:28:18,549\naccording to Joel spolski is find your\ndependencies and eliminate\n\n1508\n00:28:18,549 --> 00:28:18,559\ndependencies and eliminate\n \n\n1509\n00:28:18,559 --> 00:28:21,710\ndependencies and eliminate\nthem uh I have been told on reasonably\n\n1510\n00:28:21,710 --> 00:28:21,720\nthem uh I have been told on reasonably\n \n\n1511\n00:28:21,720 --> 00:28:24,389\nthem uh I have been told on reasonably\ngood authority that Excel uh actually is\n\n1512\n00:28:24,389 --> 00:28:24,399\ngood authority that Excel uh actually is\n \n\n1513\n00:28:24,399 --> 00:28:26,710\ngood authority that Excel uh actually is\nbuilt with its own C compiler that they\n\n1514\n00:28:26,710 --> 00:28:26,720\nbuilt with its own C compiler that they\n \n\n1515\n00:28:26,720 --> 00:28:28,389\nbuilt with its own C compiler that they\nthey didn't even want to rely on other\n\n1516\n00:28:28,389 --> 00:28:28,399\nthey didn't even want to rely on other\n \n\n1517\n00:28:28,399 --> 00:28:30,350\nthey didn't even want to rely on other\nteams within Microsoft and you know to\n\n1518\n00:28:30,350 --> 00:28:30,360\nteams within Microsoft and you know to\n \n\n1519\n00:28:30,360 --> 00:28:33,389\nteams within Microsoft and you know to\nthe degree where they've built their own\n\n1520\n00:28:33,389 --> 00:28:33,399\nthe degree where they've built their own\n \n\n1521\n00:28:33,399 --> 00:28:36,070\nthe degree where they've built their own\ncompilers I'm not saying you necessarily\n\n1522\n00:28:36,070 --> 00:28:36,080\ncompilers I'm not saying you necessarily\n \n\n1523\n00:28:36,080 --> 00:28:37,909\ncompilers I'm not saying you necessarily\nshould do that I'm not saying you\n\n1524\n00:28:37,909 --> 00:28:37,919\nshould do that I'm not saying you\n \n\n1525\n00:28:37,919 --> 00:28:39,430\nshould do that I'm not saying you\nnecessarily shouldn't you got to think\n\n1526\n00:28:39,430 --> 00:28:39,440\nnecessarily shouldn't you got to think\n \n\n1527\n00:28:39,440 --> 00:28:41,269\nnecessarily shouldn't you got to think\nabout how you're spending your\n\n1528\n00:28:41,269 --> 00:28:41,279\nabout how you're spending your\n \n\n1529\n00:28:41,279 --> 00:28:43,269\nabout how you're spending your\nbudget and the last kind of point I want\n\n1530\n00:28:43,269 --> 00:28:43,279\nbudget and the last kind of point I want\n \n\n1531\n00:28:43,279 --> 00:28:45,350\nbudget and the last kind of point I want\nto make sort of on this theme is again\n\n1532\n00:28:45,350 --> 00:28:45,360\nto make sort of on this theme is again\n \n\n1533\n00:28:45,360 --> 00:28:47,389\nto make sort of on this theme is again\nthat complexity isn't necessarily bad\n\n1534\n00:28:47,389 --> 00:28:47,399\nthat complexity isn't necessarily bad\n \n\n1535\n00:28:47,399 --> 00:28:49,350\nthat complexity isn't necessarily bad\nright like complexity can lead to all\n\n1536\n00:28:49,350 --> 00:28:49,360\nright like complexity can lead to all\n \n\n1537\n00:28:49,360 --> 00:28:51,310\nright like complexity can lead to all\nkinds of like wonderful emergent\n\n1538\n00:28:51,310 --> 00:28:51,320\nkinds of like wonderful emergent\n \n\n1539\n00:28:51,320 --> 00:28:54,350\nkinds of like wonderful emergent\nproperties right you the Legend of\n\n1540\n00:28:54,350 --> 00:28:54,360\nproperties right you the Legend of\n \n\n1541\n00:28:54,360 --> 00:28:58,509\nproperties right you the Legend of\nZelda um you know breath of the Wild\n\n1542\n00:28:58,509 --> 00:28:58,519\nZelda um you know breath of the Wild\n \n\n1543\n00:28:58,519 --> 00:29:00,710\nZelda um you know breath of the Wild\nit has had so such a wonderful Community\n\n1544\n00:29:00,710 --> 00:29:00,720\nit has had so such a wonderful Community\n \n\n1545\n00:29:00,720 --> 00:29:03,110\nit has had so such a wonderful Community\ngrow up around it precisely because they\n\n1546\n00:29:03,110 --> 00:29:03,120\ngrow up around it precisely because they\n \n\n1547\n00:29:03,120 --> 00:29:04,950\ngrow up around it precisely because they\nmanaged to tame complexity with their\n\n1548\n00:29:04,950 --> 00:29:04,960\nmanaged to tame complexity with their\n \n\n1549\n00:29:04,960 --> 00:29:06,710\nmanaged to tame complexity with their\nchemistry engine so there's a lot of\n\n1550\n00:29:06,710 --> 00:29:06,720\nchemistry engine so there's a lot of\n \n\n1551\n00:29:06,720 --> 00:29:09,269\nchemistry engine so there's a lot of\nemergent gameplay properties and\n\n1552\n00:29:09,269 --> 00:29:09,279\nemergent gameplay properties and\n \n\n1553\n00:29:09,279 --> 00:29:11,549\nemergent gameplay properties and\nexperiences that come out of\n\n1554\n00:29:11,549 --> 00:29:11,559\nexperiences that come out of\n \n\n1555\n00:29:11,559 --> 00:29:13,350\nexperiences that come out of\ninteractions complex interactions\n\n1556\n00:29:13,350 --> 00:29:13,360\ninteractions complex interactions\n \n\n1557\n00:29:13,360 --> 00:29:14,830\ninteractions complex interactions\nbetween systems but the systems are\n\n1558\n00:29:14,830 --> 00:29:14,840\nbetween systems but the systems are\n \n\n1559\n00:29:14,840 --> 00:29:16,909\nbetween systems but the systems are\nfactored in a way that enables and\n\n1560\n00:29:16,909 --> 00:29:16,919\nfactored in a way that enables and\n \n\n1561\n00:29:16,919 --> 00:29:19,990\nfactored in a way that enables and\nempowers this um and of course if you're\n\n1562\n00:29:19,990 --> 00:29:20,000\nempowers this um and of course if you're\n \n\n1563\n00:29:20,000 --> 00:29:22,149\nempowers this um and of course if you're\na Rog likee fan you know people have\n\n1564\n00:29:22,149 --> 00:29:22,159\na Rog likee fan you know people have\n \n\n1565\n00:29:22,159 --> 00:29:24,830\na Rog likee fan you know people have\nbeen doing this forever\n\n1566\n00:29:24,830 --> 00:29:24,840\nbeen doing this forever\n \n\n1567\n00:29:24,840 --> 00:29:29,509\nbeen doing this forever\nthere okay so how well now what\n\n1568\n00:29:29,509 --> 00:29:29,519\nthere okay so how well now what\n \n\n1569\n00:29:29,519 --> 00:29:33,509\nthere okay so how well now what\nyou know we we've we have now looked at\n\n1570\n00:29:33,509 --> 00:29:33,519\nyou know we we've we have now looked at\n \n\n1571\n00:29:33,519 --> 00:29:36,190\nyou know we we've we have now looked at\ncomplexity I've told you you can't get\n\n1572\n00:29:36,190 --> 00:29:36,200\ncomplexity I've told you you can't get\n \n\n1573\n00:29:36,200 --> 00:29:38,990\ncomplexity I've told you you can't get\nrid of it so we're just going to have to\n\n1574\n00:29:38,990 --> 00:29:39,000\nrid of it so we're just going to have to\n \n\n1575\n00:29:39,000 --> 00:29:41,310\nrid of it so we're just going to have to\nlive with it and you know better tools\n\n1576\n00:29:41,310 --> 00:29:41,320\nlive with it and you know better tools\n \n\n1577\n00:29:41,320 --> 00:29:43,669\nlive with it and you know better tools\nwon't save us so how are we going to\n\n1578\n00:29:43,669 --> 00:29:43,679\nwon't save us so how are we going to\n \n\n1579\n00:29:43,679 --> 00:29:46,669\nwon't save us so how are we going to\nspend this this complexity budget that\n\n1580\n00:29:46,669 --> 00:29:46,679\nspend this this complexity budget that\n \n\n1581\n00:29:46,679 --> 00:29:47,870\nspend this this complexity budget that\nwe\n\n1582\n00:29:47,870 --> 00:29:47,880\nwe\n \n\n1583\n00:29:47,880 --> 00:29:50,630\nwe\nhave I mean you know one approach is you\n\n1584\n00:29:50,630 --> 00:29:50,640\nhave I mean you know one approach is you\n \n\n1585\n00:29:50,640 --> 00:29:52,509\nhave I mean you know one approach is you\njust put your head down and you work\n\n1586\n00:29:52,509 --> 00:29:52,519\njust put your head down and you work\n \n\n1587\n00:29:52,519 --> 00:29:54,470\njust put your head down and you work\naway and and pretend it's not a problem\n\n1588\n00:29:54,470 --> 00:29:54,480\naway and and pretend it's not a problem\n \n\n1589\n00:29:54,480 --> 00:29:56,149\naway and and pretend it's not a problem\nand you know that that's a pretty common\n\n1590\n00:29:56,149 --> 00:29:56,159\nand you know that that's a pretty common\n \n\n1591\n00:29:56,159 --> 00:29:58,029\nand you know that that's a pretty common\nsolution to all of our problems in life\n\n1592\n00:29:58,029 --> 00:29:58,039\nsolution to all of our problems in life\n \n\n1593\n00:29:58,039 --> 00:29:59,509\nsolution to all of our problems in life\nso we could do that but I'm going to\n\n1594\n00:29:59,509 --> 00:29:59,519\nso we could do that but I'm going to\n \n\n1595\n00:29:59,519 --> 00:30:01,029\nso we could do that but I'm going to\nmaybe try and propose a few ways we can\n\n1596\n00:30:01,029 --> 00:30:01,039\nmaybe try and propose a few ways we can\n \n\n1597\n00:30:01,039 --> 00:30:03,669\nmaybe try and propose a few ways we can\ncut the gordian knot here and so um you\n\n1598\n00:30:03,669 --> 00:30:03,679\ncut the gordian knot here and so um you\n \n\n1599\n00:30:03,679 --> 00:30:05,750\ncut the gordian knot here and so um you\nknow the the story of the gordian knot\n\n1600\n00:30:05,750 --> 00:30:05,760\nknow the the story of the gordian knot\n \n\n1601\n00:30:05,760 --> 00:30:08,870\nknow the the story of the gordian knot\nwas that there was this sort of um this\n\n1602\n00:30:08,870 --> 00:30:08,880\nwas that there was this sort of um this\n \n\n1603\n00:30:08,880 --> 00:30:10,990\nwas that there was this sort of um this\nOx cart with a really complicated knot\n\n1604\n00:30:10,990 --> 00:30:11,000\nOx cart with a really complicated knot\n \n\n1605\n00:30:11,000 --> 00:30:13,070\nOx cart with a really complicated knot\non the the handle and people were like\n\n1606\n00:30:13,070 --> 00:30:13,080\non the the handle and people were like\n \n\n1607\n00:30:13,080 --> 00:30:16,230\non the the handle and people were like\noh whoever whoever unties this notot\n\n1608\n00:30:16,230 --> 00:30:16,240\noh whoever whoever unties this notot\n \n\n1609\n00:30:16,240 --> 00:30:18,710\noh whoever whoever unties this notot\nwill rule all of Asia and many people\n\n1610\n00:30:18,710 --> 00:30:18,720\nwill rule all of Asia and many people\n \n\n1611\n00:30:18,720 --> 00:30:20,310\nwill rule all of Asia and many people\nhad come and then Alexander the Great\n\n1612\n00:30:20,310 --> 00:30:20,320\nhad come and then Alexander the Great\n \n\n1613\n00:30:20,320 --> 00:30:21,990\nhad come and then Alexander the Great\ncame along and depending on the version\n\n1614\n00:30:21,990 --> 00:30:22,000\ncame along and depending on the version\n \n\n1615\n00:30:22,000 --> 00:30:23,310\ncame along and depending on the version\nof the story you hear he just like he\n\n1616\n00:30:23,310 --> 00:30:23,320\nof the story you hear he just like he\n \n\n1617\n00:30:23,320 --> 00:30:25,110\nof the story you hear he just like he\nlike okay cool and he cut it with a\n\n1618\n00:30:25,110 --> 00:30:25,120\nlike okay cool and he cut it with a\n \n\n1619\n00:30:25,120 --> 00:30:28,430\nlike okay cool and he cut it with a\nknife right and so instead of solving\n\n1620\n00:30:28,430 --> 00:30:28,440\nknife right and so instead of solving\n \n\n1621\n00:30:28,440 --> 00:30:30,389\nknife right and so instead of solving\nthe problem by like trying to be really\n\n1622\n00:30:30,389 --> 00:30:30,399\nthe problem by like trying to be really\n \n\n1623\n00:30:30,399 --> 00:30:31,990\nthe problem by like trying to be really\nsmart or work really hard like can we\n\n1624\n00:30:31,990 --> 00:30:32,000\nsmart or work really hard like can we\n \n\n1625\n00:30:32,000 --> 00:30:34,310\nsmart or work really hard like can we\njust cheat and change the rules like I\n\n1626\n00:30:34,310 --> 00:30:34,320\njust cheat and change the rules like I\n \n\n1627\n00:30:34,320 --> 00:30:35,870\njust cheat and change the rules like I\nthink that's a better\n\n1628\n00:30:35,870 --> 00:30:35,880\nthink that's a better\n \n\n1629\n00:30:35,880 --> 00:30:39,269\nthink that's a better\napproach so one approach is to do what\n\n1630\n00:30:39,269 --> 00:30:39,279\napproach so one approach is to do what\n \n\n1631\n00:30:39,279 --> 00:30:41,750\napproach so one approach is to do what\nfolks here like to do is just start over\n\n1632\n00:30:41,750 --> 00:30:41,760\nfolks here like to do is just start over\n \n\n1633\n00:30:41,760 --> 00:30:43,029\nfolks here like to do is just start over\nyou know you can't actually get rid of\n\n1634\n00:30:43,029 --> 00:30:43,039\nyou know you can't actually get rid of\n \n\n1635\n00:30:43,039 --> 00:30:45,430\nyou know you can't actually get rid of\nthis problem but you can reset the clock\n\n1636\n00:30:45,430 --> 00:30:45,440\nthis problem but you can reset the clock\n \n\n1637\n00:30:45,440 --> 00:30:48,430\nthis problem but you can reset the clock\non it right just build a new one start\n\n1638\n00:30:48,430 --> 00:30:48,440\non it right just build a new one start\n \n\n1639\n00:30:48,440 --> 00:30:49,830\non it right just build a new one start\nfrom the beginning everything's easy in\n\n1640\n00:30:49,830 --> 00:30:49,840\nfrom the beginning everything's easy in\n \n\n1641\n00:30:49,840 --> 00:30:51,509\nfrom the beginning everything's easy in\nthe beginning it's only when you have\n\n1642\n00:30:51,509 --> 00:30:51,519\nthe beginning it's only when you have\n \n\n1643\n00:30:51,519 --> 00:30:53,830\nthe beginning it's only when you have\nusers and features that you have\n\n1644\n00:30:53,830 --> 00:30:53,840\nusers and features that you have\n \n\n1645\n00:30:53,840 --> 00:30:56,710\nusers and features that you have\ncomplexity so like you know make a new\n\n1646\n00:30:56,710 --> 00:30:56,720\ncomplexity so like you know make a new\n \n\n1647\n00:30:56,720 --> 00:30:59,149\ncomplexity so like you know make a new\nprogramming language start a new VM it's\n\n1648\n00:30:59,149 --> 00:30:59,159\nprogramming language start a new VM it's\n \n\n1649\n00:30:59,159 --> 00:31:01,029\nprogramming language start a new VM it's\ngood you can't really change this like\n\n1650\n00:31:01,029 --> 00:31:01,039\ngood you can't really change this like\n \n\n1651\n00:31:01,039 --> 00:31:04,590\ngood you can't really change this like\nlong run pressure but like genuinely you\n\n1652\n00:31:04,590 --> 00:31:04,600\nlong run pressure but like genuinely you\n \n\n1653\n00:31:04,600 --> 00:31:06,430\nlong run pressure but like genuinely you\ncan reset the clock and I think that's\n\n1654\n00:31:06,430 --> 00:31:06,440\ncan reset the clock and I think that's\n \n\n1655\n00:31:06,440 --> 00:31:09,149\ncan reset the clock and I think that's\npart of why things like Excel are\n\n1656\n00:31:09,149 --> 00:31:09,159\npart of why things like Excel are\n \n\n1657\n00:31:09,159 --> 00:31:10,629\npart of why things like Excel are\npopular and successful is they don't\n\n1658\n00:31:10,629 --> 00:31:10,639\npopular and successful is they don't\n \n\n1659\n00:31:10,639 --> 00:31:12,789\npopular and successful is they don't\nhave package managers right like every\n\n1660\n00:31:12,789 --> 00:31:12,799\nhave package managers right like every\n \n\n1661\n00:31:12,799 --> 00:31:14,509\nhave package managers right like every\ntime you make a new Excel document it's\n\n1662\n00:31:14,509 --> 00:31:14,519\ntime you make a new Excel document it's\n \n\n1663\n00:31:14,519 --> 00:31:17,470\ntime you make a new Excel document it's\na brand new universe you know with none\n\n1664\n00:31:17,470 --> 00:31:17,480\na brand new universe you know with none\n \n\n1665\n00:31:17,480 --> 00:31:19,350\na brand new universe you know with none\nnone of the misery or mistakes that you\n\n1666\n00:31:19,350 --> 00:31:19,360\nnone of the misery or mistakes that you\n \n\n1667\n00:31:19,360 --> 00:31:21,029\nnone of the misery or mistakes that you\nmade before it's like the Forgiveness of\n\n1668\n00:31:21,029 --> 00:31:21,039\nmade before it's like the Forgiveness of\n \n\n1669\n00:31:21,039 --> 00:31:23,750\nmade before it's like the Forgiveness of\nthe blank page you know that's and\n\n1670\n00:31:23,750 --> 00:31:23,760\nthe blank page you know that's and\n \n\n1671\n00:31:23,760 --> 00:31:25,789\nthe blank page you know that's and\nthere's something to that um I went to a\n\n1672\n00:31:25,789 --> 00:31:25,799\nthere's something to that um I went to a\n \n\n1673\n00:31:25,799 --> 00:31:28,230\nthere's something to that um I went to a\ntalk by John Romero\n\n1674\n00:31:28,230 --> 00:31:28,240\ntalk by John Romero\n \n\n1675\n00:31:28,240 --> 00:31:29,909\ntalk by John Romero\nuh at strange Loop not that long ago and\n\n1676\n00:31:29,909 --> 00:31:29,919\nuh at strange Loop not that long ago and\n \n\n1677\n00:31:29,919 --> 00:31:33,190\nuh at strange Loop not that long ago and\nhe talked about how ID software had been\n\n1678\n00:31:33,190 --> 00:31:33,200\nhe talked about how ID software had been\n \n\n1679\n00:31:33,200 --> 00:31:35,950\nhe talked about how ID software had been\nmaking these like shovelware games for\n\n1680\n00:31:35,950 --> 00:31:35,960\nmaking these like shovelware games for\n \n\n1681\n00:31:35,960 --> 00:31:38,070\nmaking these like shovelware games for\nas contractors or the the ID software\n\n1682\n00:31:38,070 --> 00:31:38,080\nas contractors or the the ID software\n \n\n1683\n00:31:38,080 --> 00:31:40,789\nas contractors or the the ID software\nteam him and him and uh Romero and carac\n\n1684\n00:31:40,789 --> 00:31:40,799\nteam him and him and uh Romero and carac\n \n\n1685\n00:31:40,799 --> 00:31:42,830\nteam him and him and uh Romero and carac\nhad been making these sort of shovelware\n\n1686\n00:31:42,830 --> 00:31:42,840\nhad been making these sort of shovelware\n \n\n1687\n00:31:42,840 --> 00:31:45,149\nhad been making these sort of shovelware\ngames and their attitude was like well\n\n1688\n00:31:45,149 --> 00:31:45,159\ngames and their attitude was like well\n \n\n1689\n00:31:45,159 --> 00:31:46,310\ngames and their attitude was like well\nyou should just always start from\n\n1690\n00:31:46,310 --> 00:31:46,320\nyou should just always start from\n \n\n1691\n00:31:46,320 --> 00:31:48,310\nyou should just always start from\nscratch you get really good at it you\n\n1692\n00:31:48,310 --> 00:31:48,320\nscratch you get really good at it you\n \n\n1693\n00:31:48,320 --> 00:31:50,509\nscratch you get really good at it you\ncan be really fast and each time you do\n\n1694\n00:31:50,509 --> 00:31:50,519\ncan be really fast and each time you do\n \n\n1695\n00:31:50,519 --> 00:31:52,310\ncan be really fast and each time you do\na little bit better than the one before\n\n1696\n00:31:52,310 --> 00:31:52,320\na little bit better than the one before\n \n\n1697\n00:31:52,320 --> 00:31:54,470\na little bit better than the one before\nand we do I think do better I like I'm\n\n1698\n00:31:54,470 --> 00:31:54,480\nand we do I think do better I like I'm\n \n\n1699\n00:31:54,480 --> 00:31:56,430\nand we do I think do better I like I'm\nnot I I love learning new languages and\n\n1700\n00:31:56,430 --> 00:31:56,440\nnot I I love learning new languages and\n \n\n1701\n00:31:56,440 --> 00:31:58,590\nnot I I love learning new languages and\nbuilding new ecosystems and I think a\n\n1702\n00:31:58,590 --> 00:31:58,600\nbuilding new ecosystems and I think a\n \n\n1703\n00:31:58,600 --> 00:31:59,870\nbuilding new ecosystems and I think a\nbig part of the reason why they're\n\n1704\n00:31:59,870 --> 00:31:59,880\nbig part of the reason why they're\n \n\n1705\n00:31:59,880 --> 00:32:01,310\nbig part of the reason why they're\nsuccessful is because when you have a\n\n1706\n00:32:01,310 --> 00:32:01,320\nsuccessful is because when you have a\n \n\n1707\n00:32:01,320 --> 00:32:04,350\nsuccessful is because when you have a\nnew language you do have the opportunity\n\n1708\n00:32:04,350 --> 00:32:04,360\nnew language you do have the opportunity\n \n\n1709\n00:32:04,360 --> 00:32:08,029\nnew language you do have the opportunity\nto like clear away um like the standard\n\n1710\n00:32:08,029 --> 00:32:08,039\nto like clear away um like the standard\n \n\n1711\n00:32:08,039 --> 00:32:10,029\nto like clear away um like the standard\nlibrary and also just the ecosystem of\n\n1712\n00:32:10,029 --> 00:32:10,039\nlibrary and also just the ecosystem of\n \n\n1713\n00:32:10,039 --> 00:32:12,230\nlibrary and also just the ecosystem of\nideas and people and sort of start from\n\n1714\n00:32:12,230 --> 00:32:12,240\nideas and people and sort of start from\n \n\n1715\n00:32:12,240 --> 00:32:14,629\nideas and people and sort of start from\na fresh starting point now this won't\n\n1716\n00:32:14,629 --> 00:32:14,639\na fresh starting point now this won't\n \n\n1717\n00:32:14,639 --> 00:32:17,990\na fresh starting point now this won't\ncure complexity in the long run but you\n\n1718\n00:32:17,990 --> 00:32:18,000\ncure complexity in the long run but you\n \n\n1719\n00:32:18,000 --> 00:32:20,110\ncure complexity in the long run but you\nknow it can get better right at least in\n\n1720\n00:32:20,110 --> 00:32:20,120\nknow it can get better right at least in\n \n\n1721\n00:32:20,120 --> 00:32:22,110\nknow it can get better right at least in\nthe midterm and we can get further so I\n\n1722\n00:32:22,110 --> 00:32:22,120\nthe midterm and we can get further so I\n \n\n1723\n00:32:22,120 --> 00:32:23,669\nthe midterm and we can get further so I\nthink you know that's pretty cool and\n\n1724\n00:32:23,669 --> 00:32:23,679\nthink you know that's pretty cool and\n \n\n1725\n00:32:23,679 --> 00:32:25,350\nthink you know that's pretty cool and\nit's also pretty fun so like I'm I'm all\n\n1726\n00:32:25,350 --> 00:32:25,360\nit's also pretty fun so like I'm I'm all\n \n\n1727\n00:32:25,360 --> 00:32:27,389\nit's also pretty fun so like I'm I'm all\nfor that please please do more of that\n\n1728\n00:32:27,389 --> 00:32:27,399\nfor that please please do more of that\n \n\n1729\n00:32:27,399 --> 00:32:29,149\nfor that please please do more of that\nand\n\n1730\n00:32:29,149 --> 00:32:29,159\nand\n \n\n1731\n00:32:29,159 --> 00:32:31,830\nand\nto some extent it's sort of like you\n\n1732\n00:32:31,830 --> 00:32:31,840\nto some extent it's sort of like you\n \n\n1733\n00:32:31,840 --> 00:32:34,509\nto some extent it's sort of like you\nknow it feels like we live in these uh\n\n1734\n00:32:34,509 --> 00:32:34,519\nknow it feels like we live in these uh\n \n\n1735\n00:32:34,519 --> 00:32:37,110\nknow it feels like we live in these uh\nunbreakable regimes where like Unity you\n\n1736\n00:32:37,110 --> 00:32:37,120\nunbreakable regimes where like Unity you\n \n\n1737\n00:32:37,120 --> 00:32:38,789\nunbreakable regimes where like Unity you\nknow rules or where like the big\n\n1738\n00:32:38,789 --> 00:32:38,799\nknow rules or where like the big\n \n\n1739\n00:32:38,799 --> 00:32:40,190\nknow rules or where like the big\ncompanies Google and Microsoft and\n\n1740\n00:32:40,190 --> 00:32:40,200\ncompanies Google and Microsoft and\n \n\n1741\n00:32:40,200 --> 00:32:42,350\ncompanies Google and Microsoft and\neverybody rules but that's the kind of\n\n1742\n00:32:42,350 --> 00:32:42,360\neverybody rules but that's the kind of\n \n\n1743\n00:32:42,360 --> 00:32:44,110\neverybody rules but that's the kind of\nthing that's true until it isn't and\n\n1744\n00:32:44,110 --> 00:32:44,120\nthing that's true until it isn't and\n \n\n1745\n00:32:44,120 --> 00:32:45,549\nthing that's true until it isn't and\nthere's this lovely quote from Ursula\n\n1746\n00:32:45,549 --> 00:32:45,559\nthere's this lovely quote from Ursula\n \n\n1747\n00:32:45,559 --> 00:32:47,830\nthere's this lovely quote from Ursula\nlwin about capitalism which is sort of\n\n1748\n00:32:47,830 --> 00:32:47,840\nlwin about capitalism which is sort of\n \n\n1749\n00:32:47,840 --> 00:32:49,789\nlwin about capitalism which is sort of\nyou know the generalization of these\n\n1750\n00:32:49,789 --> 00:32:49,799\nyou know the generalization of these\n \n\n1751\n00:32:49,799 --> 00:32:53,110\nyou know the generalization of these\nproblems you know capitalism was itself\n\n1752\n00:32:53,110 --> 00:32:53,120\nproblems you know capitalism was itself\n \n\n1753\n00:32:53,120 --> 00:32:56,310\nproblems you know capitalism was itself\nan invention and um you know I'll just\n\n1754\n00:32:56,310 --> 00:32:56,320\nan invention and um you know I'll just\n \n\n1755\n00:32:56,320 --> 00:32:58,470\nan invention and um you know I'll just\nread it we live in capitalism M its\n\n1756\n00:32:58,470 --> 00:32:58,480\nread it we live in capitalism M its\n \n\n1757\n00:32:58,480 --> 00:33:01,110\nread it we live in capitalism M its\npower seems inescapable so did the\n\n1758\n00:33:01,110 --> 00:33:01,120\npower seems inescapable so did the\n \n\n1759\n00:33:01,120 --> 00:33:03,389\npower seems inescapable so did the\ndivine right of kings and any human\n\n1760\n00:33:03,389 --> 00:33:03,399\ndivine right of kings and any human\n \n\n1761\n00:33:03,399 --> 00:33:05,549\ndivine right of kings and any human\npower can be res resisted and changed by\n\n1762\n00:33:05,549 --> 00:33:05,559\npower can be res resisted and changed by\n \n\n1763\n00:33:05,559 --> 00:33:06,389\npower can be res resisted and changed by\nhuman\n\n1764\n00:33:06,389 --> 00:33:06,399\nhuman\n \n\n1765\n00:33:06,399 --> 00:33:11,070\nhuman\nbeings right so we we should not doubt\n\n1766\n00:33:11,070 --> 00:33:11,080\nbeings right so we we should not doubt\n \n\n1767\n00:33:11,080 --> 00:33:14,149\nbeings right so we we should not doubt\nthat the environment can be changed the\n\n1768\n00:33:14,149 --> 00:33:14,159\nthat the environment can be changed the\n \n\n1769\n00:33:14,159 --> 00:33:16,549\nthat the environment can be changed the\nenvironment was created it will be\n\n1770\n00:33:16,549 --> 00:33:16,559\nenvironment was created it will be\n \n\n1771\n00:33:16,559 --> 00:33:19,350\nenvironment was created it will be\nchanged we don't know how or when but it\n\n1772\n00:33:19,350 --> 00:33:19,360\nchanged we don't know how or when but it\n \n\n1773\n00:33:19,360 --> 00:33:20,470\nchanged we don't know how or when but it\nis\n\n1774\n00:33:20,470 --> 00:33:20,480\nis\n \n\n1775\n00:33:20,480 --> 00:33:22,430\nis\ninevitable okay so you can start over\n\n1776\n00:33:22,430 --> 00:33:22,440\ninevitable okay so you can start over\n \n\n1777\n00:33:22,440 --> 00:33:24,789\ninevitable okay so you can start over\nRevolution burn it\n\n1778\n00:33:24,789 --> 00:33:24,799\nRevolution burn it\n \n\n1779\n00:33:24,799 --> 00:33:28,549\nRevolution burn it\ndown or you know just do l\n\n1780\n00:33:28,549 --> 00:33:28,559\ndown or you know just do l\n \n\n1781\n00:33:28,559 --> 00:33:31,470\ndown or you know just do l\ndo less with less uh do I have my play\n\n1782\n00:33:31,470 --> 00:33:31,480\ndo less with less uh do I have my play\n \n\n1783\n00:33:31,480 --> 00:33:32,909\ndo less with less uh do I have my play\ndate does do people have these hases\n\n1784\n00:33:32,909 --> 00:33:32,919\ndate does do people have these hases\n \n\n1785\n00:33:32,919 --> 00:33:35,029\ndate does do people have these hases\nanybody got a play date yeah this is\n\n1786\n00:33:35,029 --> 00:33:35,039\nanybody got a play date yeah this is\n \n\n1787\n00:33:35,039 --> 00:33:37,629\nanybody got a play date yeah this is\ngreat it's black and white it it's\n\n1788\n00:33:37,629 --> 00:33:37,639\ngreat it's black and white it it's\n \n\n1789\n00:33:37,639 --> 00:33:40,430\ngreat it's black and white it it's\nthere's only one platform it's small it\n\n1790\n00:33:40,430 --> 00:33:40,440\nthere's only one platform it's small it\n \n\n1791\n00:33:40,440 --> 00:33:42,750\nthere's only one platform it's small it\ncomes in one color it only has one color\n\n1792\n00:33:42,750 --> 00:33:42,760\ncomes in one color it only has one color\n \n\n1793\n00:33:42,760 --> 00:33:44,310\ncomes in one color it only has one color\nblack or white depending on how you\n\n1794\n00:33:44,310 --> 00:33:44,320\nblack or white depending on how you\n \n\n1795\n00:33:44,320 --> 00:33:45,909\nblack or white depending on how you\nthink about it doesn't have a lot of\n\n1796\n00:33:45,909 --> 00:33:45,919\nthink about it doesn't have a lot of\n \n\n1797\n00:33:45,919 --> 00:33:48,470\nthink about it doesn't have a lot of\nbuttons doesn't have much RAM doesn't\n\n1798\n00:33:48,470 --> 00:33:48,480\nbuttons doesn't have much RAM doesn't\n \n\n1799\n00:33:48,480 --> 00:33:50,269\nbuttons doesn't have much RAM doesn't\nreally have any there's a little bit of\n\n1800\n00:33:50,269 --> 00:33:50,279\nreally have any there's a little bit of\n \n\n1801\n00:33:50,279 --> 00:33:52,389\nreally have any there's a little bit of\nnetworking and there's only one Hardware\n\n1802\n00:33:52,389 --> 00:33:52,399\nnetworking and there's only one Hardware\n \n\n1803\n00:33:52,399 --> 00:33:53,430\nnetworking and there's only one Hardware\nplatform so you don't have to worry\n\n1804\n00:33:53,430 --> 00:33:53,440\nplatform so you don't have to worry\n \n\n1805\n00:33:53,440 --> 00:33:55,590\nplatform so you don't have to worry\nabout compatibility\n\n1806\n00:33:55,590 --> 00:33:55,600\nabout compatibility\n \n\n1807\n00:33:55,600 --> 00:33:58,549\nabout compatibility\nproblems is\n\n1808\n00:33:58,549 --> 00:33:58,559\nproblems is\n \n\n1809\n00:33:58,559 --> 00:33:59,830\nproblems is\nthere there is the emulator which\n\n1810\n00:33:59,830 --> 00:33:59,840\nthere there is the emulator which\n \n\n1811\n00:33:59,840 --> 00:34:01,149\nthere there is the emulator which\nbehaves\n\n1812\n00:34:01,149 --> 00:34:01,159\nbehaves\n \n\n1813\n00:34:01,159 --> 00:34:03,269\nbehaves\ndifferently and due to like sourcing\n\n1814\n00:34:03,269 --> 00:34:03,279\ndifferently and due to like sourcing\n \n\n1815\n00:34:03,279 --> 00:34:05,310\ndifferently and due to like sourcing\nproblems they had to get a different\n\n1816\n00:34:05,310 --> 00:34:05,320\nproblems they had to get a different\n \n\n1817\n00:34:05,320 --> 00:34:07,310\nproblems they had to get a different\nmicro controller but it transpiles\n\n1818\n00:34:07,310 --> 00:34:07,320\nmicro controller but it transpiles\n \n\n1819\n00:34:07,320 --> 00:34:08,950\nmicro controller but it transpiles\nnatively they're doing a really good job\n\n1820\n00:34:08,950 --> 00:34:08,960\nnatively they're doing a really good job\n \n\n1821\n00:34:08,960 --> 00:34:10,470\nnatively they're doing a really good job\nanyway it's a heck of a lot simpler than\n\n1822\n00:34:10,470 --> 00:34:10,480\nanyway it's a heck of a lot simpler than\n \n\n1823\n00:34:10,480 --> 00:34:16,069\nanyway it's a heck of a lot simpler than\nbuilding for PS5 you know Xbox PC switch\n\n1824\n00:34:16,069 --> 00:34:16,079\nbuilding for PS5 you know Xbox PC switch\n \n\n1825\n00:34:16,079 --> 00:34:18,909\nbuilding for PS5 you know Xbox PC switch\n3DS all on one code base like it is\n\n1826\n00:34:18,909 --> 00:34:18,919\n3DS all on one code base like it is\n \n\n1827\n00:34:18,919 --> 00:34:20,829\n3DS all on one code base like it is\ngenuinely awesome and because it's so\n\n1828\n00:34:20,829 --> 00:34:20,839\ngenuinely awesome and because it's so\n \n\n1829\n00:34:20,839 --> 00:34:23,550\ngenuinely awesome and because it's so\nsmall it's like you know kind of\n\n1830\n00:34:23,550 --> 00:34:23,560\nsmall it's like you know kind of\n \n\n1831\n00:34:23,560 --> 00:34:25,589\nsmall it's like you know kind of\nappealing and when you have less scope\n\n1832\n00:34:25,589 --> 00:34:25,599\nappealing and when you have less scope\n \n\n1833\n00:34:25,599 --> 00:34:27,829\nappealing and when you have less scope\nyou can choose to spend that energy that\n\n1834\n00:34:27,829 --> 00:34:27,839\nyou can choose to spend that energy that\n \n\n1835\n00:34:27,839 --> 00:34:29,669\nyou can choose to spend that energy that\ncomplexity budget you can put it into\n\n1836\n00:34:29,669 --> 00:34:29,679\ncomplexity budget you can put it into\n \n\n1837\n00:34:29,679 --> 00:34:32,310\ncomplexity budget you can put it into\npolish right and like on a small\n\n1838\n00:34:32,310 --> 00:34:32,320\npolish right and like on a small\n \n\n1839\n00:34:32,320 --> 00:34:35,950\npolish right and like on a small\nplatform a small idea can\n\n1840\n00:34:35,950 --> 00:34:35,960\n\n \n\n1841\n00:34:35,960 --> 00:34:38,069\n\nshine so okay\n\n1842\n00:34:38,069 --> 00:34:38,079\nshine so okay\n \n\n1843\n00:34:38,079 --> 00:34:41,829\nshine so okay\nwell we can't solve complexity but we\n\n1844\n00:34:41,829 --> 00:34:41,839\nwell we can't solve complexity but we\n \n\n1845\n00:34:41,839 --> 00:34:46,190\nwell we can't solve complexity but we\ncan make things\n\n1846\n00:34:46,190 --> 00:34:46,200\n\n \n\n1847\n00:34:46,200 --> 00:34:48,950\n\nworse this is actually from augmenting\n\n1848\n00:34:48,950 --> 00:34:48,960\nworse this is actually from augmenting\n \n\n1849\n00:34:48,960 --> 00:34:51,869\nworse this is actually from augmenting\nHuman intellect uh by angelart in 1962\n\n1850\n00:34:51,869 --> 00:34:51,879\nHuman intellect uh by angelart in 1962\n \n\n1851\n00:34:51,879 --> 00:34:54,750\nHuman intellect uh by angelart in 1962\nand it's demonstrating um that you know\n\n1852\n00:34:54,750 --> 00:34:54,760\nand it's demonstrating um that you know\n \n\n1853\n00:34:54,760 --> 00:34:56,790\nand it's demonstrating um that you know\nyou can in fact change people's\n\n1854\n00:34:56,790 --> 00:34:56,800\nyou can in fact change people's\n \n\n1855\n00:34:56,800 --> 00:35:00,270\nyou can in fact change people's\nexperience um with uh design\n\n1856\n00:35:00,270 --> 00:35:00,280\nexperience um with uh design\n \n\n1857\n00:35:00,280 --> 00:35:03,550\nexperience um with uh design\ninterventions I said change not\n\n1858\n00:35:03,550 --> 00:35:03,560\ninterventions I said change not\n \n\n1859\n00:35:03,560 --> 00:35:06,550\ninterventions I said change not\nimprove so you you can we we've made\n\n1860\n00:35:06,550 --> 00:35:06,560\nimprove so you you can we we've made\n \n\n1861\n00:35:06,560 --> 00:35:08,270\nimprove so you you can we we've made\nthings pretty bad in terms of software\n\n1862\n00:35:08,270 --> 00:35:08,280\nthings pretty bad in terms of software\n \n\n1863\n00:35:08,280 --> 00:35:10,510\nthings pretty bad in terms of software\ndevelopment this is the uh my favorite\n\n1864\n00:35:10,510 --> 00:35:10,520\ndevelopment this is the uh my favorite\n \n\n1865\n00:35:10,520 --> 00:35:12,630\ndevelopment this is the uh my favorite\nslide always to show this is the uh\n\n1866\n00:35:12,630 --> 00:35:12,640\nslide always to show this is the uh\n \n\n1867\n00:35:12,640 --> 00:35:15,150\nslide always to show this is the uh\nCloud native cloud\n\n1868\n00:35:15,150 --> 00:35:15,160\nCloud native cloud\n \n\n1869\n00:35:15,160 --> 00:35:18,310\nCloud native cloud\ncloud Foundation Cloud native landscape\n\n1870\n00:35:18,310 --> 00:35:18,320\ncloud Foundation Cloud native landscape\n \n\n1871\n00:35:18,320 --> 00:35:21,230\ncloud Foundation Cloud native landscape\nI always get this wrong um this is\n\n1872\n00:35:21,230 --> 00:35:21,240\nI always get this wrong um this is\n \n\n1873\n00:35:21,240 --> 00:35:24,829\nI always get this wrong um this is\nostensibly I think 20 trillion worth of\n\n1874\n00:35:24,829 --> 00:35:24,839\nostensibly I think 20 trillion worth of\n \n\n1875\n00:35:24,839 --> 00:35:27,109\nostensibly I think 20 trillion worth of\ncompanies anyway please memorize all of\n\n1876\n00:35:27,109 --> 00:35:27,119\ncompanies anyway please memorize all of\n \n\n1877\n00:35:27,119 --> 00:35:28,430\ncompanies anyway please memorize all of\nthis it'll be quiz at the end if you\n\n1878\n00:35:28,430 --> 00:35:28,440\nthis it'll be quiz at the end if you\n \n\n1879\n00:35:28,440 --> 00:35:32,230\nthis it'll be quiz at the end if you\nwant to make a web application in\n\n1880\n00:35:32,230 --> 00:35:32,240\n\n \n\n1881\n00:35:32,240 --> 00:35:34,510\n\n2022 I had to zoom out the browser just\n\n1882\n00:35:34,510 --> 00:35:34,520\n2022 I had to zoom out the browser just\n \n\n1883\n00:35:34,520 --> 00:35:36,349\n2022 I had to zoom out the browser just\nto fit it all on screen for the\n\n1884\n00:35:36,349 --> 00:35:36,359\nto fit it all on screen for the\n \n\n1885\n00:35:36,359 --> 00:35:38,670\nto fit it all on screen for the\nfun so I'm going to talk a little bit\n\n1886\n00:35:38,670 --> 00:35:38,680\nfun so I'm going to talk a little bit\n \n\n1887\n00:35:38,680 --> 00:35:40,030\nfun so I'm going to talk a little bit\nnow about our research which kind of\n\n1888\n00:35:40,030 --> 00:35:40,040\nnow about our research which kind of\n \n\n1889\n00:35:40,040 --> 00:35:41,870\nnow about our research which kind of\nties back into this because I think it\n\n1890\n00:35:41,870 --> 00:35:41,880\nties back into this because I think it\n \n\n1891\n00:35:41,880 --> 00:35:44,630\nties back into this because I think it\nmight be interesting um our approach is\n\n1892\n00:35:44,630 --> 00:35:44,640\nmight be interesting um our approach is\n \n\n1893\n00:35:44,640 --> 00:35:48,270\nmight be interesting um our approach is\nless the kind of like reboot uh uh model\n\n1894\n00:35:48,270 --> 00:35:48,280\nless the kind of like reboot uh uh model\n \n\n1895\n00:35:48,280 --> 00:35:49,990\nless the kind of like reboot uh uh model\nand more of the maybe do a little less\n\n1896\n00:35:49,990 --> 00:35:50,000\nand more of the maybe do a little less\n \n\n1897\n00:35:50,000 --> 00:35:53,790\nand more of the maybe do a little less\nwith less model and one of our sort of\n\n1898\n00:35:53,790 --> 00:35:53,800\nwith less model and one of our sort of\n \n\n1899\n00:35:53,800 --> 00:35:56,990\nwith less model and one of our sort of\nresearch interests kind of Builds on\n\n1900\n00:35:56,990 --> 00:35:57,000\nresearch interests kind of Builds on\n \n\n1901\n00:35:57,000 --> 00:35:58,750\nresearch interests kind of Builds on\nthese sort of tools tools for thought a\n\n1902\n00:35:58,750 --> 00:35:58,760\nthese sort of tools tools for thought a\n \n\n1903\n00:35:58,760 --> 00:36:02,309\nthese sort of tools tools for thought a\nbig part of um what we're interested in\n\n1904\n00:36:02,309 --> 00:36:02,319\nbig part of um what we're interested in\n \n\n1905\n00:36:02,319 --> 00:36:04,109\nbig part of um what we're interested in\nas a research group is not Simplicity\n\n1906\n00:36:04,109 --> 00:36:04,119\nas a research group is not Simplicity\n \n\n1907\n00:36:04,119 --> 00:36:06,390\nas a research group is not Simplicity\nversus complexity or decentralization or\n\n1908\n00:36:06,390 --> 00:36:06,400\nversus complexity or decentralization or\n \n\n1909\n00:36:06,400 --> 00:36:08,829\nversus complexity or decentralization or\nanything like that but we do find that\n\n1910\n00:36:08,829 --> 00:36:08,839\nanything like that but we do find that\n \n\n1911\n00:36:08,839 --> 00:36:10,870\nanything like that but we do find that\nwe have to work in that space because\n\n1912\n00:36:10,870 --> 00:36:10,880\nwe have to work in that space because\n \n\n1913\n00:36:10,880 --> 00:36:12,829\nwe have to work in that space because\nwhat we want are tools that we have\n\n1914\n00:36:12,829 --> 00:36:12,839\nwhat we want are tools that we have\n \n\n1915\n00:36:12,839 --> 00:36:15,030\nwhat we want are tools that we have\nagency over that we have ownership of\n\n1916\n00:36:15,030 --> 00:36:15,040\nagency over that we have ownership of\n \n\n1917\n00:36:15,040 --> 00:36:18,470\nagency over that we have ownership of\nthat are ours and can't be taken and so\n\n1918\n00:36:18,470 --> 00:36:18,480\nthat are ours and can't be taken and so\n \n\n1919\n00:36:18,480 --> 00:36:20,829\nthat are ours and can't be taken and so\nwe call our research there uh local\n\n1920\n00:36:20,829 --> 00:36:20,839\nwe call our research there uh local\n \n\n1921\n00:36:20,839 --> 00:36:24,109\nwe call our research there uh local\nfirst software and the idea is basically\n\n1922\n00:36:24,109 --> 00:36:24,119\nfirst software and the idea is basically\n \n\n1923\n00:36:24,119 --> 00:36:25,710\nfirst software and the idea is basically\nthat instead of having to go learn that\n\n1924\n00:36:25,710 --> 00:36:25,720\nthat instead of having to go learn that\n \n\n1925\n00:36:25,720 --> 00:36:28,510\nthat instead of having to go learn that\nwhole chart of Technology\n\n1926\n00:36:28,510 --> 00:36:28,520\nwhole chart of Technology\n \n\n1927\n00:36:28,520 --> 00:36:31,030\nwhole chart of Technology\nthat you know you can't actually do any\n\n1928\n00:36:31,030 --> 00:36:31,040\nthat you know you can't actually do any\n \n\n1929\n00:36:31,040 --> 00:36:33,069\nthat you know you can't actually do any\nof that stuff if you just run it on your\n\n1930\n00:36:33,069 --> 00:36:33,079\nof that stuff if you just run it on your\n \n\n1931\n00:36:33,079 --> 00:36:34,510\nof that stuff if you just run it on your\ncomputer cuz that stuff's all in the\n\n1932\n00:36:34,510 --> 00:36:34,520\ncomputer cuz that stuff's all in the\n \n\n1933\n00:36:34,520 --> 00:36:36,550\ncomputer cuz that stuff's all in the\ncloud so if you want to build software\n\n1934\n00:36:36,550 --> 00:36:36,560\ncloud so if you want to build software\n \n\n1935\n00:36:36,560 --> 00:36:37,910\ncloud so if you want to build software\nthat works on your\n\n1936\n00:36:37,910 --> 00:36:37,920\nthat works on your\n \n\n1937\n00:36:37,920 --> 00:36:41,790\nthat works on your\ncomputer not only do you not get to use\n\n1938\n00:36:41,790 --> 00:36:41,800\ncomputer not only do you not get to use\n \n\n1939\n00:36:41,800 --> 00:36:44,790\ncomputer not only do you not get to use\nall that stuff you don't have to use all\n\n1940\n00:36:44,790 --> 00:36:44,800\nall that stuff you don't have to use all\n \n\n1941\n00:36:44,800 --> 00:36:45,710\nall that stuff you don't have to use all\nthat\n\n1942\n00:36:45,710 --> 00:36:45,720\nthat\n \n\n1943\n00:36:45,720 --> 00:36:48,589\nthat\nstuff and so this you know it's sort of\n\n1944\n00:36:48,589 --> 00:36:48,599\nstuff and so this you know it's sort of\n \n\n1945\n00:36:48,599 --> 00:36:52,069\nstuff and so this you know it's sort of\nlike simplification like via\n\n1946\n00:36:52,069 --> 00:36:52,079\nlike simplification like via\n \n\n1947\n00:36:52,079 --> 00:36:54,950\nlike simplification like via\namputation so we just cut off most of\n\n1948\n00:36:54,950 --> 00:36:54,960\namputation so we just cut off most of\n \n\n1949\n00:36:54,960 --> 00:36:57,950\namputation so we just cut off most of\nthe cloud and then we build things Lo\n\n1950\n00:36:57,950 --> 00:36:57,960\nthe cloud and then we build things Lo\n \n\n1951\n00:36:57,960 --> 00:37:00,030\nthe cloud and then we build things Lo\nand so you know we've dabbled in a bunch\n\n1952\n00:37:00,030 --> 00:37:00,040\nand so you know we've dabbled in a bunch\n \n\n1953\n00:37:00,040 --> 00:37:02,190\nand so you know we've dabbled in a bunch\nof different platforms over the years um\n\n1954\n00:37:02,190 --> 00:37:02,200\nof different platforms over the years um\n \n\n1955\n00:37:02,200 --> 00:37:03,870\nof different platforms over the years um\nright now we're building things in the\n\n1956\n00:37:03,870 --> 00:37:03,880\nright now we're building things in the\n \n\n1957\n00:37:03,880 --> 00:37:06,710\nright now we're building things in the\nbrowser but storing everything in like\n\n1958\n00:37:06,710 --> 00:37:06,720\nbrowser but storing everything in like\n \n\n1959\n00:37:06,720 --> 00:37:08,990\nbrowser but storing everything in like\nindexdb but one of our kind of core\n\n1960\n00:37:08,990 --> 00:37:09,000\nindexdb but one of our kind of core\n \n\n1961\n00:37:09,000 --> 00:37:12,230\nindexdb but one of our kind of core\nbeliefs is that um you know\n\n1962\n00:37:12,230 --> 00:37:12,240\nbeliefs is that um you know\n \n\n1963\n00:37:12,240 --> 00:37:14,950\nbeliefs is that um you know\ncollaboration is such an important part\n\n1964\n00:37:14,950 --> 00:37:14,960\ncollaboration is such an important part\n \n\n1965\n00:37:14,960 --> 00:37:19,150\ncollaboration is such an important part\nof um thinking and making and doing that\n\n1966\n00:37:19,150 --> 00:37:19,160\nof um thinking and making and doing that\n \n\n1967\n00:37:19,160 --> 00:37:20,710\nof um thinking and making and doing that\nit should be like a really fundamental\n\n1968\n00:37:20,710 --> 00:37:20,720\nit should be like a really fundamental\n \n\n1969\n00:37:20,720 --> 00:37:23,589\nit should be like a really fundamental\npart of our platforms and so we've been\n\n1970\n00:37:23,589 --> 00:37:23,599\npart of our platforms and so we've been\n \n\n1971\n00:37:23,599 --> 00:37:25,630\npart of our platforms and so we've been\nexploring technology that allows you to\n\n1972\n00:37:25,630 --> 00:37:25,640\nexploring technology that allows you to\n \n\n1973\n00:37:25,640 --> 00:37:27,030\nexploring technology that allows you to\nbuild software that runs on your\n\n1974\n00:37:27,030 --> 00:37:27,040\nbuild software that runs on your\n \n\n1975\n00:37:27,040 --> 00:37:28,150\nbuild software that runs on your\ncomputer\n\n1976\n00:37:28,150 --> 00:37:28,160\ncomputer\n \n\n1977\n00:37:28,160 --> 00:37:30,349\ncomputer\nbut then collaborates with other people\n\n1978\n00:37:30,349 --> 00:37:30,359\nbut then collaborates with other people\n \n\n1979\n00:37:30,359 --> 00:37:32,309\nbut then collaborates with other people\nyou know even allowing online offline\n\n1980\n00:37:32,309 --> 00:37:32,319\nyou know even allowing online offline\n \n\n1981\n00:37:32,319 --> 00:37:36,589\nyou know even allowing online offline\nkind of cuts and um the the model\n\n1982\n00:37:36,589 --> 00:37:36,599\nkind of cuts and um the the model\n \n\n1983\n00:37:36,599 --> 00:37:38,910\nkind of cuts and um the the model\nunderpinning that is a a data structure\n\n1984\n00:37:38,910 --> 00:37:38,920\nunderpinning that is a a data structure\n \n\n1985\n00:37:38,920 --> 00:37:40,950\nunderpinning that is a a data structure\ncalled automerge it's sort of like a\n\n1986\n00:37:40,950 --> 00:37:40,960\ncalled automerge it's sort of like a\n \n\n1987\n00:37:40,960 --> 00:37:43,109\ncalled automerge it's sort of like a\nportable versioned Json like data\n\n1988\n00:37:43,109 --> 00:37:43,119\nportable versioned Json like data\n \n\n1989\n00:37:43,119 --> 00:37:44,870\nportable versioned Json like data\nstructure you could think of it as like\n\n1990\n00:37:44,870 --> 00:37:44,880\nstructure you could think of it as like\n \n\n1991\n00:37:44,880 --> 00:37:48,430\nstructure you could think of it as like\nget for your data um I I don't I'm happy\n\n1992\n00:37:48,430 --> 00:37:48,440\nget for your data um I I don't I'm happy\n \n\n1993\n00:37:48,440 --> 00:37:51,230\nget for your data um I I don't I'm happy\nto talk at length about this stuff uh\n\n1994\n00:37:51,230 --> 00:37:51,240\nto talk at length about this stuff uh\n \n\n1995\n00:37:51,240 --> 00:37:53,510\nto talk at length about this stuff uh\nbut I don't really want to Harang you\n\n1996\n00:37:53,510 --> 00:37:53,520\nbut I don't really want to Harang you\n \n\n1997\n00:37:53,520 --> 00:37:55,550\nbut I don't really want to Harang you\ntoo much on you know sort of our\n\n1998\n00:37:55,550 --> 00:37:55,560\ntoo much on you know sort of our\n \n\n1999\n00:37:55,560 --> 00:37:56,829\ntoo much on you know sort of our\nparticular kind of like development\n\n2000\n00:37:56,829 --> 00:37:56,839\nparticular kind of like development\n \n\n2001\n00:37:56,839 --> 00:38:00,270\nparticular kind of like development\ninterests but uh it's really incredible\n\n2002\n00:38:00,270 --> 00:38:00,280\ninterests but uh it's really incredible\n \n\n2003\n00:38:00,280 --> 00:38:04,430\ninterests but uh it's really incredible\njust like how it feels to build software\n\n2004\n00:38:04,430 --> 00:38:04,440\njust like how it feels to build software\n \n\n2005\n00:38:04,440 --> 00:38:06,870\njust like how it feels to build software\nthat's fast and simple and runs on your\n\n2006\n00:38:06,870 --> 00:38:06,880\nthat's fast and simple and runs on your\n \n\n2007\n00:38:06,880 --> 00:38:09,630\nthat's fast and simple and runs on your\ncomputer if you like me have spent the\n\n2008\n00:38:09,630 --> 00:38:09,640\ncomputer if you like me have spent the\n \n\n2009\n00:38:09,640 --> 00:38:11,270\ncomputer if you like me have spent the\nlast you know chunk of your career\n\n2010\n00:38:11,270 --> 00:38:11,280\nlast you know chunk of your career\n \n\n2011\n00:38:11,280 --> 00:38:14,270\nlast you know chunk of your career\nbuilding cloud services and and you know\n\n2012\n00:38:14,270 --> 00:38:14,280\nbuilding cloud services and and you know\n \n\n2013\n00:38:14,280 --> 00:38:16,910\nbuilding cloud services and and you know\nrunning things in the sky I had this\n\n2014\n00:38:16,910 --> 00:38:16,920\nrunning things in the sky I had this\n \n\n2015\n00:38:16,920 --> 00:38:19,990\nrunning things in the sky I had this\nlike really memorable outage where\n\n2016\n00:38:19,990 --> 00:38:20,000\nlike really memorable outage where\n \n\n2017\n00:38:20,000 --> 00:38:22,910\nlike really memorable outage where\nAmazon turned off Us East one dirty\n\n2018\n00:38:22,910 --> 00:38:22,920\nAmazon turned off Us East one dirty\n \n\n2019\n00:38:22,920 --> 00:38:24,430\nAmazon turned off Us East one dirty\nbecause the generators didn't come on in\n\n2020\n00:38:24,430 --> 00:38:24,440\nbecause the generators didn't come on in\n \n\n2021\n00:38:24,440 --> 00:38:27,190\nbecause the generators didn't come on in\na hurricane and you know we were sort of\n\n2022\n00:38:27,190 --> 00:38:27,200\na hurricane and you know we were sort of\n \n\n2023\n00:38:27,200 --> 00:38:30,950\na hurricane and you know we were sort of\nlike 3 days into some God forsaken like\n\n2024\n00:38:30,950 --> 00:38:30,960\nlike 3 days into some God forsaken like\n \n\n2025\n00:38:30,960 --> 00:38:32,950\nlike 3 days into some God forsaken like\nsystem rebuild from backups of\n\n2026\n00:38:32,950 --> 00:38:32,960\nsystem rebuild from backups of\n \n\n2027\n00:38:32,960 --> 00:38:34,550\nsystem rebuild from backups of\neverybody's databases and my cooworker\n\n2028\n00:38:34,550 --> 00:38:34,560\neverybody's databases and my cooworker\n \n\n2029\n00:38:34,560 --> 00:38:36,109\neverybody's databases and my cooworker\nturns to me and he\n\n2030\n00:38:36,109 --> 00:38:36,119\nturns to me and he\n \n\n2031\n00:38:36,119 --> 00:38:40,430\nturns to me and he\ngoes I'm fixing computers that don't\n\n2032\n00:38:40,430 --> 00:38:40,440\ngoes I'm fixing computers that don't\n \n\n2033\n00:38:40,440 --> 00:38:43,630\ngoes I'm fixing computers that don't\nexist in a data center I've never been\n\n2034\n00:38:43,630 --> 00:38:43,640\nexist in a data center I've never been\n \n\n2035\n00:38:43,640 --> 00:38:48,990\nexist in a data center I've never been\nto for people I've never\n\n2036\n00:38:48,990 --> 00:38:49,000\n\n \n\n2037\n00:38:49,000 --> 00:38:51,230\n\nmet and he just had the like thousand\n\n2038\n00:38:51,230 --> 00:38:51,240\nmet and he just had the like thousand\n \n\n2039\n00:38:51,240 --> 00:38:53,470\nmet and he just had the like thousand\nyards stareing his eyes and I was like\n\n2040\n00:38:53,470 --> 00:38:53,480\nyards stareing his eyes and I was like\n \n\n2041\n00:38:53,480 --> 00:38:56,309\nyards stareing his eyes and I was like\nyeah do you need some more coffee\n\n2042\n00:38:56,309 --> 00:38:56,319\nyeah do you need some more coffee\n \n\n2043\n00:38:56,319 --> 00:38:59,190\nyeah do you need some more coffee\nyeah but and so you know like in a sense\n\n2044\n00:38:59,190 --> 00:38:59,200\nyeah but and so you know like in a sense\n \n\n2045\n00:38:59,200 --> 00:39:00,470\nyeah but and so you know like in a sense\nworking on this stuff is almost like\n\n2046\n00:39:00,470 --> 00:39:00,480\nworking on this stuff is almost like\n \n\n2047\n00:39:00,480 --> 00:39:01,950\nworking on this stuff is almost like\nPenance for me because I created all\n\n2048\n00:39:01,950 --> 00:39:01,960\nPenance for me because I created all\n \n\n2049\n00:39:01,960 --> 00:39:05,309\nPenance for me because I created all\nthese single points of\n\n2050\n00:39:05,309 --> 00:39:05,319\n\n \n\n2051\n00:39:05,319 --> 00:39:08,950\n\nfailure anyway so let's recap a little\n\n2052\n00:39:08,950 --> 00:39:08,960\nfailure anyway so let's recap a little\n \n\n2053\n00:39:08,960 --> 00:39:10,589\nfailure anyway so let's recap a little\nbit of all of this how do we live our\n\n2054\n00:39:10,589 --> 00:39:10,599\nbit of all of this how do we live our\n \n\n2055\n00:39:10,599 --> 00:39:14,829\nbit of all of this how do we live our\nlives in this complicated world right so\n\n2056\n00:39:14,829 --> 00:39:14,839\nlives in this complicated world right so\n \n\n2057\n00:39:14,839 --> 00:39:18,550\nlives in this complicated world right so\ncomplexity occurs when our systems have\n\n2058\n00:39:18,550 --> 00:39:18,560\ncomplexity occurs when our systems have\n \n\n2059\n00:39:18,560 --> 00:39:19,950\ncomplexity occurs when our systems have\ninternal\n\n2060\n00:39:19,950 --> 00:39:19,960\ninternal\n \n\n2061\n00:39:19,960 --> 00:39:22,030\ninternal\ninteractions right complexity doesn't\n\n2062\n00:39:22,030 --> 00:39:22,040\ninteractions right complexity doesn't\n \n\n2063\n00:39:22,040 --> 00:39:24,470\ninteractions right complexity doesn't\nmean oh there's a lot of stuff it's when\n\n2064\n00:39:24,470 --> 00:39:24,480\nmean oh there's a lot of stuff it's when\n \n\n2065\n00:39:24,480 --> 00:39:26,349\nmean oh there's a lot of stuff it's when\nall that stuff starts to bump against\n\n2066\n00:39:26,349 --> 00:39:26,359\nall that stuff starts to bump against\n \n\n2067\n00:39:26,359 --> 00:39:27,910\nall that stuff starts to bump against\neach other and cause unpredictable\n\n2068\n00:39:27,910 --> 00:39:27,920\neach other and cause unpredictable\n \n\n2069\n00:39:27,920 --> 00:39:31,910\neach other and cause unpredictable\noutcomes and complexity is also a\n\n2070\n00:39:31,910 --> 00:39:31,920\noutcomes and complexity is also a\n \n\n2071\n00:39:31,920 --> 00:39:34,470\noutcomes and complexity is also a\nnatural consequence of system incentives\n\n2072\n00:39:34,470 --> 00:39:34,480\nnatural consequence of system incentives\n \n\n2073\n00:39:34,480 --> 00:39:36,150\nnatural consequence of system incentives\nif you have a lot of people using a\n\n2074\n00:39:36,150 --> 00:39:36,160\nif you have a lot of people using a\n \n\n2075\n00:39:36,160 --> 00:39:37,670\nif you have a lot of people using a\nthing and you're listening to what they\n\n2076\n00:39:37,670 --> 00:39:37,680\nthing and you're listening to what they\n \n\n2077\n00:39:37,680 --> 00:39:40,309\nthing and you're listening to what they\nneed and you're you know like evolving\n\n2078\n00:39:40,309 --> 00:39:40,319\nneed and you're you know like evolving\n \n\n2079\n00:39:40,319 --> 00:39:42,470\nneed and you're you know like evolving\nas you learn more you're going to end up\n\n2080\n00:39:42,470 --> 00:39:42,480\nas you learn more you're going to end up\n \n\n2081\n00:39:42,480 --> 00:39:43,670\nas you learn more you're going to end up\nwith something\n\n2082\n00:39:43,670 --> 00:39:43,680\nwith something\n \n\n2083\n00:39:43,680 --> 00:39:47,349\nwith something\ncomplex and better tools won't change\n\n2084\n00:39:47,349 --> 00:39:47,359\ncomplex and better tools won't change\n \n\n2085\n00:39:47,359 --> 00:39:49,630\ncomplex and better tools won't change\nthis right the complexity is a\n\n2086\n00:39:49,630 --> 00:39:49,640\nthis right the complexity is a\n \n\n2087\n00:39:49,640 --> 00:39:50,910\nthis right the complexity is a\nconsequence of who we are and the\n\n2088\n00:39:50,910 --> 00:39:50,920\nconsequence of who we are and the\n \n\n2089\n00:39:50,920 --> 00:39:54,069\nconsequence of who we are and the\nchoices we make sure you can you can\n\n2090\n00:39:54,069 --> 00:39:54,079\nchoices we make sure you can you can\n \n\n2091\n00:39:54,079 --> 00:39:55,710\nchoices we make sure you can you can\nburn through your budget faster but like\n\n2092\n00:39:55,710 --> 00:39:55,720\nburn through your budget faster but like\n \n\n2093\n00:39:55,720 --> 00:39:57,550\nburn through your budget faster but like\nultimately where your project ends up on\n\n2094\n00:39:57,550 --> 00:39:57,560\nultimately where your project ends up on\n \n\n2095\n00:39:57,560 --> 00:39:59,230\nultimately where your project ends up on\nthe complexity scale is more about how\n\n2096\n00:39:59,230 --> 00:39:59,240\nthe complexity scale is more about how\n \n\n2097\n00:39:59,240 --> 00:40:00,829\nthe complexity scale is more about how\nmuch time and how many ideas are\n\n2098\n00:40:00,829 --> 00:40:00,839\nmuch time and how many ideas are\n \n\n2099\n00:40:00,839 --> 00:40:03,589\nmuch time and how many ideas are\ninvested into it than anything\n\n2100\n00:40:03,589 --> 00:40:03,599\ninvested into it than anything\n \n\n2101\n00:40:03,599 --> 00:40:06,470\ninvested into it than anything\nelse so we can't beat complexity but we\n\n2102\n00:40:06,470 --> 00:40:06,480\nelse so we can't beat complexity but we\n \n\n2103\n00:40:06,480 --> 00:40:09,670\nelse so we can't beat complexity but we\ncan get beaten by it right and so you\n\n2104\n00:40:09,670 --> 00:40:09,680\ncan get beaten by it right and so you\n \n\n2105\n00:40:09,680 --> 00:40:11,150\ncan get beaten by it right and so you\nknow what are our coping strategies well\n\n2106\n00:40:11,150 --> 00:40:11,160\nknow what are our coping strategies well\n \n\n2107\n00:40:11,160 --> 00:40:14,470\nknow what are our coping strategies well\nwe can start over we can eradicate\n\n2108\n00:40:14,470 --> 00:40:14,480\nwe can start over we can eradicate\n \n\n2109\n00:40:14,480 --> 00:40:17,270\nwe can start over we can eradicate\ndependencies we can cut scope do less\n\n2110\n00:40:17,270 --> 00:40:17,280\ndependencies we can cut scope do less\n \n\n2111\n00:40:17,280 --> 00:40:19,349\ndependencies we can cut scope do less\nright we can simplify our architecture\n\n2112\n00:40:19,349 --> 00:40:19,359\nright we can simplify our architecture\n \n\n2113\n00:40:19,359 --> 00:40:21,190\nright we can simplify our architecture\nand a really big one is being conscious\n\n2114\n00:40:21,190 --> 00:40:21,200\nand a really big one is being conscious\n \n\n2115\n00:40:21,200 --> 00:40:23,670\nand a really big one is being conscious\nof and learning to kind of identify when\n\n2116\n00:40:23,670 --> 00:40:23,680\nof and learning to kind of identify when\n \n\n2117\n00:40:23,680 --> 00:40:25,710\nof and learning to kind of identify when\nyou're getting into these like\n\n2118\n00:40:25,710 --> 00:40:25,720\nyou're getting into these like\n \n\n2119\n00:40:25,720 --> 00:40:28,190\nyou're getting into these like\nmultiplicator environments\n\n2120\n00:40:28,190 --> 00:40:28,200\nmultiplicator environments\n \n\n2121\n00:40:28,200 --> 00:40:29,710\nmultiplicator environments\nright like it once you start porting\n\n2122\n00:40:29,710 --> 00:40:29,720\nright like it once you start porting\n \n\n2123\n00:40:29,720 --> 00:40:31,309\nright like it once you start porting\nthings to multiple platforms and having\n\n2124\n00:40:31,309 --> 00:40:31,319\nthings to multiple platforms and having\n \n\n2125\n00:40:31,319 --> 00:40:33,030\nthings to multiple platforms and having\nto build those like per platform\n\n2126\n00:40:33,030 --> 00:40:33,040\nto build those like per platform\n \n\n2127\n00:40:33,040 --> 00:40:34,390\nto build those like per platform\nabstractions how do you manage that\n\n2128\n00:40:34,390 --> 00:40:34,400\nabstractions how do you manage that\n \n\n2129\n00:40:34,400 --> 00:40:36,990\nabstractions how do you manage that\ncomplexity back down how do you isolate\n\n2130\n00:40:36,990 --> 00:40:37,000\ncomplexity back down how do you isolate\n \n\n2131\n00:40:37,000 --> 00:40:39,910\ncomplexity back down how do you isolate\ncomplexity and a big part of success is\n\n2132\n00:40:39,910 --> 00:40:39,920\ncomplexity and a big part of success is\n \n\n2133\n00:40:39,920 --> 00:40:41,150\ncomplexity and a big part of success is\nisolating\n\n2134\n00:40:41,150 --> 00:40:41,160\nisolating\n \n\n2135\n00:40:41,160 --> 00:40:43,270\nisolating\ncomplexity but I also want to you know\n\n2136\n00:40:43,270 --> 00:40:43,280\ncomplexity but I also want to you know\n \n\n2137\n00:40:43,280 --> 00:40:45,750\ncomplexity but I also want to you know\ngive a shout out to gazing into the\n\n2138\n00:40:45,750 --> 00:40:45,760\ngive a shout out to gazing into the\n \n\n2139\n00:40:45,760 --> 00:40:48,910\ngive a shout out to gazing into the\nabyss and you know you can you can uh go\n\n2140\n00:40:48,910 --> 00:40:48,920\nabyss and you know you can you can uh go\n \n\n2141\n00:40:48,920 --> 00:40:51,109\nabyss and you know you can you can uh go\ngo for it right like Embrace complexity\n\n2142\n00:40:51,109 --> 00:40:51,119\ngo for it right like Embrace complexity\n \n\n2143\n00:40:51,119 --> 00:40:53,069\ngo for it right like Embrace complexity\nharness it yeah it's a deal with with an\n\n2144\n00:40:53,069 --> 00:40:53,079\nharness it yeah it's a deal with with an\n \n\n2145\n00:40:53,079 --> 00:40:55,190\nharness it yeah it's a deal with with an\nelder god and you may accomplish great\n\n2146\n00:40:55,190 --> 00:40:55,200\nelder god and you may accomplish great\n \n\n2147\n00:40:55,200 --> 00:40:56,829\nelder god and you may accomplish great\nand terrible things but at a great and\n\n2148\n00:40:56,829 --> 00:40:56,839\nand terrible things but at a great and\n \n\n2149\n00:40:56,839 --> 00:40:59,390\nand terrible things but at a great and\nterrible price you know that's fine but\n\n2150\n00:40:59,390 --> 00:40:59,400\nterrible price you know that's fine but\n \n\n2151\n00:40:59,400 --> 00:41:01,829\nterrible price you know that's fine but\nyou when you do this you got to be real\n\n2152\n00:41:01,829 --> 00:41:01,839\nyou when you do this you got to be real\n \n\n2153\n00:41:01,839 --> 00:41:04,550\nyou when you do this you got to be real\ncareful right and and you want to be\n\n2154\n00:41:04,550 --> 00:41:04,560\ncareful right and and you want to be\n \n\n2155\n00:41:04,560 --> 00:41:06,670\ncareful right and and you want to be\nreally deliberate but deliberate about\n\n2156\n00:41:06,670 --> 00:41:06,680\nreally deliberate but deliberate about\n \n\n2157\n00:41:06,680 --> 00:41:09,670\nreally deliberate but deliberate about\nhow and when you uh take on that\n\n2158\n00:41:09,670 --> 00:41:09,680\nhow and when you uh take on that\n \n\n2159\n00:41:09,680 --> 00:41:12,390\nhow and when you uh take on that\ncomplexity so I guess in in closing we\n\n2160\n00:41:12,390 --> 00:41:12,400\ncomplexity so I guess in in closing we\n \n\n2161\n00:41:12,400 --> 00:41:15,150\ncomplexity so I guess in in closing we\ncan't solve complexity but we can build\n\n2162\n00:41:15,150 --> 00:41:15,160\ncan't solve complexity but we can build\n \n\n2163\n00:41:15,160 --> 00:41:17,950\ncan't solve complexity but we can build\nbetter software uh or to put it in the\n\n2164\n00:41:17,950 --> 00:41:17,960\nbetter software uh or to put it in the\n \n\n2165\n00:41:17,960 --> 00:41:19,950\nbetter software uh or to put it in the\nthe words of cyclist Greg lemand it\n\n2166\n00:41:19,950 --> 00:41:19,960\nthe words of cyclist Greg lemand it\n \n\n2167\n00:41:19,960 --> 00:41:25,990\nthe words of cyclist Greg lemand it\nnever gets easier you just go\n\n2168\n00:41:25,990 --> 00:41:26,000\n\n \n\n2169\n00:41:26,000 --> 00:41:31,119\n\nfaster uh there and that's all"
                ],
                "output": "ArchiveError: Failed to save media",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:45:52.456278+00:00",
                "status": "failed"
            }
        ],
        "mercury": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/postlight-parser",
                    "https://m.youtube.com/watch?v=czzAVuVz7u4"
                ],
                "cmd_version": "2.2.3",
                "end_ts": "2024-11-29T08:45:50.417037+00:00",
                "index_texts": null,
                "output": "mercury/",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:45:46.312514+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/readability-extractor",
                    "/tmp/tmpe2ev4h9_",
                    "https://m.youtube.com/watch?v=czzAVuVz7u4"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2024-11-29T08:45:38.368185+00:00",
                "index_texts": [
                    "Sign in to confirm you\u2019re not a bot\n    This helps protect our community. Learn more"
                ],
                "output": "readability/",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:45:26.242495+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://m.youtube.com/watch?v=czzAVuVz7u4"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2024-11-29T08:45:25.096969+00:00",
                "index_texts": null,
                "output": "Why Can't We Make Simple Software? - Peter van Hardenberg - YouTube",
                "pwd": "/data/archive/1732869886.005835",
                "schema": "ArchiveResult",
                "start_ts": "2024-11-29T08:45:24.736336+00:00",
                "status": "succeeded"
            }
        ],
        "wget": []
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": "https://web.archive.org/web/20241129084607/https://www.youtube.com/watch?app=desktop&v=czzAVuVz7u4",
        "dom": "output.html",
        "favicon": "favicon.ico",
        "git": null,
        "media": "ArchiveError: Failed to save media",
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Why Can't We Make Simple Software? - Peter van Hardenberg - YouTube",
        "warc": null,
        "wget": null
    },
    "link_dir": "/data/archive/1732869886.005835",
    "newest_archive_date": "2024-11-29T08:46:03.214836+00:00",
    "num_failures": 1,
    "num_outputs": 8,
    "oldest_archive_date": "2024-11-29T08:44:47.606015+00:00",
    "path": "/watch",
    "schema": "Link",
    "scheme": "https",
    "snapshot_abid": "snp_01JDVHG42T474FAAF00163MTGP",
    "snapshot_id": "86594ef2-0d58-4582-b1d0-621c4c3a6a16",
    "sources": [
        "/data/sources/1732869884-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1732869886.005835",
    "title": "Why Can't We Make Simple Software? - Peter van Hardenberg - YouTube",
    "url": "https://m.youtube.com/watch?v=czzAVuVz7u4"
}