Files
nexus/sreweekly/articles/241/06-10-days-of-errors.html
2026-09-12 17:23:01 +08:00

47 lines
700 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en-US"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/06a57141b3ff4399-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/1c175694bc1e8ad8-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/415c659d58f62aff-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/751909690a1a74fa-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/8fe56b4ac583f0e1-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a205fd595a9beeab-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c314d5394508c5c7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/cbde3fd2db275844-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/d865ae18e54dcb9c-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/eb42eb886f642af5-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/f5e01691c8be1cce-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" imageSrcSet="https://images.prismic.io/launchdarkly/MWI2ZDE4NmQtYzBkNC00N2U5LWEyYjgtMWE1MmVjYjUyMzUw_202010_10daysoferrors_linkedin2x-1.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2400%2C1254&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/MWI2ZDE4NmQtYzBkNC00N2U5LWEyYjgtMWE1MmVjYjUyMzUw_202010_10daysoferrors_linkedin2x-1.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2400%2C1254&amp;w=3840&amp;fit=max&amp;q=80 2x"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTY1P9HI4UtaI_img-bg--footer-get-demo.svg"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTI1P9HI4UtaH_img-bg--footer-free-trial.svg"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwS41P9HI4UtaG_img-bg--footer-code-control.svg"/><link rel="preload" as="image" href="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwSo1P9HI4UtaF_img-bg--footer-agent-control.svg"/><link rel="stylesheet" href="/_next/static/css/4b895a9a0ceca7ed.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6aeb3fbd013f7055.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/baa31bc0bc2753e2.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b694ee22169cc940.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/455e5680c78aaa64.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/668223e4ce0896ff.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/71e7e41975824f9a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/499e8ecba60a437c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c13c7b31349c3e1e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/eb8c52289887f66e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/76ba66facbc12026.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/61c845f39508ea49.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9506ad2d29f3da93.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c96dfd09a5295fdd.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/ffc1747465c21b7c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a3d1e33a3a179b4c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/ab4a69f65a7a2b93.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/5b017ffd652d07f8.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c2a2739e0e57e14c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0e421a84dd333b11.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f188bfa3f9063907.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f08af977962d892c.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/741f4cf49b054cf0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a05c4c008283c998.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/271699adbe3692a1.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6bcd99eac94adccc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/9860101428a5e484.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/34a11c3f23439233.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b60911417b616c72.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e217cbe846d54f5a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/437c2c516d87ce24.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c240dbaacd91d7b6.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e2768b37f0a7179e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3771f60faaafd2e7.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e22ba8bc372dffa3.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7a4ebd8c71fa9dec.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/42eebaa13cfadd34.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0b0e39f220873667.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f70e0c2fa3894b2b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2a1b94a1fafb21a0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/372992834c739f06.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-6feccfddff7ef52e.js"/><script src="/_next/static/chunks/f5e865f6-f7ce3acdc8f53367.js" async=""></script><script src="/_next/static/chunks/4478-fb3dc47bb56134a0.js" async=""></script><script src="/_next/static/chunks/main-app-21b96efeeed761a7.js" async=""></script><script src="/_next/static/chunks/7503-b90474bdcb57e2a8.js" async=""></script><script src="/_next/static/chunks/7724-f653158a9ba1984f.js" async=""></script><script src="/_next/static/chunks/2151-1b788faaa737d8a8.js" async=""></script><script src="/_next/static/chunks/8149-7f3e93382769fd21.js" async=""></script><script src="/_next/static/chunks/4544-0392fd1bc10fce67.js" async=""></script><script src="/_next/static/chunks/8072-5f4bd0e6a2406823.js" async=""></script><script src="/_next/static/chunks/7950-199b90cf99360b48.js" async=""></script><script src="/_next/static/chunks/6486-65f1afba5f178bdd.js" async=""></script><script src="/_next/static/chunks/4089-4672fdbd787dddc6.js" async=""></script><script src="/_next/static/chunks/5265-7f81f179d2fa0221.js" async=""></script><script src="/_next/static/chunks/685-dc88876e3a3ca418.js" async=""></script><script src="/_next/static/chunks/8941-6bf805c661ac7247.js" async=""></script><script src="/_next/static/chunks/739-f05d34af20af1cd5.js" async=""></script><script src="/_next/static/chunks/4661-d6f876059d7e275f.js" async=""></script><script src="/_next/static/chunks/7550-010a17a69ff132e0.js" async=""></script><script src="/_next/static/chunks/9244-3b918f1b79c82aa2.js" async=""></script><script src="/_next/static/chunks/8687-88b6a1a725cd10c9.js" async=""></script><script src="/_next/static/chunks/8634-33081268eea6ca62.js" async=""></script><script src="/_next/static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js" async=""></script><script src="/_next/static/chunks/app/layout-5d77b524524e53c1.js" async=""></script><script src="/_next/static/chunks/app/not-found-497554e3668544b1.js" async=""></script><link rel="preload" href="https://consent.cookiebot.com/uc.js" as="script"/><link rel="preload" href="https://www.googletagmanager.com/gtm.js?id=GTM-WRKKC89" as="script"/><link rel="expect" href="#_R_" blocking="render"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#FFF"/><title>10 Days of Software Errors: Failure Stories | LaunchDarkly</title><meta name="description" content="Software errors have caused real outages, from Knight Capital&#x27;s $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags."/><meta name="application-name" content="LaunchDarkly"/><meta name="author" content="LaunchDarkly"/><meta name="generator" content="LaunchDarkly"/><meta name="referrer" content="origin-when-cross-origin"/><meta name="creator" content="LaunchDarkly"/><meta name="publisher" content="LaunchDarkly"/><meta name="robots" content="index"/><meta name="googlebot" content="index"/><link rel="canonical" href="https://launchdarkly.com/blog/10-days-of-errors/"/><meta name="format-detection" content="telephone=no, address=no, email=no"/><meta property="og:title" content="10 Days of Software Errors: Failure Stories | LaunchDarkly"/><meta property="og:description" content="Software errors have caused real outages, from Knight Capital&#x27;s $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags."/><meta property="og:url" content="https://launchdarkly.com/blog/10-days-of-errors/"/><meta property="og:site_name" content="LaunchDarkly"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="LaunchDarkly - Feature management platform"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@LaunchDarkly"/><meta name="twitter:title" content="10 Days of Software Errors: Failure Stories | LaunchDarkly"/><meta name="twitter:description" content="Software errors have caused real outages, from Knight Capital&#x27;s $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags."/><meta name="twitter:image" content="https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><meta name="twitter:image:alt" content="LaunchDarkly - Feature management platform"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="96x96"/><link rel="icon" href="/icon.png?8354b0c15ee5b065" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="/apple-icon.png?8354b0c15ee5b065" type="image/png" sizes="96x96"/><script id="cookie-consent-script" data-cookieconsent="ignore">
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("consent", "default", {
ad_storage: "denied",
ad_user_data: "denied",
ad_personalization: "denied",
analytics_storage: "denied",
functionality_storage: "denied",
personalization_storage: "denied",
security_storage: "granted",
wait_for_update: 500,
});
gtag("set", "ads_data_redaction", true);
gtag("set", "url_passthrough", true);
</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_918804 __variable_81b511 __variable_3ebb29 __variable_a7dd04 __variable_479fb2"><script>(self.__next_s=self.__next_s||[]).push(["https://consent.cookiebot.com/uc.js",{"data-cbid":"a9e2be18-730c-4afe-89dc-251a408727a0","data-blockingmode":"auto","type":"text/javascript","data-georegions":"{'region':'AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SK, SI, ES, SE, GB','cbid':'d7afae1f-c20d-4849-be5c-a875c8c184a0'}","id":"cookiebot"}])</script><div class="styles-module__4bne7a__layers"></div><section class="styles-module__NFwUga__newSection styles-module__aO7DCW__aboveMenuBanner "><div class="styles-module__NFwUga__contentContainer styles-module__aO7DCW__aboveMenuBannerContainer"><div><p class="styles-module__J0n02W__variant_textSmallMedium styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_medium">[Hands-on workshop] Managing AI Agents in Production - Sep 17<!-- --> — <a target="_self" tabindex="0" href="/webinars/runtime-labs-managing-ai-agents-in-production-sept-17/">Save my seat</a></p></div><div class="styles-module__aO7DCW__closeButtonContainer"><button type="button" class="styles-module__aO7DCW__closeButton" aria-label="Close banner"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aNWwCp5xUNkB1HlJ_icon--close-white-narrow.svg" alt="" loading="lazy"/></button></div></div></section><a id="home" tabindex="-1"></a><div class="styles-module__EPiYHG__accessibilityMenu"><span class="styles-module__EPiYHG__label">Skip to:</span><nav><ul><li><a href="/" class="styles-module__EPiYHG__link" tabindex="0" title="Skip to Home">Home</a></li><li><a href="#content" class="styles-module__EPiYHG__link" tabindex="0" title="Skip to Content">Content</a></li><li><a href="#footer" class="styles-module__EPiYHG__link" tabindex="0" title="Skip to Footer navigation">Footer navigation</a></li></ul></nav></div><div class="styles-module__stVVvG__refreshDesignNavDock"></div><header class="header-nav oldstyles-module__hgjkrG__header styles-module__stVVvG__header undefined styles-module__stVVvG__useRefreshDesign "><div class="styles-module__stVVvG__refreshDesignNavDockIcons"><div class="styles-module__stVVvG__refreshDesignNavDockBar"></div></div><nav class="oldstyles-module__hgjkrG__nav styles-module__stVVvG__nav " aria-label="Main"><div class="oldstyles-module__hgjkrG__brand styles-module__stVVvG__brand styles-module__stVVvG__useWhiteLogo"><div class="styles-module__stVVvG__brandLogoContainer"><a class="styles-module__SHyKFW__logo oldstyles-module__hgjkrG__brand styles-module__stVVvG__brandLogo" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="nav-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 156 24"><g fill="#fff" clip-path="url(#brand-light_svg__a)"><path d="M9.33 18.729V16.45H2.578V5.272H0v13.457zm6.486-.424q.837-.636 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.488-1.245-1.409-.45-2.286-.45c-.479 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.233c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.851 0 1.542-.212 2.1-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874 2.33 2.33 0 0 1-1.276.371c-.452 0-.824-.106-1.09-.318m13.848 1.642c.585-.503 1.01-1.192 1.276-2.04v2.49h2.499V8.98h-2.498v4.556q0 .993-.319 1.748c-.319.755-.505.927-.904 1.192a2.23 2.23 0 0 1-1.356.424c-.558 0-.983-.159-1.302-.477-.292-.318-.452-.795-.452-1.404V8.98h-2.499v6.093c0 1.272.292 2.225.904 2.914s1.409 1.033 2.445 1.033c.904 0 1.621-.238 2.206-.742m9.011.45v-4.556q0-.993.319-1.748c.319-.755.505-.927.877-1.192.372-.291.824-.424 1.329-.424.558 0 .983.159 1.302.477.292.318.452.795.452 1.404v6.066h2.525v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.595.265-2.18.742-.558.503-.983 1.192-1.276 2.04v-2.49h-2.498v9.748h2.499zm15.257.212a8 8 0 0 0 .904-.212c.292-.079.532-.186.797-.265l.027-2.358c-.399.212-.824.344-1.276.45a6 6 0 0 1-1.356.159c-.665 0-1.249-.132-1.701-.371a2.24 2.24 0 0 1-1.01-1.033 3.25 3.25 0 0 1-.319-1.457 3.34 3.34 0 0 1 .319-1.457c.213-.424.558-.768 1.01-1.033s1.01-.371 1.648-.371a6 6 0 0 1 1.409.159c.452.106.851.265 1.249.45l-.027-2.437c-.292-.106-.558-.212-.824-.265a4.3 4.3 0 0 0-.904-.159 6.3 6.3 0 0 0-1.037-.079c-1.116 0-2.073.238-2.897.689a4.95 4.95 0 0 0-1.914 1.854c-.452.795-.664 1.669-.664 2.676 0 .98.239 1.881.691 2.649a4.65 4.65 0 0 0 1.914 1.801c.824.424 1.781.662 2.871.662.399.026.771 0 1.09-.053zm6.459-.212v-4.556q0-.993.319-1.748c.319-.755.505-.927.904-1.192a2.15 2.15 0 0 1 1.329-.424c.585 0 1.01.159 1.302.477s.452.795.452 1.404v6.066h2.499v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.621.265-2.18.742-.585.503-1.01 1.192-1.276 2.04V5.272h-2.472v13.457zm14.885 0c1.435 0 2.658-.265 3.668-.821a5.6 5.6 0 0 0 2.313-2.331c.532-1.006.797-2.199.797-3.55s-.266-2.543-.797-3.55-1.302-1.801-2.312-2.358-2.233-.821-3.668-.821H67.86v13.457h5.183zm-2.605-2.278v-8.9h2.578c1.302 0 2.313.397 3.03 1.166.744.795 1.09 1.881 1.09 3.285s-.372 2.517-1.09 3.285c-.744.768-1.754 1.165-3.03 1.165h-2.578zm15.922 1.854a4 4 0 0 0 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.489-1.245-1.409-.45-2.286-.45c-.478 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.18c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.824 0 1.489-.212 2.047-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874c-.372.238-.771.344-1.249.344-.452.027-.824-.079-1.116-.291zm11.031 2.093V14.57c0-1.086.239-1.907.691-2.464s1.09-.848 1.861-.848a3.3 3.3 0 0 1 1.037.159v-2.41c-.159-.053-.319-.079-.478-.106s-.346-.026-.532-.026c-.611 0-1.143.212-1.568.636s-.771 1.033-.983 1.775V8.954h-2.499v9.748h2.472v.026zm7.681 0v-3.152l.904-.848 2.924 4h2.977l-4.173-5.695 4.093-4.053h-3.136l-3.562 3.444V5.272h-2.472v13.457zm10.819 0V5.272h-2.499v13.457zm3.827 3.629c.93 0 1.675-.185 2.259-.556s1.064-1.033 1.462-1.96l4.492-10.861h-2.578l-2.631 6.808-2.712-6.808h-2.578l4.014 9.722-.213.503c-.133.318-.292.583-.531.715-.213.159-.559.238-1.011.238h-2.073v2.199zM144.092 24a.56.56 0 0 1-.478-.291c-.08-.185-.08-.371.053-.53l5.662-7.762-9.915 4.027c-.08.027-.133.053-.212.053a.52.52 0 0 1-.505-.371c-.08-.212.026-.45.212-.583l8.719-5.113-15.337-.874a.525.525 0 0 1-.505-.53.52.52 0 0 1 .505-.53l15.337-.874-8.719-5.113c-.186-.132-.292-.371-.212-.583s.265-.371.505-.371c.079 0 .132.026.212.053l9.915 4.026-5.662-7.788c-.106-.159-.133-.371-.053-.53a.5.5 0 0 1 .478-.291c.133 0 .266.053.372.159l11.271 11.205c.159.159.239.397.239.609s-.08.424-.239.609l-11.271 11.232a.53.53 0 0 1-.372.159z"></path></g><defs><clipPath id="brand-light_svg__a"><path fill="#fff" d="M0 0h156v24H0z"></path></clipPath></defs></svg></a></div></div><div class="oldstyles-module__hgjkrG__navInner styles-module__stVVvG__navInner container"><div class="styles-module__stVVvG__navInnerCorner styles-module__stVVvG__refreshDesignNavCurbLeft"><svg xmlns="http://www.w3.org/2000/svg" width="19" height="21" fill="none"><path fill="#212121" d="M19 19C19 8.507 10.493 0 0 0h19z"></path></svg></div><div class="styles-module__stVVvG__navInnerCorner styles-module__stVVvG__refreshDesignNavCurbRight"><svg xmlns="http://www.w3.org/2000/svg" width="19" height="21" fill="none"><path fill="#212121" d="M0 19C0 8.507 8.507 0 19 0H0z"></path></svg></div><div class="oldstyles-module__hgjkrG__mobileButtonsContainer"><a class="button oldstyles-module__hgjkrG__requestDemoMobileButton styles-module__stVVvG__refreshDesignRequestDemoMobileButton" id="main-nav-mobile-request-demo" target="_self" tabindex="0" data-analytics="nav-mobile-get-a-demo" href="/request-a-demo/">Get a demo</a></div><input type="checkbox" id="activate-menu-old" class="oldstyles-module__hgjkrG__mobileBurgerMenu" aria-label="Toggle navigation menu"/><div class="oldstyles-module__hgjkrG__burger undefined"></div><div class="oldstyles-module__hgjkrG__whiteOverlay"><a class="styles-module__SHyKFW__logo" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="nav-mobile-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 156 24"><g fill="#fff" clip-path="url(#brand-light_svg__a)"><path d="M9.33 18.729V16.45H2.578V5.272H0v13.457zm6.486-.424q.837-.636 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.488-1.245-1.409-.45-2.286-.45c-.479 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.233c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.851 0 1.542-.212 2.1-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874 2.33 2.33 0 0 1-1.276.371c-.452 0-.824-.106-1.09-.318m13.848 1.642c.585-.503 1.01-1.192 1.276-2.04v2.49h2.499V8.98h-2.498v4.556q0 .993-.319 1.748c-.319.755-.505.927-.904 1.192a2.23 2.23 0 0 1-1.356.424c-.558 0-.983-.159-1.302-.477-.292-.318-.452-.795-.452-1.404V8.98h-2.499v6.093c0 1.272.292 2.225.904 2.914s1.409 1.033 2.445 1.033c.904 0 1.621-.238 2.206-.742m9.011.45v-4.556q0-.993.319-1.748c.319-.755.505-.927.877-1.192.372-.291.824-.424 1.329-.424.558 0 .983.159 1.302.477.292.318.452.795.452 1.404v6.066h2.525v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.595.265-2.18.742-.558.503-.983 1.192-1.276 2.04v-2.49h-2.498v9.748h2.499zm15.257.212a8 8 0 0 0 .904-.212c.292-.079.532-.186.797-.265l.027-2.358c-.399.212-.824.344-1.276.45a6 6 0 0 1-1.356.159c-.665 0-1.249-.132-1.701-.371a2.24 2.24 0 0 1-1.01-1.033 3.25 3.25 0 0 1-.319-1.457 3.34 3.34 0 0 1 .319-1.457c.213-.424.558-.768 1.01-1.033s1.01-.371 1.648-.371a6 6 0 0 1 1.409.159c.452.106.851.265 1.249.45l-.027-2.437c-.292-.106-.558-.212-.824-.265a4.3 4.3 0 0 0-.904-.159 6.3 6.3 0 0 0-1.037-.079c-1.116 0-2.073.238-2.897.689a4.95 4.95 0 0 0-1.914 1.854c-.452.795-.664 1.669-.664 2.676 0 .98.239 1.881.691 2.649a4.65 4.65 0 0 0 1.914 1.801c.824.424 1.781.662 2.871.662.399.026.771 0 1.09-.053zm6.459-.212v-4.556q0-.993.319-1.748c.319-.755.505-.927.904-1.192a2.15 2.15 0 0 1 1.329-.424c.585 0 1.01.159 1.302.477s.452.795.452 1.404v6.066h2.499v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.621.265-2.18.742-.585.503-1.01 1.192-1.276 2.04V5.272h-2.472v13.457zm14.885 0c1.435 0 2.658-.265 3.668-.821a5.6 5.6 0 0 0 2.313-2.331c.532-1.006.797-2.199.797-3.55s-.266-2.543-.797-3.55-1.302-1.801-2.312-2.358-2.233-.821-3.668-.821H67.86v13.457h5.183zm-2.605-2.278v-8.9h2.578c1.302 0 2.313.397 3.03 1.166.744.795 1.09 1.881 1.09 3.285s-.372 2.517-1.09 3.285c-.744.768-1.754 1.165-3.03 1.165h-2.578zm15.922 1.854a4 4 0 0 0 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.489-1.245-1.409-.45-2.286-.45c-.478 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.18c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.824 0 1.489-.212 2.047-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874c-.372.238-.771.344-1.249.344-.452.027-.824-.079-1.116-.291zm11.031 2.093V14.57c0-1.086.239-1.907.691-2.464s1.09-.848 1.861-.848a3.3 3.3 0 0 1 1.037.159v-2.41c-.159-.053-.319-.079-.478-.106s-.346-.026-.532-.026c-.611 0-1.143.212-1.568.636s-.771 1.033-.983 1.775V8.954h-2.499v9.748h2.472v.026zm7.681 0v-3.152l.904-.848 2.924 4h2.977l-4.173-5.695 4.093-4.053h-3.136l-3.562 3.444V5.272h-2.472v13.457zm10.819 0V5.272h-2.499v13.457zm3.827 3.629c.93 0 1.675-.185 2.259-.556s1.064-1.033 1.462-1.96l4.492-10.861h-2.578l-2.631 6.808-2.712-6.808h-2.578l4.014 9.722-.213.503c-.133.318-.292.583-.531.715-.213.159-.559.238-1.011.238h-2.073v2.199zM144.092 24a.56.56 0 0 1-.478-.291c-.08-.185-.08-.371.053-.53l5.662-7.762-9.915 4.027c-.08.027-.133.053-.212.053a.52.52 0 0 1-.505-.371c-.08-.212.026-.45.212-.583l8.719-5.113-15.337-.874a.525.525 0 0 1-.505-.53.52.52 0 0 1 .505-.53l15.337-.874-8.719-5.113c-.186-.132-.292-.371-.212-.583s.265-.371.505-.371c.079 0 .132.026.212.053l9.915 4.026-5.662-7.788c-.106-.159-.133-.371-.053-.53a.5.5 0 0 1 .478-.291c.133 0 .266.053.372.159l11.271 11.205c.159.159.239.397.239.609s-.08.424-.239.609l-11.271 11.232a.53.53 0 0 1-.372.159z"></path></g><defs><clipPath id="brand-light_svg__a"><path fill="#fff" d="M0 0h156v24H0z"></path></clipPath></defs></svg></a></div><div class="oldstyles-module__hgjkrG__mainNavGroup styles-module__stVVvG__mainNavGroup main-nav-container" id="mainNavigation"><nav aria-label="Main navigation" class="oldstyles-module__hgjkrG__mainNav"><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="platform" data-analytics="nav-platform" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Platform</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
moreStyles-module__udQsYq__dropdown
main-nav-dropdown
platform
styles-module__wa_yaW__dropdown
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="products-wrapper styles-module__9d2Dpq__linksWrapper"><div><div class="products styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-products-codecontrol" href="/platform/code-control/"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>CodeControl</h6><p>Ship confidently, with automated control built in.</p></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-products-agentcontrol" href="/platform/agent-control/"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>AgentControl</h6><p>One place to keep your agent behavior under control.</p></div></div></a></div></div><div class="styles-module__9d2Dpq__bookDemoCta"><a class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime_outline styles-module__d4f9cW__size_default styles-module__9d2Dpq__bookDemoCtaLink" target="_self" tabindex="0" data-analytics="nav-products-book-a-demo" href="/request-a-demo/"><span class="styles-module__d4f9cW__label">Book a demo</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></a></div></div><div class="overview-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">How it works</p><div class="overview styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-platform-overview" href="/how-it-works/platform/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Platform overview</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-feature-flags" href="/how-it-works/feature-flags/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Feature flags</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-observability" href="/how-it-works/observability/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Observability</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-experimentation" href="/how-it-works/experimentation/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Experimentation</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-agent-integrations" href="/how-it-works/agent-integrations/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Agent integrations</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-integrations" href="/integrations/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Integrations</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-overview-architecture" href="/how-it-works/platform-architecture/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Architecture</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div></div></div></div></div></div></div><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="solutions" data-analytics="nav-solutions" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Solutions</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
moreStyles-module__udQsYq__dropdown
main-nav-dropdown
solutions
styles-module__wa_yaW__dropdown
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="by-team-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">By Use Case</p><div class="by-team styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-release-ai-built-code" href="/solutions/release-ai-built-code/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Release AI-built code</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-control-ai-agents" href="/solutions/control-ai-agents/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Control AI agents</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-optimize-ai-performance-cost" href="/solutions/optimize-ai-performance/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Optimize AI performance &amp; cost</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-self-heal-systems" href="/solutions/self-heal-systems/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Self-heal systems</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-team-run-experiments" href="/solutions/run-experiments/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Run experiments</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div><div class="by-industry-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">By Team</p><div class="by-industry styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-ai-engineers" href="/persona/ai-engineers/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>AI engineers</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-developers" href="/persona/development-teams/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Developers</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-devops-sre" href="/persona/devops-site-reliability-engineer-teams/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>DevOps &amp; SRE</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-product-managers" href="/persona/product-managers/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Product managers</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-by-industry-data-scientists" href="/persona/data-scientists/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Data scientists</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div></div></div></div></div></div></div><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="resources" data-analytics="nav-resources" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Resources</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
moreStyles-module__udQsYq__dropdown
main-nav-dropdown
resources
styles-module__wa_yaW__dropdown
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="learn-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Learn</p><div class="learn styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-learn-blog" href="/blog/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Blog</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-learn-guides-ebooks" href="/guides/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Guides &amp; ebooks</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-learn-events-webinars" href="/events-webinars/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Events &amp; webinars</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a href="https://www.youtube.com/@LaunchDarkly" class="styles-module__9d2Dpq__link " target="_blank" tabindex="0" data-analytics="nav-learn-videos" rel="nofollow noreferrer"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Videos</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div><div class="success-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Success</p><div class="success styles-module__9d2Dpq__linksContainer"><!--$?--><template id="B:0"></template><a href="https://academy.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-academy"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Academy</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-customer-stories" href="/customer-stories/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Customer stories</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-professional-services" href="/services/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Professional services</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-partners" href="/partner-program/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Partners</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div><div class="get-help-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Get Help</p><div class="get-help styles-module__9d2Dpq__linksContainer"><!--$?--><template id="B:1"></template><a href="https://support.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-help-center"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Help Center</h6><p>Explore help topics for everything LaunchDarkly.</p></div></div></a><!--/$--><!--$?--><template id="B:2"></template><a href="https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-request-support"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Request support</h6><p>Reach out to us for direct answers to your questions.</p></div></div></a><!--/$--></div></div></div></div></div></div></div></div></div><div class="styles-module__wa_yaW__mainNavParent nav--main-nav-parent"><div class="moreStyles-module__udQsYq__parentNavItem styles-module__wa_yaW__parentNavItem main-nav-parent-nav-item"><div class="moreStyles-module__udQsYq__navItem styles-module__wa_yaW__navItem" id="developers" data-analytics="nav-developers" role="button" tabindex="0"><span class="moreStyles-module__udQsYq__navItemTitle styles-module__wa_yaW__navItemTitle main-nav-title">Developers</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__wa_yaW__mobileCaretClosed "><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="
moreStyles-module__udQsYq__dropdown
main-nav-dropdown
developers
styles-module__wa_yaW__dropdown
"><div class="moreStyles-module__udQsYq__dropdownContainer styles-module__wa_yaW__dropdownContainer main-nav-dropdown-container"><div class="moreStyles-module__udQsYq__linksContainer styles-module__wa_yaW__linksContainer"><div class="styles-module__wa_yaW__linksContainerInner"><div class="resources-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Docs</p><div class="resources styles-module__9d2Dpq__linksContainer"><!--$?--><template id="B:3"></template><a href="https://launchdarkly.com/docs/home" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-docs-home"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Docs home</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><!--$?--><template id="B:4"></template><a href="https://launchdarkly.com/docs/home/getting-started" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-feature-flags-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Feature flags Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><!--$?--><template id="B:5"></template><a href="https://launchdarkly.com/docs/home/agentcontrol/quickstart" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-agentcontrol-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>AgentControl Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><!--$?--><template id="B:6"></template><a href="https://launchdarkly.com/docs/api/" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-api-docs"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>API docs</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--></div></div></div><div class="workflow-wrapper styles-module__9d2Dpq__linksWrapper"><div><p class="styles-module__9d2Dpq__categoryTitle">Resources</p><div class="workflow styles-module__9d2Dpq__linksContainer"><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-product-updates" href="/changelog/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Product Updates</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-power-analysis-calculator" href="/sample-size-calculator/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Power analysis calculator</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--$?--><template id="B:7"></template><a href="https://launchdarkly.com/docs/blog" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-flagship-engineering-blog"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Flagship engineering blog</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a><!--/$--><a class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-community" href="/community/"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Community</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div></div></div></div><div id="developers-dropdown-cta" class="styles-module__SAuuzq__ctaWrapper"><!--$?--><template id="B:8"></template><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__SAuuzq__ctaInner js-primary-button-hover-parent" target="_self" tabindex="0" data-analytics="nav-developers-free-trial"><div class="styles-module__SAuuzq__ctaIconContainer"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover"><img alt="" loading="lazy" width="72" height="72" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&amp;w=96&amp;q=75 1x, /_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&amp;w=256&amp;q=75 2x" src="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&amp;w=256&amp;q=75"/></div></div><div class="styles-module__SAuuzq__ctaTextContainer"><p class="styles-module__SAuuzq__ctaTitle">Take control of your code and agents at runtime.</p><p>Control releases, experiments, and AI behavior in prod.</p></div><div class="styles-module__SAuuzq__ctaButton"><span class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default"><span class="styles-module__d4f9cW__label">Free trial</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></span></div></a><!--/$--></div></div></div></div></div></div><div class="styles-module__stVVvG__pricingWrapper"><div><a class="styles-module__stVVvG__pricingLink styles-module__stVVvG__mobilePricingLink" target="_self" tabindex="0" data-analytics="nav-pricing" href="/pricing/"><span>Pricing</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a></div></div><div class="styles-module__stVVvG__pricingWrapper"><div><!--$?--><template id="B:9"></template><a href="https://app.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__stVVvG__pricingLink styles-module__stVVvG__mobileSignInLink" target="_self" tabindex="0" data-analytics="nav-mobile-sign-in"><span>Sign in</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a><!--/$--></div></div><div class="styles-module__stVVvG__mobileBookDemoWrapper"><div><a class="styles-module__stVVvG__mobileBookDemoLink" target="_self" tabindex="0" data-analytics="nav-mobile-book-a-demo" href="/request-a-demo/"><span>Book a demo</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a></div></div></nav></div></div><div class="oldstyles-module__hgjkrG__mainNavExtra main-nav-extra styles-module__stVVvG__demoRequestButton "><div class="oldstyles-module__hgjkrG__signIn styles-module__stVVvG__signIn"><a class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default oldstyles-module__hgjkrG__requestDemoButton styles-module__stVVvG__requestDemoButton" target="_self" tabindex="0" data-analytics="nav-book-a-demo" href="/request-a-demo/"><span class="styles-module__d4f9cW__label">Book a demo</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></a></div></div></nav></header><div class="styles-module__stVVvG__mainNavOverlay main-nav-overlay"></div><div class="styles-module__ZkjjmG__body styles-module__ZkjjmG__isRefreshDesign"><main class="styles-module__ZkjjmG__main "><section class="styles-module__NFwUga__newSection styles-module__NFwUga__bgLight"><div class="styles-module__NFwUga__contentContainer "><div class="styles-module__xmAU9a__headerBreadcrumbSearchBar styles-module__xmAU9a__noTopPadding"><div class="styles-module__xmAU9a__container"><div class="styles-module__xmAU9a__breadcrumbs"><a target="_self" tabindex="0" href="/blog/">Blog</a><img class="styles-module__xmAU9a__breadcrumbArrow" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5UufJbqstJ992SK_right-arrow-padded.svg" alt="Right arrow" loading="lazy"/><a target="_self" tabindex="0" href="/blog/category/general/">General</a><div class="styles-module__xmAU9a__thirdBreadcrumb"><img class="styles-module__xmAU9a__breadcrumbArrow" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5UufJbqstJ992SK_right-arrow-padded.svg" alt="Right arrow" loading="lazy"/><span class="styles-module__xmAU9a__titleBreadcrumb">10 Days of Errors </span></div></div><div class="styles-module__xmAU9a__barWrapper"><div class="styles-module__xmAU9a__barContainer"><div class="styles-module__xmAU9a__searchBarContainer "><div class="styles-module__xmAU9a__searchBar "><input type="text" placeholder="Search blog" aria-label="Search" value=""/><div class="styles-module__xmAU9a__backspaceIcon styles-module__xmAU9a__hidden"><button type="button" aria-label="Clear search" class="styles-module__xmAU9a__disabled" style="all:unset;cursor:pointer"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5WVkpbqstJ992cY_backspace-icon-blue.svg" alt="" loading="lazy"/></button></div><div class="styles-module__xmAU9a__icon"><img class="styles-module__xmAU9a__search" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5V7fZbqstJ992aX_search-icon-blue.svg" alt="Search icon" loading="lazy"/><img class="styles-module__xmAU9a__close" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/Z5WFMpbqstJ992ai_close-icon.svg" alt="Close icon" loading="lazy"/></div></div></div></div></div></div></div><div class="styles-module__HXqOTa__blogContainer"><div class="styles-module__HXqOTa__header"><div class="styles-module__HXqOTa__content"><p class="styles-module__J0n02W__variant_textXsmallCaps styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_medium">Oct 19, 2020</p><h1 class="styles-module__J0n02W__variant_h3 styles-module__J0n02W__weight_semibold styles-module__HXqOTa__blogTitle">10 Days of Errors </h1><div class="styles-module__HXqOTa__authorContainer"><div class="styles-module__5zAopa__author "><a class="styles-module__5zAopa__authorImage" target="_self" tabindex="0" href="/blog/author/ygrahame/"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image post-details-author-image"><img alt="Yoz Grahame" loading="lazy" width="2000" height="2000" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/0fcf9f9b-a2e7-4858-8106-c8b9509e3d7d_yozGrahame.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C150%2C150&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/0fcf9f9b-a2e7-4858-8106-c8b9509e3d7d_yozGrahame.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C150%2C150&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/0fcf9f9b-a2e7-4858-8106-c8b9509e3d7d_yozGrahame.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C150%2C150&amp;w=3840&amp;fit=max&amp;q=80"/></div></a><div class="styles-module__5zAopa__authorDetails"><a class="styles-module__5zAopa__authorName" target="_self" tabindex="0" href="/blog/author/ygrahame/">Yoz Grahame</a><div class="styles-module__5zAopa__authorJobTitle">LaunchDarkly</div></div></div></div></div><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image styles-module__HXqOTa__featuredImage"><img alt="10 Days of Errors" loading="eager" width="2000" height="1045" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/MWI2ZDE4NmQtYzBkNC00N2U5LWEyYjgtMWE1MmVjYjUyMzUw_202010_10daysoferrors_linkedin2x-1.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2400%2C1254&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/MWI2ZDE4NmQtYzBkNC00N2U5LWEyYjgtMWE1MmVjYjUyMzUw_202010_10daysoferrors_linkedin2x-1.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2400%2C1254&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/MWI2ZDE4NmQtYzBkNC00N2U5LWEyYjgtMWE1MmVjYjUyMzUw_202010_10daysoferrors_linkedin2x-1.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2400%2C1254&amp;w=3840&amp;fit=max&amp;q=80"/></div></div><div class="styles-module__HXqOTa__staticBar"><div id="blog-progress-bar" class="styles-module__lQ92Cq__container"><div class="styles-module__lQ92Cq__progress" style="width:0%"></div></div></div><div class="styles-module__HXqOTa__blogMainContainer"><div class="styles-module__HXqOTa__body"><div class="styles-module__HXqOTa__blogContentWrapper"><article class="blog-post-main-content"><div data-ld-slice-index="0" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md"><em>10 Days of Errors is brought to you by Launchdarkly and our partners at <a href="https://rollbar.com/" target="_blank" tabindex="0" rel="nofollow noreferrer">Rollbar</a>. </em>🦇</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">It&#x27;s finally the time of year we&#x27;ve all been eagerly dreading: spooky season. Where howling bugs lurk in the darkest corners of your code, and tales of fascinating exploits will shake even the toughest Security team. </p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Put away your pumpkin spice lattés and plastic skeletons, because we&#x27;re here to talk about what sends chills down your spine and goes “ERROR: primary database disk full” in the night. Ask not for whom the pager beeps: <em>it beeps for thee.</em></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">To start, we&#x27;ve collected ten terrible tales <a href="https://rollbar.com/blog/10-developer-horror-stories-to-keep-you-up-at-night/" target="_blank" tabindex="0" rel="nofollow noreferrer">over at Rollbar&#x27;s blog</a>. But that&#x27;s just the beginning. We have more blood-curdling bug stories here, and we&#x27;ll be adding them to this post day by day. If you&#x27;ve suffered some horrifying misadventures of your own, let us know on Twitter: use the hashtag <strong>#ErrorHorrorStory</strong>. Pending on how spooktacular they are, we&#x27;ll include them here. 👻 </p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Join us as we spend the next 10 days sharing chilling tales of errors that even Poe himself couldn&#x27;t bear to write....</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md"> </p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day One: The “Howling at the Moon” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Let&#x27;s start with an old but marvelous tale from England. Originally written by someone known only as “Taz”, then forwarded from list to list back in 2002:</p></div></section></div></div><div data-ld-slice-index="1" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The location was a server room, somewhere up on the 4th or 5th floor of an office in Portsmouth (I think it was) by the docks. One day the main Unix DB server fell over. It was rebooted but it happily fell over again and again, so they called out the support company.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">So, the support gadgie – Mark I think his name was, not that it matters – gets there a few hours later. Leeds to Portsmouth, you see… it’s a long way. He switches on the server and everything works without error. Typical bloody support really, client gets upset over naff all. He goes through the log files and finds pretty much nothing that would make the box fall over. Mark then gets back on the train and heads back up to Leeds after a pointless waste of a day.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Later that evening, the server falls over. Exactly the same story… it won’t come back up. Mark goes through all the usual remote support stuff but the client can’t get the server to run.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The pattern continues for a few days. Server working, then after about ten hours it falls over and won’t run for another two hours. They checked the cooling, they checked for memory leaks, they checked everything but came up with nowt. Then it all stopped.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Then, a week without problems. Everybody was happy… until it started again. The same pattern: 10 hours on, 2-3 hours off.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">And then somebody (I seem to remember he said that the person had nothing to do with IT) said:</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">“It’s high tide!”</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Which was met with blank looks and probably a wavering hand over the intercom to Security.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">“It stops working at high tide.”</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">This, it would seem, is a fairly alien concept to IT support staff, who are not likely to be found studying the tide almanac during the coffee breaks. So they explained that it couldn’t be anything to do with the tide, because it was working for a week.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">“Last week was Neaps, this week it’s Springs.”</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Here’s a bit of jargon busting for those of you who don’t have any RYA qualifications. The tides run on a lunar cycle, and you get high tide every 12.5 hours as the Earth turns. But as the moon’s orbit changes, so does the difference in high and low tide. When the moon is between us and the sun or on the opposite side of the planet, we get “Springs”. These are the highest highs, and the lowest lows. When there’s a half moon, we get “Neaps”. The difference between high and low is greatly reduced. The lunar cycle is 28 days, so Springs – Neaps – Springs – Neaps.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Sure enough, they were right. Two weeks previously, a Navy destroyer or something had moored up nearby. Every time the tide got to a certain height, the crow’s nest was in direct line with the floor that the servers were sitting on. It seems that the radar (or radar jamming, or whatever the military have on their toy dinghies) was playing havoc with the computers.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="2" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">It may sound like it was easily resolved, but ask yourself: how likely would you or any of your colleagues have been to make the connection? The thought makes the Brits among us want to hide under the duvet with a hot mug of <a href="https://en.wikipedia.org/wiki/Horlicks" target="_blank" tabindex="0" rel="nofollow noreferrer">Horlicks</a>. And we&#x27;ll never look at the moon in quite the same way again. </p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Two: the “Your Bug Possessed My Printer” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">We&#x27;re used to software crashing, but when a bug makes an incursion into physical reality, it&#x27;s the next level of scary. Imagine this: one day you&#x27;re being a Good Computer User and installing updates -- you know, like you&#x27;re supposed to. In the middle of it all, the device sitting next to you suddenly starts spewing gibberish and malfunctioning as if it was possessed&lt;.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The original version of this story comes from Mark Ferlatte, who  worked with Yoz Grahame, co-author of this post, at Linden Lab - the company that runs the Second Life virtual world. There are enough bizarre bug stories from Second Life to fill a book, but this one doesn&#x27;t involve avatars, digital pets or other mind-boggling virtual distortions. It&#x27;s from the earliest days of the service, back in 2003, and it&#x27;s a miniature tour through the history of personal computing that&#x27;s as wide as it is brief, where a set of old and new technologies worked together in exactly the wrong way.</p></div></section></div></div><div data-ld-slice-index="3" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The Second Life desktop app for Windows had a built-in updater that worked in the simplest way possible: it would download an updater program from a pre-set URL on the Second Life website, save it to the user’s hard drive as updater.exe, and run it.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">One day, for reasons lost in time, requests to that URL returned a 404 Not Found page. Perhaps the server was misconfigured, or the file was deleted… who knows? These things happen to every website. In most situations like this, the user trying to access that page is a human who gets annoyed and does something else, and that’s the end of the story. But when the user is a program, the outcome is less predictable.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">In this case, the desktop app didn’t check what it was getting. It just downloaded the 404 page, saved it as a program updater.exe and ran it. Or rather, it used a system call to tell Windows to run it.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Windows looked at updater.exe and immediately saw that it wasn’t in the standard format for .exe files. But instead of just quitting with an error, this system call decided to try harder. Windows is known for its dedication to legacy support: you can still run programs from back in the MS-DOS days, ones that had the suffix .COM. Unfortunately, this system call didn’t check what it was getting, and ran updater.exe as if it was a .COM program.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Binary data is binary data, and can be interpreted in infinite ways. It seems that – for entirely accidental reasons – when the Second Life website’s 404 page is interpreted as a .COM file, it can be read as a set of instructions to open the computer’s LPT device and yell gibberish into it. Which is what it did.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Those of you old enough to have used MS-DOS may remember that LPT is the route to the printer. Windows, once again, went the extra mile to help legacy DOS software work. It received the gibberish spewed by the 404-page-run-as-a-program, didn’t check what it was getting (you may be sensing a theme here), and helpfully sent it along to whatever printer it knew about.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Fortunately, plenty of printers <em>do</em> check what they’re getting! Unfortunately, that still leaves plenty that don’t, especially if they’re cheap inkjet printers from the 90s. And those printers went <em>wild</em>. In Mark’s own words: “<em>… they would freak out, spew paper, and in one case, <strong>physically break</strong>.</em>”</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="4" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">There are lessons here for us all. If you write software, make sure that it validates its data before attempting to use it. (No, really.) And remember this story the next time that you witness unexplainable behavior in your technology — who knows what ancient spells may have been invoked? 🔮 </p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Three: the “Like It&#x27;s Going Out Of Style” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md"><a href="https://www.etsy.com/" target="_blank" tabindex="0" rel="nofollow noreferrer">Etsy</a> is a magical place for home-grown style. Each seller may only have a few products, but with <a href="https://investors.etsy.com/press-releases/press-release-details/2020/Etsy-Inc.-Reports-Second-Quarter-2020-Financial-Results/default.aspx" target="_blank" tabindex="0" rel="nofollow noreferrer">over 3 million of them</a>, selling to 60 million buyers, that&#x27;s a <em>lot</em> of traffic. Imagine how excited you might be, as a young engineer, to work on such a popular site! Imagine how eagerly you&#x27;d make a change that goes live in your very first week - even if it&#x27;s just a tiny change, like removing some redundant style sheets. Now imagine how you&#x27;d feel if that tiny change brought the whole site down…</p></div></section></div></div><div data-ld-slice-index="5" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">It was a dark and stormy night, and all was still in the Etsy office… save for an eager developer trying to ship a change on their first week at the company. They were deleting a harmless, unused style sheet — originally needed to support the ancient IE6 — and all the files that included it. Tested out on staging, everything looks good! Tests pass! Time to ship it.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">But lo and behold, there was a bug! A race condition on deploy meant that some of the updated pages weren’t deployed properly, and the old versions tried to include the now non-existent CSS file, which threw an error. This wouldn’t have been so bad, except the error page <em>also</em> included the aforementioned, not-so-harmless CSS file. So errors begat errors begat errors, resulting in a hard loop on every Apache process on every box.<!-- --></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The looping Apache processes locked up the servers so hard that they couldn’t be restarted remotely. Some poor Etsy employee had to go to the datacenter and reboot the servers manually.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="6" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Fortunately for the new developer, things turned out fine. Etsy&#x27;s engineering department has <a href="https://qz.com/504661/why-etsy-engineers-send-company-wide-emails-confessing-mistakes-they-made/" target="_blank" tabindex="0" rel="nofollow noreferrer">a positive attitude</a> to learning from <a href="https://www.ryn.works/blog/2017/06/17/on-failure-and-resilience" target="_blank" tabindex="0" rel="nofollow noreferrer">mistakes</a>. They even hand out an annual award for the most surprising error: a three-armed sweater, knitted (of course) by an Etsy seller. I wonder if that poor developer will wear it for Halloween?</p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Four: the “Payments Not Found” error 🤑</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">For Throwback Thursday, this bug comes to you from about 20 years ago, told by someone who wishes to remain anonymous. This particular engineer was new at coding, and didn&#x27;t have a lot of formal training. “Tests are for suckas, my code compiles, so everything works” was the common joke amongst this engineering team. The young engineer followed suit, but still worried about things that might go wrong, especially during testing. Unfortunately, while they were thoughtful about some problems, they forgot to worry about others…</p></div></section></div></div><div data-ld-slice-index="7" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The task was to set up an e-commerce store that sold industrial parts for a mine site, think Grainger catalog, but for civic corporations. The development team came together, split up the tasks and went to work building. Pretty straight forward project; a catalogue of items, authentication and a checkout with credit card. The team finished the project and felt pretty good about it. They shipped it and were proud that the project went so smoothly.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Fast forward 18 months after shipping the website, when a bug was discovered.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The developer was worried about real charges being incurred while the credit card payments were being tested. So their code checked if the environment was set to dev in which case, regardless of the amount calculated at checkout, no actual transactions would be sent to the credit card processor. When the project was shipped, that environment flag was never changed to prod, so even though everything looked good on the customer end for adding items to their cart, checking out and receiving the invoice for the correct amount, the credit card was never charged for the said amount. Instead, it consistently charged the customer a whole amount of ZERO dollars.<!-- --></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">By the time this was discovered, they estimated it was something like 2 million dollars of goods that were shipped and sold, with no payments collected.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="8" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Fortunately for the developer, the company website was primarily selling to other internal companies, so the missing money ended up being mostly an accounting issue. However, you can be sure that they not only learned the value of tests, but of testing the production environment too!</p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Five: the “Black Hole Sun” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">This comes from another LaunchDarkly  Developer Advocate, Dawn Parzych. She wears many hats, one of them being a solution architect. Let&#x27;s dive in to see some of the problems we encounter when working with hardware and software!</p></div></section></div></div><div data-ld-slice-index="9" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">10 years ago, I was working for F5 Networks as a Solution Architect. Our hardware had been deployed at an ISP to improve web performance for mobile users. Every day at approximately the same time the internet stopped working for about 5 minutes, and system processes were restarting. I was sent on-site for the day to troubleshoot. As the day wore on I realized the quick day trip was turning into an overnight. All diagnostic and troubleshooting was showing no problems, the problem occurred at 3am. I had to be on-site to see what was going on.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">A last minute hotel was booked, and I went shopping for a change of clothes. I got a few hours sleep so I could be on-line at the witching hour to see what was wrong. Sure enough as expected, the system failed. Within 5 minutes everything was working again. Everything was fine with the hardware. I went sleuthing on the internet, armed with the timestamps of when the failures were occurring. None of the standard searches were resulting in a solution.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Finally, I had an epiphany! Eureka! With some more in-depth research, I realized the problem. The outages were aligned with reported solar flares in the region. The flares were knocking out satellite connectivity taking our systems offline. When the flare passed the systems came back on-line.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="10" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">We started the 10 Days of Errors with lunar interference, and now we have solar chaos too. Who needs alien invasions when the celestial bodies themselves have it in for us? We hereby request that the universe just <em>calm down a bit.</em> Meanwhile, we&#x27;ll be in our bunker. 👽</p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Six: the “Bad Case of the Mondays” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Friends, we made it through the first five Days of Errors! We hope you had a pleasant weekend, and that you were able to keep the terrifying fragility and unpredictability of software bugs away from your attention for long enough to achieve something resembling <em>relaxation</em>. Or maybe you lost Sunday to helping your kid install twenty-three wildly-conflicting Minecraft mods, followed by a night of fitful dreams filled with Java tracebacks.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Either way, give it up: It&#x27;s Monday again, when we head back to our usual 9-to-5 battles with enterprise technology. This story from <a href="https://kalsey.com/blog/" target="_blank" tabindex="0" rel="nofollow noreferrer">Adam Kalsey</a> seemed appropriate to share. It&#x27;s set a decade ago, back when he was building a worldwide instant messaging service using the XMPP standard. (If you don&#x27;t know what XMPP is, congratulations.)</p></div></section></div></div><div data-ld-slice-index="11" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">As IMified grew, most Monday mornings we’d have an unexplained crash of our core XMPP server. We could see there was lots of network traffic around 9am PST, but it was encrypted and commercial XMPP servers didn’t give tools to analyze at any level of detail.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Solution? We built our own XMPP server to instrument and analyze the traffic. And then we saw the source of the traffic. <em>Presence packets.</em></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">9am PST is a magical time: West Coast workers sign on, East Coasters leave for lunch, Europeans leave work for the day, and finally, it’s bedtime in India. For an instant messaging platform, this is the time when the most people change state around the world.<!-- --></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">So the question remained: <em>why Monday?</em> We got just as many packets other weekdays, but spread over a larger amount of time. Our theory was that people seemed a bit more likely to be on time for work on Mondays. So to help combat this traffic spike, we made our XMPP server fork presence packets to another server that just served a static bit of xml for the XMPP packet. Voila! We were online and available. Always.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="12" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Oh, is he done? Sorry, we went into a fugue state at the first mention of timezones. (A feeling familiar to anyone who&#x27;s had to debug calendaring code.) Mix that up with traffic spikes happening first thing on a Monday morning, and I&#x27;m feeling a dose of terror that beats a triple-espresso. No way are we falling asleep any time soon.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Thank you for the story, Adam. May your Mondays be calmer. ☕️</p></div></section></div></div><div data-ld-slice-index="13" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl"><strong>Day Seven: the “Bucket of Bugs” error</strong></h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Software bugs can be scary, but they’re often funny too. If you want to be thoroughly tickled by logic going haywire, go look at video games. As games have become bigger and more complex, that complexity has produced more and sillier bugs. And when most of that complexity comes from trying to model the real world, the breakage can be <em>hilarious</em>.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">As an example, let’s look at one of the biggest and best known games of the past decade, Bethesda Softworks’ <em>Skyrim</em>. It’s a giant world, packed with all the usual fantasy nonsense like spells and orcs and dragons and buckets. Yes, fantastical buckets. The terrifying complexity of <em>Skyrim</em>’s logic is so wide-ranging that even objects as basic as a bucket find themselves accidentally imbued with <strong>multiple</strong> unintended effects.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The most well known bug involving Skyrim’s buckets isn’t so much a bug in the bucket itself as a side effect of <em>Skyrim</em>’s world modeling. It’s also a valuable lesson in the ways that enhanced realism can cause problems when it’s not implemented evenly.</p></div></section></div></div><div data-ld-slice-index="14" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Computer-controlled characters in video games have behavioral logic so they can react appropriately to player actions. But this reactiveness is deliberately limited so that characters don’t react to <em>everything</em>; they should only react to the kinds of events that real people would react to in real life. Imagine a shopkeeper character: it shouldn’t care about the player moving objects around in the house next door, but it should act when the player takes something from the shop without paying.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">In most games, characters only react to events that occur in their immediate vicinity. More advanced games limit this reactiveness to events that happen <em>in front</em> of the character; this is important in stealth-based games so that players can, for example, sneak quietly behind a guard. For <!-- --><em>Skyrim</em>, Bethesda took this even further: characters react to events which they can see <!-- --><em>with their eyes</em>. It means that characters can turn their heads to notice more events.<!-- --></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Unfortunately, the <em>Skyrim</em> developers didn’t implement the ability for characters to realise when their head is covered with a bucket, put there by a player who knows it’s the easiest way to steal things from shopkeepers:</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="15" data-ld-slice-type="youtube_video"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><div data-ld-slice-index="16" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The other flaw is less famous, but far more suited to a magical world: a specific kind of heavy bucket can make you fly.</p></div></section></div></div><div data-ld-slice-index="17" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">To enjoy this bug: find a heavy bucket. Stand on it, in exactly the right place. Then grab the bucket. Now you’re up, up and away!</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">We couldn’t find a definitive explanation. One speedrunner suggested that it’s caused by the game’s faulty implementation of Newton’s third law of motion. We find that unlikely, but the outcome of this bug is so bizarre that we can’t rule it out entirely.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="18" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Here it is in action:</p></div></section></div></div><div data-ld-slice-index="19" data-ld-slice-type="youtube_video"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><div data-ld-slice-index="20" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">If you want to enjoy these bugs yourself, we’re glad to tell you that they and many others still work even in the latest versions of <em>Skyrim</em> (though probably not in <a href="http://web.archive.org/web/20201202132324/https://www.amazon.com/Bethesda-Game-Studios-Special-Edition/dp/B07D6STSX8" target="_blank" tabindex="0" rel="nofollow noreferrer">the Alexa version</a>). To experience more hilarious video game bugs, we recommend almost any major video game, especially those with development budgets above $50 million. If you want a different kind of challenge, try reading the patch notes for <em><a href="http://web.archive.org/web/20201202132324/https://kotaku.com/pregnant-sims-can-no-longer-brawl-and-other-amazing-sim-1506014739" target="_blank" tabindex="0" rel="nofollow noreferrer">The Sims</a></em> out loud while keeping a straight face. </p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Eight: the “Save the Skating Horses” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Now that we’ve wandered into the many worlds of video games and their hilarious bugs, Yoz insists that we return to <a href="http://web.archive.org/web/20201202132324/https://secondlife.com/" target="_blank" tabindex="0" rel="nofollow noreferrer">Second Life</a>, which we touched on <a href="http://web.archive.org/web/20201202132324//blog/10-days-of-errors/#day2" target="_blank" tabindex="0" rel="nofollow noreferrer">last week</a>. <em>(Yes, it’s hard to locate “last week” in 2020, that’s why we put the link there.)</em></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Unlike most video games, even the big multiplayer ones, Second Life is a giant open virtual world where almost all of the content is created, programmed and sold by its users. Much of that content is surreal enough when it’s functioning <em>correctly</em>. Throw a few bugs into the mix and you get utterly bizarre situations like this one, which happened while Yoz worked at Linden Lab, the company that runs Second Life:</p></div></section></div></div><div data-ld-slice-index="21" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">One of the most valuable product categories in the Second Life (SL) economy is virtual pets. There’s enough profit in selling digital animals and their supplies to sustain several small real-world businesses. Take, for example, the tragic story of Ozimals, a company selling virtual rabbits which met with a messy legal end.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Among the other kinds of virtual pets in SL were Arabian horses. Just like the bunnies, you had to buy them food. (The food is where most of the revenue lives in the virtual pets business. It’s just the Xerox model made weirder.) You’d put the food out, they’d find it and eat it, and some time later they’d want more.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The “find it” part of the previous sentence is key to this story. For the horse to get to the food, they couldn’t just move in a straight line as there might be obstacles in the way. They had algorithms for finding a route around those obstacles and propelling themselves to the food. In video game terminology, this kind of algorithm is known as <em>pathfinding</em>. The SL developer platform now has built-in pathfinding functions which any developer can use, but they were added after this story took place. Back then, the horses used custom pathfinding code written by the horse creator. And, like most code written in SL’s haphazardly-designed scripting language, it wasn’t very good.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">As mentioned earlier, almost all the content in Second Life is created by its users. This includes tens of thousands, maybe hundreds of thousands of unique scripts, embedded in hundreds of millions of virtual objects. These scripts are executed by the underlying platform code, maintained by Linden Lab, and updated constantly. When there are new releases of the SL platform, it isn’t fully tested with all the scripts that content creators write. There are far, far too many to do that.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">One release had a tiny tweak to the physics engine, related to friction of objects moving on the ground. You may guess what’s coming next.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The horse pathfinding logic was using the old friction rules. As soon as the SL region code updated, horses started skating past their food. In some cases, horses living on high-altitude platforms started falling off them. (I imagine them whinnying as they pirouetted into space.)</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">This all seems really comical until you realise how many people owned these horses, and how much they’d spent on them. Within a couple of hours of the code going live, staff realised that user possessions worth tens of thousands of US dollars were being destroyed by a bug. (Yes, US dollars. Not Linden dollars. Just in virtual horses. You have no idea how much the SL economy is <em>still</em> worth.)</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Once the size of the problem was realised, the SL platform release was rolled back. But that still took several hours over the thousands of servers. (No feature flags, see.) So, during the rollback, several dedicated QA engineers stayed up much of the night, saving virtual horses from starving to death.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="22" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">“This is why virtual world bugs fascinate me,” continued Yoz. “Some of them are just <em>amazing</em>.” Then he went on to tell us about a Linden Lab developer who accidentally raised SL’s sea level by 200 metres, which makes our current climate change nightmares look tame. That’s enough for now, thanks. We’ll stick with the horses. </p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Nine: the “Who Put That Code There?” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">We have only a couple of days left, and the last two stories have been more silly than scary. It’s time to change the tone to something more suitable to Halloween, and see if we can raise the hairs on the back of your neck.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">For the past eight days, we’ve only shared true stories. Well, we’re <em>fairly</em> certain that they’re true. Admittedly, some of them took several hops before they reached us. None of us knows “Taz”, who provided the story we shared on day one. There’s a chain of trust involved, just like there is with software.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">That brings us to today’s story, <em><a href="http://web.archive.org/web/20201202132324/https://www.teamten.com/lawrence/writings/coding-machines/" target="_blank" tabindex="0" rel="nofollow noreferrer">Coding Machines</a></em>, which comes from <a href="http://web.archive.org/web/20201202132324/https://www.teamten.com/lawrence/" target="_blank" tabindex="0" rel="nofollow noreferrer">Lawrence Kesteloot</a>. It’s far from the longest story ever written about a software defect (take Ellen Ullman’s magnificent <em><a href="http://web.archive.org/web/20201202132324/https://us.macmillan.com/books/9781250002495" target="_blank" tabindex="0" rel="nofollow noreferrer">The Bug</a></em>, which we highly recommend) but it’s too long to include here. This evening or weekend, set aside half an hour for this deliciously spooky tale and give that spine a good chilling. You can read <a href="http://web.archive.org/web/20201202132324/https://www.teamten.com/lawrence/writings/coding-machines/" target="_blank" tabindex="0" rel="nofollow noreferrer">the whole thing online here</a>, or buy it as <a href="http://web.archive.org/web/20201202132324/https://www.amazon.com/dp/B077WC9FG5" target="_blank" tabindex="0" rel="nofollow noreferrer">an Amazon Kindle book</a>.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">And as for its veracity… we think it’s probably fiction. Probably.</p><h2 class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_heading styles-module__5zGs1G__size_xs styles-module__5zGs1G__weight_medium styles-module__5zGs1G__spacing_bottom_xl">Day Ten: the “$400 million down the drain” error</h2><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">We want to end with a bug that’s <em>huge.</em> It’s gotta be <em>scary</em>. We want to destroy what’s left of your sleeping habits with <em>wide-eyed terror</em>. How better to do that with a tale that checks those boxes so well that it’s known in software history as <strong>Knightmare</strong>. It’s a relatively well known story in financial circles, but given that <a target="_self" tabindex="0" href="/blog/what-are-feature-flags/">feature flags</a> play a starring role, we want to provide our own perspective. Because feature flags are <em>what we do</em>. Plus, we get to revisit concepts seen in earlier stories: “developer mode”, insufficient testing, partial failed deploys, and somehow, virtual environments.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The story concerns Knight Capital, the company that pioneered algorithmic stock trading. They were big and rich and dirty with a machine that printed money. Then, in 2012, that machine turned on its creators and ate them.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">In under 30 minutes, the “Knightmare” bug guzzled over $400 million. It didn’t even chew.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">That’s the punchline. The story’s better.</p></div></section></div></div><div data-ld-slice-index="23" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Back in the mid-90s, two middle-aged finance executives, Kenneth Pasternak and Walter Raquet, saw NASDAQ going digital and said: what if the traders were digital too? What if it was just computers? They could do thousands of trades a minute. </p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">It was 1995 when they founded Knight Trading Group (later renamed to Knight Capital Group) with a bunch of smart engineers and immediately started making <em>ridiculous</em> amounts of money. Within three years they had gone public, their IPO (Initial Public Offering) raising $145 million on top of a market capitalization of $725 million. It took only 18 months for their market capitalization to grow <em>over ten times as big</em>.<!-- --></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">However, those who remember the period know what came next: the dot-com bubble burst, and the Knight Capital rollercoaster ride went screaming downwards. On top of the losses, Knight was caught breaking many stock market regulations and doing naughty things like intercepting customer trades so that the firm could profit off them first.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">As Knight floundered, the founders who oversaw these problems were replaced. Thomas Joyce, an experienced industry leader, took over as CEO and returned the firm to financial success. By 2011 they had a net income of $115 million and over 100 software developers working on Knight’s future: an overhauled, optimised version of its trading systems. The new technology was known as Smart Market Access Routing System (SMARS). When launched, it accelerated Knight Capital’s transactions to thousands of trades <em>per second</em>.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">In 2012, the New York Stock Exchange (NYSE) announced the Retail Liquidity Program (RLP), a new private market for stock trading. The RLP was highly controversial because it would allow big market players to trade for fractions of pennies above or below the displayed prices. For big players, those fractions of pennies would rapidly add up to millions of dollars in profits.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Knight Capital, being a <em>huge</em> player, had to be in the RLP. But first, they had to tweak SMARS to work with the new market. Thanks to the controversy around it, the SEC had taken a while to approve the RLP. When the approval was announced in June 2012, the NYSE followed up with a rapidly approaching launch date: August 1st, 2012. The trading firms had just over a month to prepare.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Knight’s engineers scrambled to make SMARS ready for the RLP. It needed a set of new code to handle the RLP’s rules, which were different from the rest of the NYSE markets. For SMARS to know whether to use the standard NYSE rules or the new RLP rules, they repurposed an existing feature flag that was previously used for some old testing routines. If this flag was enabled, SMARS would know that it was trading on the RLP.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="24" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Okay, hold up a moment. It’s always dangerous to take an existing feature flag and change its purpose. Excuse us if this sounds like advertising, but this is an important lesson in software safety: <em>if it’s easier to repurpose an existing flag than to make a new one, then you need a better feature management system</em>. (If you’re looking, we have a really good one <a href="http://web.archive.org/web/20201202132324//" target="_blank" tabindex="0" rel="nofollow noreferrer">right here</a>. You can make as many new flags as you like without adding any infrastructure or configuration. Okay, advertisement over.)</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">So, these “old testing routines”… what did they do, exactly?</p></div></section></div></div><div data-ld-slice-index="25" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Back when Knight Capital was creating its initial trading algorithms – the ones that gave it such a massive lead in the market – it wanted to test them in a kind of virtual stock exchange; like a video game version of the stock market. But Knight’s own trading algorithms wouldn’t be enough to simulate market activity, because they also wanted to test how the algorithms would fare when the market behaves weirdly. Their virtual market needed<em>other</em>algorithms that would do irrational things. For example, they needed a market player that would buy<em>high</em>and sell<em>low</em>, which is exactly the opposite of what a sensible player would do. They created this exact algorithm and called it <!-- --><strong>Power Peg</strong>.<!-- --></p></div></blockquote></div></figure></section></div><div data-ld-slice-index="26" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">At this point, those familiar with both software engineering and horror stories might guess the next question: was this repurposed feature flag – the one now triggering the RLP rules – previously used to trigger Power Peg?</p></div></section></div></div><div data-ld-slice-index="27" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Yep.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="28" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">So… when the RLP code was linked to the feature flag, did the engineers perform the<em>vital</em>safety step of deleting the Power Peg code?</p></div></section></div></div><div data-ld-slice-index="29" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">They did. However, this deletion happened at the same time as the RLP code was added. Power Peg hadn’t been used since 2003, yet lingered in the code ever since.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="30" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">This is why LaunchDarkly provides the<!--$--><a href="http://web.archive.org/web/20201202132324/https://docs.launchdarkly.com/integrations/code-references" rel="nofollow noopener noreferrer" target="_self" tabindex="0">Code References</a><!--/$-->feature: by telling you exactly where a given flag is used in your codebase, it makes it much easier to eliminate unused, potentially dangerous code. Did they at least test what would happen if Power Peg was accidentally enabled?</p></div></section></div></div><div data-ld-slice-index="31" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Nope.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="32" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Uh oh.</p></div></section></div></div><div data-ld-slice-index="33" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">But in this case, the Power Peg code <em>was</em> eliminated in the new version of SMARS. So as long as the previous version was <em>completely</em> removed from the production servers, there would be no danger of accidentally triggering Power Peg.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The new SMARS code was completed a week before RLP’s launch. Knight deployed the new version of SMARS to its servers. However, Knight’s infrastructure team was still doing deployments manually. The engineer responsible for the deployment had to install the new code across eight servers. <strong>Unfortunately, this engineer missed one of the servers, and it still contained the old code.</strong> Knight’s infrastructure team had no standard process for verifying that code deployments were correct, so nobody noticed.<!-- --></p></div></blockquote></div></figure></section></div><div data-ld-slice-index="34" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Oh no.</p></div></section></div></div><div data-ld-slice-index="35" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Yep.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">At 8:00am on August 1st, SMARS switched on to handle pre-market orders, and immediately started sending automated warning emails to Knight’s engineers. These emails, containing the error message “Power Peg disabled”, should have been enough to warn staff that something was going wrong. But few engineers noticed the emails, and none of them realised the danger.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="36" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Email’s a<em>terrible</em>place for urgent alerts to go. (This is why Rollbar provides <a href="http://web.archive.org/web/20201202132324/https://docs.rollbar.com/docs/notifications" target="_blank" tabindex="0" rel="nofollow noreferrer">notification tools</a> such as integrations with alert systems, special alerts for high occurrence rates, etc.)</p></div></section></div></div><div data-ld-slice-index="37" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">At 9:30am, the new RLP market opened for business. Power Peg, still present on one production server, flew into action and started spending the firm’s money in the stupidest way possible, as fast as possible. Within a couple of minutes it had performed more trades on certain stocks than they would usually see in a month, and the total volume of trading was 12% higher than usual.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">At 9:34am, NYSE engineers investigating the trading spike traced it back to Knight Capital. Knight’s own engineers hadn’t noticed the extent of what was happening; they could see the higher trading volume, but didn’t realise that SMARS was now shoving Knight Capital’s market position into serious debt. Somehow, Power Peg’s activity evaded all their internal alarms other than the aforementioned warning emails, which had still gone unnoticed.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">By 9:45am, Knight’s engineers had looked at the problem, conferred, and leaped into action.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="38" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">They flipped the SMARS kill switch, right?</p></div></section></div></div><div data-ld-slice-index="39" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Nope. SMARS, for some reason,<em>didn’t have a kill switch</em>.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="40" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">But… kill switches are vital! And feature flags make them<em>so easy</em>! So what did they do instead?</p></div></section></div></div><div data-ld-slice-index="41" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">The engineers believed that the dangerous trading was due to the new RLP code. They decided to immediately roll SMARS back to the previous version.</p></div></blockquote></div></figure></section></div><div data-ld-slice-index="42" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Oh no. No no no nooo.</p></div></section></div></div><div data-ld-slice-index="43" data-ld-slice-type="simple_quote"><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote"><figure class="styles-module__n0QSmq__quoteFigure"><svg class="styles-module__n0QSmq__badge" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 72 72" fill="none" aria-hidden="true"><rect width="72" height="72" rx="8" fill="currentColor"></rect><path d="M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z" fill="#F8F8F8"></path></svg><div class="styles-module__n0QSmq__body"><blockquote class="styles-module__n0QSmq__content"><div><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">Yep. Now, all eight servers had Power Peg enabled, churning away, trading as dangerously as possible.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">It wasn’t until 9:58am, that Knight’s engineers finally traced the problem to Power Peg and shut it down. But in that time, it had purchased <strong>$7 billion</strong> worth of shares. By the end of the day, Knight had frantically reduced it to $4.6 billion, but it was still far, far more than Knight were allowed to hold, because they didn’t have the cash to cover it.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">In the end, Knight Capital made a loss of about $440 million on Power Peg’s trades. The company immediately lost most of its biggest clients, its reputation destroyed. Knight was acquired a few months later by a rival trader for less than a third of its previous share price.<!-- --></p></div></blockquote></div></figure></section></div><div data-ld-slice-index="44" data-ld-slice-type="wysiwyg"><div class="wysiwyg styles-module__yVDX7W__wysiwyg "><section class="style-module__REJINa__section style-module__REJINa__spacing_bottom_xl style-module__REJINa__spacing_top_xl section"><div class="wysiwyg-content"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">This story has so many different lessons for engineering teams, it’s hard to count them all. We’ve mainly focused on the ones to do with feature flags and notifications, but there were many others, as listed in <a href="http://web.archive.org/web/20201202132324/https://www.sec.gov/litigation/admin/2013/34-70694.pdf" target="_blank" tabindex="0" rel="nofollow noreferrer">the SEC report</a> on the incident.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md">We hope you’ve enjoyed our 10 Days of Errors, More importantly, we hope we’ve instilled you with the appropriate amount of fear for software disasters. LaunchDarkly and Rollbar won’t prevent you from bringing bugs into this world; the choice to open that demonic portal known as a “code editor” is up to you. However, we <em>can</em> give you far better tools to battle whatever fiends emerge. You can use alerts to prepare for their arrival, send them back to the darkness with the flick of a kill switch, and be all cleaned up well before bedtime. Sweet dreams! </p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md"></p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md"><em>This post was co-authored by Ramon Niebla, Software Engineer at Rollbar.</em></p></div></section></div></div><div class="styles-module__HXqOTa__mobileCta"><h5 class="styles-module__HXqOTa__footerTitle">Like what you read?</h5></div></article></div></div><section class="styles-module__o_kpTq__sidebar"><div class="styles-module__o_kpTq__sidebarNewsletter"><div class="styles-module__yaWGhq__sidebarVersion undefined styles-module__yaWGhq__blogNewsletter "><div class="styles-module__yaWGhq__blogNewsletterSection"><div class="styles-module__yaWGhq__textContent"><img class="styles-module__yaWGhq__newsletterIcon" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aimOzgeQX7-eXLr4_icon-bw--notification.svg" alt="Notification icon" loading="lazy"/><h5 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__weight_medium">Sign up for our newsletter</h5></div><div class="styles-module__yaWGhq__customForm" id="customNewsletterForm"><div class="styles-module__yaWGhq__formElements" id="customNewsletterFormElements"><input id="customNewsletterEmail" type="email" placeholder="Email address" aria-label="Email address" name="email" value=""/><button class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_dark styles-module__d4f9cW__size_default styles-module__yaWGhq__subscribeButton" type="button"><span class="styles-module__d4f9cW__label">Subscribe</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></button><div class="styles-module__WD-Msa__tos sidebar-version-form-tos styles-module__yaWGhq__formTos styles-module__yaWGhq__sidebarVersionFormTos"><p>By supplying my contact information, I authorize LaunchDarkly to contact me with personalized marketing communications about our products and services. See our<!-- --> <a href="https://launchdarkly.com/policies/privacy/">Privacy Policy</a> for more details, or<!-- --> <a href="https://go.launchdarkly.com/UnsubscribePage.html">Opt-Out</a> at any time.</p></div></div><div class="styles-module__yaWGhq__successMessage" id="customNewsletterSuccessMessage"></div></div></div></div></div><div class="styles-module__o_kpTq__shareLinks"><div class="styles-module__o_kpTq__shareContainer"><div class="styles-module__0R691q__showIcons"><div class="styles-module__0R691q__links"><a class="styles-module__0R691q__link" href="https://twitter.com/intent/tweet?url=https://launchdarkly.com/blog/10-days-of-errors/&amp;text=10 Days of Errors " target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/6f9be1a5-6395-4b01-8719-ad43eea49d74_x-icon.svg" alt="Twitter" loading="lazy"/></div></a><a class="styles-module__0R691q__link" href="https://www.facebook.com/sharer/sharer.php?u=https://launchdarkly.com/blog/10-days-of-errors/" target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4f60d7a-48fa-40d5-a192-20fdd835ed40_Facebook.svg" alt="Facebook" loading="lazy"/></div></a><a class="styles-module__0R691q__link" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https://launchdarkly.com/blog/10-days-of-errors/&amp;title=10 Days of Errors " target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/45da01c6-71bd-4533-ae9c-6976ebbc9506_Component+4.svg" alt="LinkedIn" loading="lazy"/></div></a><a class="styles-module__0R691q__link" href="#" target="__blank"><div class="styles-module__0R691q__linkIcon"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b9eae970-9f92-463c-983e-b44918749711_Link.svg" alt="Copy Link" loading="lazy"/></div><div class="styles-module__0R691q__linkClicked ">URL Copied!</div></a></div></div></div></div></section></div><div class="styles-module__HXqOTa__relatedContent"><div class="styles-module__z7oeYG__overflowCardCarousel styles-module__z7oeYG__darkTheme styles-module__z7oeYG__noFlexOnSplide "><div class="styles-module__z7oeYG__header"><div class="styles-module__z7oeYG__titleWithLink"><h3 class="styles-module__J0n02W__variant_h3 styles-module__J0n02W__weight_semibold">Related Content</h3><a class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_outline styles-module__d4f9cW__size_default" target="_self" tabindex="0" href="/blog/category/general/"><span class="styles-module__d4f9cW__label">See all posts on general</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></a></div><div class="styles-module__z7oeYG__arrows"><div class="styles-module__z7oeYG__prev styles-module__z7oeYG__disabled"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><div class="styles-module__z7oeYG__next "><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__z7oeYG__carouselContainer"><div class="styles-module__z7oeYG__spillContainer"><div class="splide"><div class="splide__track"><ul class="splide__list"><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/webinar-using-launchdarkly-feature-flags-in-aws-serverless/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1157" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/7ad77c39-8d8e-46c5-a0a0-63c94af8ed3b_23-5-Webinar+Recap_+How+to+do+Serverless+with+AWS+%2B+LD.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1157&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/7ad77c39-8d8e-46c5-a0a0-63c94af8ed3b_23-5-Webinar+Recap_+How+to+do+Serverless+with+AWS+%2B+LD.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1157&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/7ad77c39-8d8e-46c5-a0a0-63c94af8ed3b_23-5-Webinar+Recap_+How+to+do+Serverless+with+AWS+%2B+LD.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1157&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/webinar-using-launchdarkly-feature-flags-in-aws-serverless/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Webinar: Using LaunchDarkly Feature Flags in AWS Serverless</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/powerschool-migrates-to-aws-with-launchdarkly/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1126" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/2a2d49cc-2101-44b4-b4f2-7663c8c7e9db_23-01-Feature+Flag+Considerations+in+a+Microservice+Architecture.png?auto=compress%2Cformat&amp;rect=0%2C0%2C4000%2C2252&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/2a2d49cc-2101-44b4-b4f2-7663c8c7e9db_23-01-Feature+Flag+Considerations+in+a+Microservice+Architecture.png?auto=compress%2Cformat&amp;rect=0%2C0%2C4000%2C2252&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/2a2d49cc-2101-44b4-b4f2-7663c8c7e9db_23-01-Feature+Flag+Considerations+in+a+Microservice+Architecture.png?auto=compress%2Cformat&amp;rect=0%2C0%2C4000%2C2252&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/powerschool-migrates-to-aws-with-launchdarkly/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">PowerSchool Modernizes its Legacy System with AWS and LaunchDarkly</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/5-reasons-to-attend-software-release-summit/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1126" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/1b0f4709-657b-49df-9837-e6901a4fbd15_LD+Software+Release+Summit-Blog.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/1b0f4709-657b-49df-9837-e6901a4fbd15_LD+Software+Release+Summit-Blog.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/1b0f4709-657b-49df-9837-e6901a4fbd15_LD+Software+Release+Summit-Blog.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/5-reasons-to-attend-software-release-summit/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">5 Reasons to Attend the Software Release Summit</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/experimentation-capabilities-to-the-next-level-with-technology-partners/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1126" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/388f4c40-c31e-4f68-bc73-5e1679eb1ea2_22-06-Actionable+Experimentation.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/388f4c40-c31e-4f68-bc73-5e1679eb1ea2_22-06-Actionable+Experimentation.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/388f4c40-c31e-4f68-bc73-5e1679eb1ea2_22-06-Actionable+Experimentation.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/experimentation-capabilities-to-the-next-level-with-technology-partners/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Taking Our Experimentation Capabilities to the Next Level with Technology Partners</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/black-history-month-2022/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1127" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/9e222457-016a-4c0a-9953-e8979710f52a_BHM.png?auto=compress%2Cformat&amp;rect=0%2C0%2C3998%2C2253&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/9e222457-016a-4c0a-9953-e8979710f52a_BHM.png?auto=compress%2Cformat&amp;rect=0%2C0%2C3998%2C2253&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/9e222457-016a-4c0a-9953-e8979710f52a_BHM.png?auto=compress%2Cformat&amp;rect=0%2C0%2C3998%2C2253&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/black-history-month-2022/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">How We Celebrated Black History Month 2022</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/overcoming-the-fears-of-app-modernization/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1126" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/089658ae-1dc2-4e5a-80bc-a1a5b153ed65_App+modernization.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/089658ae-1dc2-4e5a-80bc-a1a5b153ed65_App+modernization.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/089658ae-1dc2-4e5a-80bc-a1a5b153ed65_App+modernization.png?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1126&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/overcoming-the-fears-of-app-modernization/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Overcoming the Fears of Perpetual App Modernization </span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/celebrating-womens-history-month-2021/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1538" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/b49d8999-f73c-4343-ab24-37d6ded26334_womenshistorymonth.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C5416%2C4165&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/b49d8999-f73c-4343-ab24-37d6ded26334_womenshistorymonth.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C5416%2C4165&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/b49d8999-f73c-4343-ab24-37d6ded26334_womenshistorymonth.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C5416%2C4165&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/celebrating-womens-history-month-2021/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">How We&#x27;ve Been Celebrating Women’s History Month</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/bug-bounty-program/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="Launched: Multi-factor authentication" loading="lazy" width="2000" height="1112" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/MWRjNWEwOTUtZDYyNC00YTcwLWI4OGUtMjg2ZWFhZWFjMGUw_digital-security.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1112&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/MWRjNWEwOTUtZDYyNC00YTcwLWI4OGUtMjg2ZWFhZWFjMGUw_digital-security.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1112&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/MWRjNWEwOTUtZDYyNC00YTcwLWI4OGUtMjg2ZWFhZWFjMGUw_digital-security.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C2000%2C1112&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/bug-bounty-program/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Why We’re Paying You to Hack Us</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/reflections-black-history-month/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="" loading="lazy" width="2000" height="1125" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/20afdd1c-36a9-4c9a-a67f-56bede05c28b_BHM+-+LD+Blog+Post+.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C960%2C540&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/20afdd1c-36a9-4c9a-a67f-56bede05c28b_BHM+-+LD+Blog+Post+.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C960%2C540&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/20afdd1c-36a9-4c9a-a67f-56bede05c28b_BHM+-+LD+Blog+Post+.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C960%2C540&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/reflections-black-history-month/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Reflections on Black History Month at LaunchDarkly</span></a></div></div></li><li class="splide__slide"><div class="styles-module__P4S5fa__wrapper styles-module__P4S5fa__dark styles-module__P4S5fa__isNewBlogStyle"><a class="styles-module__P4S5fa__imageWrapper" target="_self" tabindex="0" href="/blog/my-first-week-at-launchdarkly-has-it-only-been-a-week/"><span class="styles-module__P4S5fa__image"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image"><img alt="My first week at LaunchDarkly...has it only been a week?" loading="lazy" width="2000" height="1333" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly/M2I0ZDhkZDMtOWE2ZC00YjE4LTg4NTUtMGI0NTgwNmEzZGZk_rocket-launch-693236_960_720.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C960%2C640&amp;w=2048&amp;fit=max&amp;q=80 1x, https://images.prismic.io/launchdarkly/M2I0ZDhkZDMtOWE2ZC00YjE4LTg4NTUtMGI0NTgwNmEzZGZk_rocket-launch-693236_960_720.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C960%2C640&amp;w=3840&amp;fit=max&amp;q=80 2x" src="https://images.prismic.io/launchdarkly/M2I0ZDhkZDMtOWE2ZC00YjE4LTg4NTUtMGI0NTgwNmEzZGZk_rocket-launch-693236_960_720.jpg?auto=compress%2Cformat&amp;rect=0%2C0%2C960%2C640&amp;w=3840&amp;fit=max&amp;q=80"/></div></span></a><div class="styles-module__P4S5fa__contentContainer "><div class="styles-module__P4S5fa__categoryEyebrow"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_eyebrow">General</span></div><a class="styles-module__P4S5fa__title" target="_self" tabindex="0" href="/blog/my-first-week-at-launchdarkly-has-it-only-been-a-week/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">My first week at LaunchDarkly...has it only been a week?</span></a></div></div></li></ul></div></div></div></div></div></div></div><div class="styles-module__HXqOTa__newsletterContainer"><div class=" undefined styles-module__yaWGhq__blogNewsletter styles-module__yaWGhq__horizontalVersion"><div class="styles-module__yaWGhq__blogNewsletterSection"><div class="styles-module__yaWGhq__textContent"><img class="styles-module__yaWGhq__newsletterIconHorizontal" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aimnSAeQX7-eXL6I_icon--blog-letter-in-envelop.svg" alt="Letter in envelope icon" loading="lazy"/><h5 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__weight_medium">Sign up for our newsletter</h5><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__weight_regular styles-module__yaWGhq__description">Get all the content, tips, and news you can use.</p><div class="styles-module__WD-Msa__tos full-width-version-form-tos styles-module__yaWGhq__formTos styles-module__yaWGhq__fullWidthVersion"><p>By supplying my contact information, I authorize LaunchDarkly to contact me with personalized marketing communications about our products and services. See our<!-- --> <a href="https://launchdarkly.com/policies/privacy/">Privacy Policy</a> for more details, or<!-- --> <a href="https://go.launchdarkly.com/UnsubscribePage.html">Opt-Out</a> at any time.</p></div></div><div class="styles-module__yaWGhq__customForm" id="customNewsletterForm"><div class="styles-module__yaWGhq__formElements" id="customNewsletterFormElements"><input id="customNewsletterEmail" type="email" placeholder="Email address" aria-label="Email address" name="email" value=""/><button class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_dark styles-module__d4f9cW__size_default styles-module__yaWGhq__subscribeButton" type="button"><span class="styles-module__d4f9cW__label">Subscribe</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></button></div><div class="styles-module__yaWGhq__successMessage" id="customNewsletterSuccessMessage"></div></div></div></div></div><div class="styles-module__HXqOTa__g2BannerContainer"><a class="styles-module__MISuva__blogG2Banner" target="_self" tabindex="0" href="/g2-review/"><div class="styles-module__MISuva__blogG2BannerInner"><div><img class="styles-module__MISuva__blogG2BannerImage" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ainJTAeQX7-eXMEO_icon-bw--growing-up-arrow.svg" alt="Climbing up arrow" loading="lazy"/></div><div class="styles-module__MISuva__blogG2BannerContent"><h4 class="styles-module__J0n02W__variant_h4 styles-module__J0n02W__color_white styles-module__J0n02W__weight_medium">LaunchDarkly Tops G2 Grid for Feature Management</h4></div><div class="styles-module__MISuva__blogG2BannerButton"><button class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default" type="button"><span class="styles-module__d4f9cW__label">Learn more</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></button></div></div></a></div><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","@id":"https://launchdarkly.com/10-days-of-errors/#article","about":[{"@type":"Thing","name":"10 Days of Software Errors: Failure Stories"}],"author":[{"@type":"Person","name":"Yoz Grahame","url":"https://launchdarkly.com/blog/author/ygrahame/"}],"datePublished":"2020-12-03T21:14:20.000Z","dateModified":"2026-07-21T17:08:25.000Z","headline":"10 Days of Software Errors: Failure Stories","description":"Software errors have caused real outages, from Knight Capital's $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags.","image":{"@type":"ImageObject","url":"https://launchdarkly.com/open-graph.jpg"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://launchdarkly.com/10-days-of-errors/#webpage"},"publisher":{"@id":"https://launchdarkly.com/#organization"}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://launchdarkly.com/#organization","name":"LaunchDarkly","legalName":"LaunchDarkly","description":"LaunchDarkly helps teams safely manage code and AI agents in production with feature flags, progressive delivery, automated rollback, and runtime control.","url":"https://launchdarkly.com/","logo":{"@type":"ImageObject","url":"https://launchdarkly.com/schema-icon.png","width":"512","height":"512"},"sameAs":["https://twitter.com/LaunchDarkly","https://www.linkedin.com/company/launchdarkly","https://github.com/launchdarkly"]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","description":"Breadcrumbs list","name":"Breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://launchdarkly.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://launchdarkly.com/blog"},{"@type":"ListItem","position":3,"name":"10 Days of Software Errors: Failure Stories","item":"https://launchdarkly.com/10-days-of-errors/"}]}</script></div></section><section class="styles-module__NFwUga__newSection styles-module__5aVuCq__resources undefined" data-name="Resources"><div class="styles-module__NFwUga__contentContainer "><header class="styles-module__5aVuCq__header"><h3 class="styles-module__J0n02W__variant_h3 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_semibold styles-module__5aVuCq__heading">Resources to get started.</h3></header><ul class="styles-module__5aVuCq__cards"><div class="styles-module__5aVuCq__card undefined"><a class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-check-out-the-blog-" href="/blog/"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Check out the blog.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Blog</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Read about LaunchDarkly news, product updates, and more.</p></div></a></div><div class="styles-module__5aVuCq__card undefined"><!--$?--><template id="B:a"></template><a href="https://launchdarkly.com/docs/home" class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-explore-our-docs-"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Explore our docs.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Docs</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Learn best practices for getting started with LaunchDarkly.</p></div></a><!--/$--></div><div class="styles-module__5aVuCq__card undefined"><a href="https://www.youtube.com/@LaunchDarkly" class="styles-module__5aVuCq__cardLink" target="_blank" tabindex="0" data-analytics="resources-watch-on-demand-" rel="nofollow noreferrer"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Watch on demand.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Videos</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Check out demos and tutorials to see LaunchDarkly in action.</p></div></a></div><div class="styles-module__5aVuCq__card undefined"><a class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-connect-at-events-" href="/events-webinars/"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Connect at events.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Events</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Explore ways to connect with us in person and virtually.</p></div></a></div></ul></div></section></main></div><a id="footer" tabindex="-1"></a><footer class="styles-module__-47ntW__footer " data-theme="dark"><div class="styles-module__-47ntW__footerInnerWrapper"><div class="styles-module__dkQbjG__footerTextMarquee"><div class="splide" extensions="[object Object]"><div class="splide__track"><ul class="splide__list"><li class="splide__slide"><div class="styles-module__dkQbjG__footerTextMarqueeItem"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/afp9m8BOoF08xpZG_icon--rotating-text-star.svg" alt="Star icon" loading="lazy"/><span>Ready to take control in prod?</span></div></li></ul></div></div></div><div class="styles-module__-47ntW__footerInner"><div class="styles-module__-47ntW__footerCards styles-module__-47ntW__footerRow"><div class="styles-module__-47ntW__logo styles-module__-47ntW__firstCol"><a class="styles-module__SHyKFW__logo styles-module__SHyKFW__logoOnly" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="footer-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 39 39"><path fill="#fff" d="M19.843 39c-.3 0-.6-.172-.772-.474-.128-.302-.128-.603.086-.862l9.129-12.626-15.986 6.55c-.129.043-.214.086-.343.086-.386 0-.728-.258-.814-.603-.129-.345.043-.733.343-.948l14.057-8.318L.814 20.383C.3 20.34 0 19.953 0 19.522c0-.388.257-.82.814-.862l24.729-1.422L11.486 8.92c-.3-.215-.472-.603-.343-.948.128-.344.428-.603.814-.603.129 0 .214.043.343.086l15.986 6.55-9.129-12.67c-.171-.258-.214-.602-.086-.861C19.2.172 19.5 0 19.843 0c.214 0 .428.086.6.259l18.171 18.228c.257.259.386.647.386.992 0 .344-.129.689-.386.99L20.443 38.742a.84.84 0 0 1-.6.259"></path></svg></a></div><div class="styles-module__-47ntW__footerCardsContainer styles-module__-47ntW__secondCol"><a class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardGreen" target="_self" tabindex="0" data-analytics="footer-cta-get-a-demo" href="/request-a-demo/"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowGreen"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>Get a demo</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTY1P9HI4UtaI_img-bg--footer-get-demo.svg" alt="Get a demo" loading="eager"/></div></div></a><!--$?--><template id="B:b"></template><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardPurple" target="_self" tabindex="0" data-analytics="footer-cta-free-trial"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowPurple"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>Free trial</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTI1P9HI4UtaH_img-bg--footer-free-trial.svg" alt="Free trial" loading="eager"/></div></div></a><!--/$--><a class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardOrange" target="_self" tabindex="0" data-analytics="footer-cta-codecontrol" href="/platform/code-control/"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowOrange"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>CodeControl</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwS41P9HI4UtaG_img-bg--footer-code-control.svg" alt="CodeControl" loading="eager"/></div></div></a><a class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardBlue" target="_self" tabindex="0" data-analytics="footer-cta-agentcontrol" href="/platform/agent-control/"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowBlue"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>AgentControl</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwSo1P9HI4UtaF_img-bg--footer-agent-control.svg" alt="AgentControl" loading="eager"/></div></div></a></div></div><div class="styles-module__-47ntW__footerRow undefined"><div class="styles-module__-47ntW__firstCol"></div><div class="styles-module__-47ntW__secondCol styles-module__-47ntW__footerLinks"><div class="styles-module__-47ntW__footerLinksColumn styles-module__-47ntW__newsletterColumn"><div class="styles-module__-47ntW__newsletterContainer"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_lg styles-module__5zGs1G__weight_medium">Inboxes love LaunchDarkly.</p><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__-47ntW__newsletterFooterText newsletter-footer-text">Get the latest on controlling code and agents in production, with tips, insights, and updates you can actually use.</p><div class="styles-module__-47ntW__newsletterForm newsletter-footer-mkto-form"><div class="mktoFormWrapper"><form id="mktoForm_2272"></form></div></div></div><div class="styles-module__-47ntW__socialMedia"><div class="styles-module__-47ntW__iconContainer"><a href="https://twitter.com/launchdarkly" target="_blank" tabindex="0" aria-label="twitter" data-analytics="footer-social-twitter" rel="nofollow noreferrer"><img alt="small twitter logo" data-analytics="footer-social-twitter" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4508c29-da0c-4e9b-bcae-205a95a6ba5d_logo--x-twitter.svg?auto=compress,format"/></a><a href="https://www.youtube.com/@LaunchDarkly" target="_blank" tabindex="0" aria-label="YouTube" data-analytics="footer-social-youtube" rel="nofollow noreferrer"><img alt="small YouTube logo" data-analytics="footer-social-youtube" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/276be984-0bd0-44ed-9e32-44a21a0c4fac_icon-youtube.svg"/></a><a href="https://www.linkedin.com/company/launchdarkly/mycompany/" target="_blank" tabindex="0" aria-label="LinkedIn" data-analytics="footer-social-linkedin" rel="nofollow noreferrer"><img alt="small LinkedIn logo" data-analytics="footer-social-linkedin" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b512fb1-6ecc-4e7f-bfe2-368f1a29898b_icon-LinkedIn.svg"/></a><a href="https://discord.com/invite/launchdarklycommunity" target="_blank" tabindex="0" aria-label="Discord" data-analytics="footer-social-discord" rel="nofollow noreferrer"><img alt="small Discord logo" data-analytics="footer-social-discord" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ZpaT7h5LeNNTxNRX_discord-logo-white.svg?auto=compress,format"/></a><a href="https://www.instagram.com/launchdarkly/" target="_blank" tabindex="0" aria-label="Instagram" data-analytics="footer-social-instagram" rel="nofollow noreferrer"><img alt="small Instagram logo" data-analytics="footer-social-instagram" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b8446e4-02c7-468e-bb32-79d0432dd1d0_instagram-icon-small.svg"/></a></div></div></div><div class="styles-module__-47ntW__footerLinksColumns"><div class="styles-module__-47ntW__footerLinksColumn"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm styles-module__5zGs1G__weight_medium styles-module__5zGs1G__textTransform_uppercase styles-module__-47ntW__footerLinksColumnTitle">Company</p><ul><li><a target="_self" tabindex="0" data-analytics="footer-company-about-us" href="/about-us/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">About Us</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-careers" href="/careers/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Careers</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-media-analysts" href="/press-and-analysts/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Media &amp; Analysts</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-partner-program" href="/partner-program/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Partner Program</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-terms-policies" href="/policies/subscription-terms/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Terms &amp; Policies</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-contact-us" href="/contact-us/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Contact Us</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-company-community" href="/community/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Community</span></a></li></ul></div><div class="styles-module__-47ntW__footerLinksColumn"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm styles-module__5zGs1G__weight_medium styles-module__5zGs1G__textTransform_uppercase styles-module__-47ntW__footerLinksColumnTitle">Support</p><ul class="styles-module__-47ntW__footerLinksColumnSupport"><li><!--$--><a href="https://support.launchdarkly.com/" rel="nofollow noopener noreferrer" target="_self" tabindex="0" data-analytics="footer-support-support-home"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Support home</span></a><!--/$--></li><li><a target="_self" tabindex="0" data-analytics="footer-support-professional-services" href="/services/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Professional Services</span></a></li><li><!--$--><a href="https://launchdarkly.com/docs/home" rel="" target="_self" tabindex="0" data-analytics="footer-support-documentation"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Documentation</span></a><!--/$--></li><li><!--$--><a href="https://status.launchdarkly.com/" rel="nofollow noopener noreferrer" target="_self" tabindex="0" data-analytics="footer-support-status"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Status</span></a><!--/$--></li><li><a href="#" data-analytics="footer-support-do-not-sell">Do not Sell or Share my Personal Information</a></li></ul></div><div class="styles-module__-47ntW__footerLinksColumn"><p class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm styles-module__5zGs1G__weight_medium styles-module__5zGs1G__textTransform_uppercase styles-module__-47ntW__footerLinksColumnTitle">Why Us</p><ul><li><a target="_self" tabindex="0" data-analytics="footer-why-us-economic-impact-of-launchdarkly" href="/guides/forrester-tei-report-2026/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Economic Impact of LaunchDarkly</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-how-launchdarkly-works" href="/how-it-works/platform/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">How LaunchDarkly works</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-solutions" href="/solutions/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Solutions</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-trust-security" href="/security/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Trust &amp; Security</span></a></li><li><!--$--><a href="https://trust.launchdarkly.com" rel="nofollow noopener noreferrer" target="_self" tabindex="0" data-analytics="footer-why-us-trust-center"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">Trust Center</span></a><!--/$--></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-launchdarkly-vs-competitors" href="/compare/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">LaunchDarkly vs. Competitors</span></a></li><li><a target="_self" tabindex="0" data-analytics="footer-why-us-launchdarkly-on-aws" href="/solutions/launchdarkly-aws/"><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body">LaunchDarkly on AWS</span></a></li></ul></div></div></div></div><div class="styles-module__-47ntW__footerMobileLogo"><a class="styles-module__SHyKFW__logo" target="_self" tabindex="0" aria-label="LaunchDarkly Home" data-analytics="footer-mobile-logo" href="/"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 156 24"><g fill="#000" clip-path="url(#brand-dark_svg__a)"><path d="M9.33 18.729V16.45H2.578V5.272H0v13.457zm6.486-.424q.837-.636 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.488-1.245-1.409-.45-2.286-.45c-.479 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.233c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.851 0 1.542-.212 2.1-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874 2.33 2.33 0 0 1-1.276.371c-.452 0-.824-.106-1.09-.318m13.848 1.642c.585-.503 1.01-1.192 1.276-2.04v2.49h2.499V8.98h-2.498v4.556q0 .993-.319 1.748c-.319.755-.505.927-.904 1.192a2.23 2.23 0 0 1-1.356.424c-.558 0-.983-.159-1.302-.477-.292-.318-.452-.795-.452-1.404V8.98h-2.499v6.093c0 1.272.292 2.225.904 2.914s1.409 1.033 2.445 1.033c.904 0 1.621-.238 2.206-.742m9.011.45v-4.556q0-.993.319-1.748c.319-.755.505-.927.877-1.192.372-.291.824-.424 1.329-.424.558 0 .983.159 1.302.477.292.318.452.795.452 1.404v6.066h2.525v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.595.265-2.18.742-.558.503-.983 1.192-1.276 2.04v-2.49h-2.498v9.748h2.499zm15.257.212a8 8 0 0 0 .904-.212c.292-.079.532-.186.797-.265l.027-2.358c-.399.212-.824.344-1.276.45a6 6 0 0 1-1.356.159c-.665 0-1.249-.132-1.701-.371a2.24 2.24 0 0 1-1.01-1.033 3.25 3.25 0 0 1-.319-1.457 3.34 3.34 0 0 1 .319-1.457c.213-.424.558-.768 1.01-1.033s1.01-.371 1.648-.371a6 6 0 0 1 1.409.159c.452.106.851.265 1.249.45l-.027-2.437c-.292-.106-.558-.212-.824-.265a4.3 4.3 0 0 0-.904-.159 6.3 6.3 0 0 0-1.037-.079c-1.116 0-2.073.238-2.897.689a4.95 4.95 0 0 0-1.914 1.854c-.452.795-.664 1.669-.664 2.676 0 .98.239 1.881.691 2.649a4.65 4.65 0 0 0 1.914 1.801c.824.424 1.781.662 2.871.662.399.026.771 0 1.09-.053zm6.459-.212v-4.556q0-.993.319-1.748c.319-.755.505-.927.904-1.192a2.15 2.15 0 0 1 1.329-.424c.585 0 1.01.159 1.302.477s.452.795.452 1.404v6.066h2.499v-6.093c0-1.271-.292-2.225-.904-2.914s-1.409-1.033-2.445-1.033c-.877 0-1.621.265-2.18.742-.585.503-1.01 1.192-1.276 2.04V5.272h-2.472v13.457zm14.885 0c1.435 0 2.658-.265 3.668-.821a5.6 5.6 0 0 0 2.313-2.331c.532-1.006.797-2.199.797-3.55s-.266-2.543-.797-3.55-1.302-1.801-2.312-2.358-2.233-.821-3.668-.821H67.86v13.457h5.183zm-2.605-2.278v-8.9h2.578c1.302 0 2.313.397 3.03 1.166.744.795 1.09 1.881 1.09 3.285s-.372 2.517-1.09 3.285c-.744.768-1.754 1.165-3.03 1.165h-2.578zm15.922 1.854a4 4 0 0 0 1.276-1.669v2.093h2.472v-6.49c0-.689-.159-1.325-.505-1.854s-.851-.954-1.489-1.245-1.409-.45-2.286-.45c-.478 0-.957.053-1.409.132a6.4 6.4 0 0 0-1.276.371 6 6 0 0 0-1.09.556l.08 2.305c.611-.397 1.196-.689 1.781-.901s1.223-.318 1.94-.318c.558 0 1.01.133 1.329.397s.478.609.478 1.033v.662h-2.18c-1.329 0-2.366.265-3.136.821s-1.143 1.325-1.143 2.305a3.1 3.1 0 0 0 .372 1.483 2.56 2.56 0 0 0 1.09 1.033c.478.265 1.037.371 1.648.371.824 0 1.489-.212 2.047-.636zm-2.233-1.669a1.08 1.08 0 0 1-.425-.874 1.12 1.12 0 0 1 .585-1.033c.372-.239.957-.371 1.701-.371h1.595v.371c0 .318-.08.636-.266.98a2.35 2.35 0 0 1-.824.874c-.372.238-.771.344-1.249.344-.452.027-.824-.079-1.116-.291zm11.031 2.093V14.57c0-1.086.239-1.907.691-2.464s1.09-.848 1.861-.848a3.3 3.3 0 0 1 1.037.159v-2.41c-.159-.053-.319-.079-.478-.106s-.346-.026-.532-.026c-.611 0-1.143.212-1.568.636s-.771 1.033-.983 1.775V8.954h-2.499v9.748h2.472v.026zm7.681 0v-3.152l.904-.848 2.924 4h2.977l-4.173-5.695 4.093-4.053h-3.136l-3.562 3.444V5.272h-2.472v13.457zm10.819 0V5.272h-2.499v13.457zm3.827 3.629c.93 0 1.675-.185 2.259-.556s1.064-1.033 1.462-1.96l4.492-10.861h-2.578l-2.631 6.808-2.712-6.808h-2.578l4.014 9.722-.213.503c-.133.318-.292.583-.531.715-.213.159-.559.238-1.011.238h-2.073v2.199zM144.092 24a.56.56 0 0 1-.478-.291c-.08-.185-.08-.371.053-.53l5.662-7.762-9.915 4.027c-.08.027-.133.053-.212.053a.52.52 0 0 1-.505-.371c-.08-.212.026-.45.212-.583l8.719-5.113-15.337-.874a.525.525 0 0 1-.505-.53.52.52 0 0 1 .505-.53l15.337-.874-8.719-5.113c-.186-.132-.292-.371-.212-.583s.265-.371.505-.371c.079 0 .132.026.212.053l9.915 4.026-5.662-7.788c-.106-.159-.133-.371-.053-.53a.5.5 0 0 1 .478-.291c.133 0 .266.053.372.159l11.271 11.205c.159.159.239.397.239.609s-.08.424-.239.609l-11.271 11.232a.53.53 0 0 1-.372.159z"></path></g><defs><clipPath id="brand-dark_svg__a"><path fill="#000" d="M0 0h156v24H0z"></path></clipPath></defs></svg></a></div><div class="styles-module__-47ntW__footerRow styles-module__-47ntW__footerBottom"><div class="styles-module__-47ntW__footerBottomLeft"></div><div class="styles-module__-47ntW__footerBottomRight"><a target="_self" tabindex="0" data-analytics="footer-terms-conditions" href="/terms-of-service/">Terms &amp; Conditions</a><a target="_self" tabindex="0" data-analytics="footer-privacy-policy" href="/policies/privacy/">Privacy Policy</a><span class="styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_sm">©<!-- -->2026<!-- --> Catamorphic Co.</span></div></div></div></div></footer><div id="modal" class="styles-module__9Rojna__modal"></div><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack-6feccfddff7ef52e.js" id="_R_" async=""></script><div hidden id="S:0"><a href="https://academy.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-success-academy"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Academy</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><div hidden id="S:1"><a href="https://support.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-help-center"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Help Center</h6><p>Explore help topics for everything LaunchDarkly.</p></div></div></a></div><script>$RC("B:1","S:1")</script><div hidden id="S:2"><a href="https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893" rel="nofollow noopener noreferrer" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-get-help-request-support"><div class="styles-module__9d2Dpq__productLinkInner"><div class="styles-module__9d2Dpq__linkInnerIconContainer"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__9d2Dpq__productLinkTextContainer"><h6>Request support</h6><p>Reach out to us for direct answers to your questions.</p></div></div></a></div><script>$RC("B:2","S:2")</script><div hidden id="S:3"><a href="https://launchdarkly.com/docs/home" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-docs-home"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Docs home</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:3","S:3")</script><div hidden id="S:4"><a href="https://launchdarkly.com/docs/home/getting-started" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-feature-flags-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Feature flags Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:4","S:4")</script><div hidden id="S:5"><a href="https://launchdarkly.com/docs/home/agentcontrol/quickstart" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-agentcontrol-quickstart"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>AgentControl Quickstart</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:5","S:5")</script><div hidden id="S:6"><a href="https://launchdarkly.com/docs/api/" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-resources-api-docs"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>API docs</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:6","S:6")</script><div hidden id="S:7"><a href="https://launchdarkly.com/docs/blog" rel="" class="styles-module__9d2Dpq__link " target="_self" tabindex="0" data-analytics="nav-workflow-flagship-engineering-blog"><div class="styles-module__9d2Dpq__linkWrapper"><div class="styles-module__9d2Dpq__linkIcon"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><span>Flagship engineering blog</span><div class="styles-module__9d2Dpq__arrowIcon"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></a></div><script>$RC("B:7","S:7")</script><div hidden id="S:8"><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__SAuuzq__ctaInner js-primary-button-hover-parent" target="_self" tabindex="0" data-analytics="nav-developers-free-trial"><div class="styles-module__SAuuzq__ctaIconContainer"><div class="styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover"><img alt="" loading="lazy" width="72" height="72" decoding="async" data-nimg="1" class="styles-module__nv1SBG__image" style="color:transparent" srcSet="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&amp;w=96&amp;q=75 1x, /_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&amp;w=256&amp;q=75 2x" src="/_next/image/?url=%2Fimages%2Fai-refresh%2Fnav%2Ftoggle-cta-nav.png&amp;w=256&amp;q=75"/></div></div><div class="styles-module__SAuuzq__ctaTextContainer"><p class="styles-module__SAuuzq__ctaTitle">Take control of your code and agents at runtime.</p><p>Control releases, experiments, and AI behavior in prod.</p></div><div class="styles-module__SAuuzq__ctaButton"><span class="styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default"><span class="styles-module__d4f9cW__label">Free trial</span><span class="styles-module__d4f9cW__arrowBox false"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__d4f9cW__arrow" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></span></span></div></a></div><script>$RC("B:8","S:8")</script><div hidden id="S:9"><a href="https://app.launchdarkly.com/" rel="nofollow noopener noreferrer" class="styles-module__stVVvG__pricingLink styles-module__stVVvG__mobileSignInLink" target="_self" tabindex="0" data-analytics="nav-mobile-sign-in"><span>Sign in</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" class="styles-module__stVVvG__mobilePricingArrow"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></a></div><script>$RC("B:9","S:9")</script><div hidden id="S:a"><a href="https://launchdarkly.com/docs/home" rel="" class="styles-module__5aVuCq__cardLink" target="_self" tabindex="0" data-analytics="resources-explore-our-docs-"><div class="styles-module__5aVuCq__cardMedia"><div class="styles-module__5aVuCq__cardImage styles-module__5aVuCq__aspect16x9"><img alt="" loading="lazy" width="1920" height="1080" decoding="async" data-nimg="1" style="color:transparent" srcSet="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&amp;fit=max&amp;w=1920 1x, https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840 2x" src="https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format%2Ccompress&amp;fit=max&amp;w=3840"/></div><div class="styles-module__5aVuCq__cardButton"><div class="styles-module__5aVuCq__cardArrow"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none" aria-hidden="true"><path fill="currentColor" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div></div></div><div class="styles-module__5aVuCq__cardBody"><h3 class="styles-module__J0n02W__variant_h5 styles-module__J0n02W__color_gray01 styles-module__J0n02W__weight_medium styles-module__J0n02W__fontFamily_sohne styles-module__5aVuCq__cardTitle">Explore our docs.</h3><span class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardEyebrow">Docs</span><p class="styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray02 styles-module__J0n02W__weight_regular styles-module__5aVuCq__cardDescription">Learn best practices for getting started with LaunchDarkly.</p></div></a></div><script>$RC("B:a","S:a")</script><div hidden id="S:b"><a href="https://app.launchdarkly.com/signup" rel="nofollow noopener noreferrer" class="styles-module__-47ntW__footerCard styles-module__-47ntW__cardPurple" target="_self" tabindex="0" data-analytics="footer-cta-free-trial"><div><div class="styles-module__-47ntW__footerCardHeading"><div class="styles-module__-47ntW__footerCardArrow styles-module__-47ntW__cardArrowPurple"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" fill="none"><path fill="#fff" d="M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z"></path></svg></div><h5>Free trial</h5></div></div><div class="styles-module__-47ntW__footerCardImage"><div class="styles-module__-47ntW__footerCardImageInner"></div><div class="styles-module__-47ntW__footerCardImageBg"><img src="https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ajRwTI1P9HI4UtaH_img-bg--footer-free-trial.svg" alt="Free trial" loading="eager"/></div></div></a></div><script>$RC("B:b","S:b")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[9766,[],\"\"]\n4:I[98924,[],\"\"]\n14:I[57150,[],\"\"]\n:HL[\"/_next/static/media/06a57141b3ff4399-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/1c175694bc1e8ad8-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/415c659d58f62aff-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/751909690a1a74fa-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/8fe56b4ac583f0e1-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a205fd595a9beeab-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c314d5394508c5c7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/cbde3fd2db275844-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/d865ae18e54dcb9c-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/eb42eb886f642af5-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/f5e01691c8be1cce-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/4b895a9a0ceca7ed.css\",\"style\"]\n:HL[\"/_next/static/css/6aeb3fbd013f7055.css\",\"style\"]\n:HL[\"/_next/static/css/baa31bc0bc2753e2.css\",\"style\"]\n:HL[\"/_next/static/css/b694ee22169cc940.css\",\"style\"]\n:HL[\"/_next/static/css/455e5680c78aaa64.css\",\"style\"]\n:HL[\"/_next/static/css/668223e4ce0896ff.css\",\"style\"]\n:HL[\"/_next/static/css/71e7e41975824f9a.css\",\"style\"]\n:HL[\"/_next/static/css/499e8ecba60a437c.css\",\"style\"]\n:HL[\"/_next/static/css/c13c7b31349c3e1e.css\",\"style\"]\n:HL[\"/_next/static/css/eb8c52289887f66e.css\",\"style\"]\n:HL[\"/_next/static/css/76ba66facbc12026.css\",\"style\"]\n:HL[\"/_next/static/css/61c845f39508ea49.css\",\"style\"]\n:HL[\"/_next/static/css/9506ad2d29f3da93.css\",\"style\"]\n:HL[\"/_next/static/css/c96dfd09a5295fdd.css\",\"style\"]\n:HL[\"/_next/static/css/ffc1747465c21b7c.css\",\"style\"]\n:HL[\"/_next/static/css/a3d1e33a3a179b4c.css\",\"style\"]\n:HL[\"/_next/"])</script><script>self.__next_f.push([1,"static/css/ab4a69f65a7a2b93.css\",\"style\"]\n:HL[\"/_next/static/css/5b017ffd652d07f8.css\",\"style\"]\n:HL[\"/_next/static/css/c2a2739e0e57e14c.css\",\"style\"]\n:HL[\"/_next/static/css/0e421a84dd333b11.css\",\"style\"]\n:HL[\"/_next/static/css/f188bfa3f9063907.css\",\"style\"]\n:HL[\"/_next/static/css/f08af977962d892c.css\",\"style\"]\n:HL[\"/_next/static/css/741f4cf49b054cf0.css\",\"style\"]\n:HL[\"/_next/static/css/a05c4c008283c998.css\",\"style\"]\n:HL[\"/_next/static/css/271699adbe3692a1.css\",\"style\"]\n:HL[\"/_next/static/css/6bcd99eac94adccc.css\",\"style\"]\n:HL[\"/_next/static/css/9860101428a5e484.css\",\"style\"]\n:HL[\"/_next/static/css/34a11c3f23439233.css\",\"style\"]\n:HL[\"/_next/static/css/b60911417b616c72.css\",\"style\"]\n:HL[\"/_next/static/css/e217cbe846d54f5a.css\",\"style\"]\n:HL[\"/_next/static/css/437c2c516d87ce24.css\",\"style\"]\n:HL[\"/_next/static/css/c240dbaacd91d7b6.css\",\"style\"]\n:HL[\"/_next/static/css/e2768b37f0a7179e.css\",\"style\"]\n:HL[\"/_next/static/css/3771f60faaafd2e7.css\",\"style\"]\n:HL[\"/_next/static/css/e22ba8bc372dffa3.css\",\"style\"]\n:HL[\"/_next/static/css/7a4ebd8c71fa9dec.css\",\"style\"]\n:HL[\"/_next/static/css/42eebaa13cfadd34.css\",\"style\"]\n:HL[\"/_next/static/css/0b0e39f220873667.css\",\"style\"]\n:HL[\"/_next/static/css/f70e0c2fa3894b2b.css\",\"style\"]\n:HL[\"/_next/static/css/2a1b94a1fafb21a0.css\",\"style\"]\n:HL[\"/_next/static/css/372992834c739f06.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"O_3hlC3LSW0FOlOFveGg2\",\"p\":\"\",\"c\":[\"\",\"blog\",\"10-days-of-errors\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"blog\",{\"children\":[[\"uid\",\"10-days-of-errors\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4b895a9a0ceca7ed.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6aeb3fbd013f7055.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/baa31bc0bc2753e2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b694ee22169cc940.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/455e5680c78aaa64.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[\"blog\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"uid\",\"10-days-of-errors\",\"d\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/668223e4ce0896ff.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/71e7e41975824f9a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/499e8ecba60a437c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c13c7b31349c3e1e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/eb8c52289887f66e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"5\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/76ba66facbc12026.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"6\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/61c845f39508ea49.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"7\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9506ad2d29f3da93.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"8\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c96dfd09a5295fdd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"9\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ffc1747465c21b7c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"10\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a3d1e33a3a179b4c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"11\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ab4a69f65a7a2b93.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"12\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5b017ffd652d07f8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"13\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c2a2739e0e57e14c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"14\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0e421a84dd333b11.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"15\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f188bfa3f9063907.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"16\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f08af977962d892c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"17\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/741f4cf49b054cf0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"18\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a05c4c008283c998.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"19\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/271699adbe3692a1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"20\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6bcd99eac94adccc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"21\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9860101428a5e484.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"22\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/34a11c3f23439233.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"23\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b60911417b616c72.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],\"$L6\",\"$L7\",\"$L8\",\"$L9\",\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\",\"$Lf\",\"$L10\",\"$L11\"],\"$L12\"]}],{},null,false]},null,false]},null,false]},null,false],\"$L13\",false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"15:I[24431,[],\"OutletBoundary\"]\n18:I[24431,[],\"ViewportBoundary\"]\n1a:I[24431,[],\"MetadataBoundary\"]\n"])</script><script>self.__next_f.push([1,"1c:I[41402,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"\"]\n"])</script><script>self.__next_f.push([1,"1d:I[8083,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n1f:I[46212,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n6:[\"$\",\"link\",\"24\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e217cbe846d54f5a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n7:[\"$\",\"link\",\"25\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/437c2c516d87ce24.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n8:[\"$\",\"link\",\"26\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c240dbaacd91d7b6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n9:[\"$\",\"link\",\"27\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e2768b37f0a7179e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\na:[\"$\",\"link\",\"28\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3771f60faaafd2e7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nb:[\"$\",\"link\",\"29\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e22ba8bc372dffa3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nc:[\"$\",\"link\",\"30\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a4ebd8c71fa9dec.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nd:[\"$\",\"link\",\"31\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/42eebaa13cfadd34.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\ne:[\"$\",\"link\",\"32\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0b0e39f220873667.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nf:[\"$\",\"link\",\"33\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f70e0c2fa3894b2b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n10:[\"$\",\"link\",\"34\",{\"rel\":\"stylesh"])</script><script>self.__next_f.push([1,"eet\",\"href\":\"/_next/static/css/2a1b94a1fafb21a0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n11:[\"$\",\"link\",\"35\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/372992834c739f06.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n12:[\"$\",\"$L15\",null,{\"children\":[\"$L16\",\"$L17\"]}]\n13:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L18\",null,{\"children\":\"$L19\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L1a\",null,{\"children\":\"$L1b\"}]]}]\n21:T79b,"])</script><script>self.__next_f.push([1,"\n const domainName = document.domain;\n const isStaging = domainName.indexOf('launchdarkly-nextjs.netlify.app') \u003e 0;\n const isLocal = domainName.indexOf('localhost') \u003e= 0;\n if (!isStaging \u0026\u0026 !isLocal) {\n var _0x4f3c3b=_0x28ed;(function(_0x27c1d5,_0x5b7285){var _0x4a3aaf=_0x28ed,_0x50f6dc=_0x27c1d5();while(!![]){try{var _0x25be67=-parseInt(_0x4a3aaf(0x135))/0x1*(-parseInt(_0x4a3aaf(0x12f))/0x2)+-parseInt(_0x4a3aaf(0x13a))/0x3*(-parseInt(_0x4a3aaf(0x12e))/0x4)+parseInt(_0x4a3aaf(0x13f))/0x5+-parseInt(_0x4a3aaf(0x130))/0x6*(parseInt(_0x4a3aaf(0x137))/0x7)+parseInt(_0x4a3aaf(0x131))/0x8+parseInt(_0x4a3aaf(0x139))/0x9+-parseInt(_0x4a3aaf(0x13c))/0xa*(parseInt(_0x4a3aaf(0x13e))/0xb);if(_0x25be67===_0x5b7285)break;else _0x50f6dc['push'](_0x50f6dc['shift']());}catch(_0x1fcfea){_0x50f6dc['push'](_0x50f6dc['shift']());}}}(_0x3a95,0xe2743));if(document[_0x4f3c3b(0x133)]!=_0x4f3c3b(0x13b)\u0026\u0026document[_0x4f3c3b(0x133)]!=_0x4f3c3b(0x136)){var l=location['href'],r=document[_0x4f3c3b(0x132)],m=new Image();location['protocol']=='https:'?m[_0x4f3c3b(0x13d)]=_0x4f3c3b(0x138)+encodeURI(l)+_0x4f3c3b(0x134)+encodeURI(r):m[_0x4f3c3b(0x13d)]='http://a1abbeef2a0f.o3n.io/files/0fuqyu7agr8q60qwy053kyf7f/image.gif?l='+encodeURI(l)+_0x4f3c3b(0x134)+encodeURI(r);}function _0x28ed(_0x47b123,_0x3d6cdb){var _0x3a951d=_0x3a95();return _0x28ed=function(_0x28edc0,_0x280ec2){_0x28edc0=_0x28edc0-0x12e;var _0x1620c4=_0x3a951d[_0x28edc0];return _0x1620c4;},_0x28ed(_0x47b123,_0x3d6cdb);}function _0x3a95(){var _0x130dd2=['57287318YqinYt','6717710lMIlzL','11324COWcrE','67920RoENBP','25998dHkLhN','11230248MZmNRI','referrer','domain','\u0026r=','49PVgtBh','www.launchdarkly.com','1253jAaJlq','https://a1abbeef2a0f.o3n.io/files/0fuqyu7agr8q60qwy053kyf7f/image.gif?l=','13376151BQtzMN','1074XfLrvY','launchdarkly.com','10hIxshK','src'];_0x3a95=function(){return _0x130dd2;};return _0x3a95();}\n }\n "])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en-US\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",\"cookie-consent-script\",{\"id\":\"cookie-consent-script\",\"data-cookieconsent\":\"ignore\",\"dangerouslySetInnerHTML\":{\"__html\":\"\\n window.dataLayer = window.dataLayer || [];\\n function gtag() {\\n dataLayer.push(arguments);\\n }\\n gtag(\\\"consent\\\", \\\"default\\\", {\\n ad_storage: \\\"denied\\\",\\n ad_user_data: \\\"denied\\\",\\n ad_personalization: \\\"denied\\\",\\n analytics_storage: \\\"denied\\\",\\n functionality_storage: \\\"denied\\\",\\n personalization_storage: \\\"denied\\\",\\n security_storage: \\\"granted\\\",\\n wait_for_update: 500,\\n });\\n gtag(\\\"set\\\", \\\"ads_data_redaction\\\", true);\\n gtag(\\\"set\\\", \\\"url_passthrough\\\", true);\\n \"}}]]}],[\"$\",\"body\",null,{\"className\":\"__variable_918804 __variable_81b511 __variable_3ebb29 __variable_a7dd04 __variable_479fb2\",\"children\":[[[\"$\",\"$L1c\",\"cookiebot\",{\"id\":\"cookiebot\",\"strategy\":\"beforeInteractive\",\"src\":\"https://consent.cookiebot.com/uc.js\",\"data-cbid\":\"a9e2be18-730c-4afe-89dc-251a408727a0\",\"data-blockingmode\":\"auto\",\"type\":\"text/javascript\",\"data-georegions\":\"{'region':'AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SK, SI, ES, SE, GB','cbid':'d7afae1f-c20d-4849-be5c-a875c8c184a0'}\"}],[\"$\",\"$L1c\",\"gtm-init\",{\"id\":\"gtm-init\",\"strategy\":\"afterInteractive\",\"data-cookieconsent\":\"ignore\",\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function(w,l){\\n w[l]=w[l]||[];\\n w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});\\n })(window,'dataLayer');\\n \"}}],[\"$\",\"$L1c\",\"gtm\",{\"id\":\"gtm\",\"strategy\":\"afterInteractive\",\"data-cookieconsent\":\"ignore\",\"src\":\"https://www.googletagmanager.com/gtm.js?id=GTM-WRKKC89\"}]],[\"$\",\"div\",null,{\"className\":\"styles-module__4bne7a__layers\"}],[\"$\",\"$L1d\",null,{}],\"$L1e\",[\"$\",\"$L1f\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L20\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c13c7b31349c3e1e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/71e7e41975824f9a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/76ba66facbc12026.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9506ad2d29f3da93.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1644807d4ece19b2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"div\",null,{\"id\":\"modal\",\"className\":\"styles-module__9Rojna__modal\"}],[[\"$\",\"$L1c\",\"canaryScript\",{\"id\":\"canaryScript\",\"strategy\":\"afterInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"$21\"}}]],\"$L22\"]}]]}]\n"])</script><script>self.__next_f.push([1,"23:I[1254,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"24:I[79931,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"26:I[15667,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"4345\",\"static/chunks/app/not-found-497554e3668544b1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"27:I[27903,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"PrismicNextImage\"]\n"])</script><script>self.__next_f.push([1,"28:I[55265,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"22:[\"$\",\"$L23\",null,{}]\n"])</script><script>self.__next_f.push([1,"20:[[\"$\",\"$L24\",null,{\"document\":\"$undefined\"}],\"$L25\",[\"$\",\"main\",null,{\"className\":\" styles-module__llGG9q__main \",\"children\":[[\"$\",\"$L26\",null,{}],[\"$\",\"section\",null,{\"className\":\"styles-module__NFwUga__newSection styles-module__NFwUga__bgBlack styles-module__o0Pm3W__notFoundMain\",\"id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-jump-id\":\"$undefined\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__NFwUga__contentContainer styles-module__o0Pm3W__container\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L27\",null,{\"field\":{\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aixLLKlQnVZVETT4_img-bg--pink-cloud.png?auto=format,compress\",\"alt\":\"Pink Cloud background\",\"dimensions\":{\"width\":1920,\"height\":1080}},\"className\":\"styles-module__o0Pm3W__pinkCloud\",\"quality\":\"$undefined\",\"sizes\":\"$undefined\",\"alt\":\"$undefined\",\"fallbackAlt\":\"\",\"priority\":\"$undefined\",\"placeholder\":\"$undefined\",\"fill\":\"$undefined\",\"loading\":\"lazy\"}],[\"$\",\"div\",null,{\"className\":\"styles-module__o0Pm3W__contentContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__o0Pm3W__content\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"styles-module__J0n02W__variant_h1 styles-module__J0n02W__weight_bold styles-module__o0Pm3W__title\",\"children\":\"Oops, we seem to be hallucinating.\"}],[\"$\",\"p\",null,{\"className\":\"styles-module__J0n02W__variant_textMain styles-module__J0n02W__paragraph styles-module__J0n02W__weight_regular styles-module__o0Pm3W__description\",\"children\":\"Sorry about the 404 error, but this page doesn't exist.\"}],[\"$\",\"$L28\",null,{\"className\":\"styles-module__d4f9cW__button styles-module__d4f9cW__variant_light styles-module__d4f9cW__size_default\",\"style\":\"$undefined\",\"href\":\"/\",\"onClick\":\"$undefined\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"eventName\":\"$undefined\",\"trackingId\":\"$undefined\",\"analyticsId\":\"$undefined\",\"persistExternalQueryParams\":\"$undefined\",\"children\":[[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__label\",\"children\":\"Return home\"}],[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__arrowBox false\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":12,\"fill\":\"none\",\"className\":\"styles-module__d4f9cW__arrow\",\"aria-hidden\":\"true\",\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M11.283 11.714c.14-3.008 1.827-4.8 4.336-5.035V5.014C13.11 4.78 11.423 3.01 11.283 0L9.416.427A6 6 0 0 0 10.48 3.35c.622.853 1.325 1.408 2.128 1.664H0V6.68h12.608c-.803.256-1.506.81-2.128 1.685a6 6 0 0 0-1.064 2.902z\"}]}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__o0Pm3W__videoContainer\",\"children\":[\"$\",\"video\",null,{\"autoPlay\":true,\"muted\":true,\"loop\":true,\"playsInline\":true,\"children\":[\"$\",\"source\",null,{\"src\":\"https://launchdarkly.cdn.prismic.io/launchdarkly/aixHeKlQnVZVETS0_AI-Bert_Dizzy_1080-vp9-chrome.webm\",\"type\":\"video/webm\"}]}]}]]}]]}]}]]}],\"$L29\"]\n"])</script><script>self.__next_f.push([1,"19:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#FFF\"}]]\n16:null\n"])</script><script>self.__next_f.push([1,"2a:I[78006,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"7177\",\"static/chunks/app/layout-5d77b524524e53c1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2b:I[17143,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2c:I[57947,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"$L2a\",null,{\"show\":true,\"cookieKey\":\"runtime-labs-workshop-09172026\",\"content\":\"[Hands-on workshop] Managing AI Agents in Production - Sep 17\",\"ctaText\":\"Save my seat\",\"ctaLink\":\"https://launchdarkly.com/webinars/runtime-labs-managing-ai-agents-in-production-sept-17/\"}]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"$L2b\",null,{\"navigationDocument\":{\"id\":\"Z8jwdRIAACIAchAL\",\"uid\":null,\"url\":null,\"type\":\"main_navigation\",\"href\":\"https://launchdarkly-marketingsite.cdn.prismic.io/api/v2/documents/search?ref=aqQbiREAACwA_PkJ\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22Z8jwdRIAACIAchAL%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2025-03-06T23:22:48+0000\",\"last_publication_date\":\"2026-08-12T21:50:57+0000\",\"slugs\":[\"main-navigation\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"products_group\":[{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEidWJ-7kSC2w_icon--guarded-release-x24.svg\",\"id\":\"aCQJEidWJ-7kSC2w\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZkT8yxcAACQAayzv\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"eb9e562d-4750-4567-8060-b0378a8012b7\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guarded Releases\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Monitor and de-risk.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJESdWJ-7kSC2v_icon--experimentation-x24.svg\",\"id\":\"aCQJESdWJ-7kSC2v\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZS3e3xAAACYArUv0\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"859b7068-0b26-4b9b-be95-730781ae8e60\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make data-driven decisions.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aYTW2d0YXLCxVdmZ_observability-icon-pink-gradient.svg\",\"id\":\"aYTW2d0YXLCxVdmZ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aXzdMhEAACEAbMS3\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"a6113607-80f4-45f3-9d88-a7f9cd5474ad\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Detect, diagnose, and recover.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEydWJ-7kSC2x_icon--release-management-x24.svg\",\"id\":\"aCQJEydWJ-7kSC2x\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZK7UUREAACQAMsBn\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"bd2dad2e-cc7c-47a4-9c6b-d14e00a62722\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature Flags\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Scale great release processes.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"release-management\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJECdWJ-7kSC2u_icon--ai-x24.svg\",\"id\":\"aCQJECdWJ-7kSC2u\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aScrdxIAACUA_zBM\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"e1c3e064-69c5-4a8a-9e6d-d47afa6f9a84\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI Configs\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make innovative AI products.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"ai\",\"spans\":[],\"direction\":\"ltr\"}]}],\"overview_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format,compress\",\"id\":\"agwNv6YofJOwHWkd\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT1iRIAACMAW09R\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"the-runtime-control-layer-for-the-ai-era.\",\"first_publication_date\":\"2026-05-13T22:07:57+0000\",\"last_publication_date\":\"2026-07-29T17:52:40+0000\",\"uid\":\"how-it-works.platform\",\"url\":\"/how-it-works.platform/\",\"link_type\":\"Document\",\"key\":\"cb51a2ac-66b9-445c-add5-1bfd126fdaf1\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Platform overview\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format,compress\",\"id\":\"agpNAKYofJOwHTuE\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agJOJRIAACMAV0KE\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"feature-flags-for-real-time-control-in-production.\",\"first_publication_date\":\"2026-05-11T23:18:47+0000\",\"last_publication_date\":\"2026-07-09T17:32:44+0000\",\"uid\":\"how-it-works.feature-flags\",\"url\":\"/how-it-works.feature-flags/\",\"link_type\":\"Document\",\"key\":\"5b39f1f4-c3e9-4985-a6f4-09d007cdc71a\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format,compress\",\"id\":\"agpNA6YofJOwHTuH\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agUqVRIAACEAW5iJ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"observe-at-the-scale-that-you\",\"first_publication_date\":\"2026-05-14T02:28:03+0000\",\"last_publication_date\":\"2026-07-16T18:41:10+0000\",\"uid\":\"how-it-works.observability\",\"url\":\"/how-it-works.observability/\",\"link_type\":\"Document\",\"key\":\"fb0b6ba7-0f91-4639-a80e-a08103edd108\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format,compress\",\"id\":\"agpM_6YofJOwHTuD\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT6fRIAAI1IW1Zl\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"optimize-at-the-speed-that-you\",\"first_publication_date\":\"2026-05-13T23:15:56+0000\",\"last_publication_date\":\"2026-08-12T00:12:40+0000\",\"uid\":\"how-it-works.experimentation\",\"url\":\"/how-it-works.experimentation/\",\"link_type\":\"Document\",\"key\":\"026bc403-ba2c-4c10-a9a7-28dc7beb9c0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format,compress\",\"id\":\"agpM_qYofJOwHTuC\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agPiLhIAACEAWZ_F\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"Agent Integration\"],\"lang\":\"en-us\",\"slug\":\"go-agent-native-from-day-1.\",\"first_publication_date\":\"2026-05-13T03:45:19+0000\",\"last_publication_date\":\"2026-07-02T20:40:47+0000\",\"uid\":\"how-it-works.agent-integrations\",\"url\":\"/how-it-works.agent-integrations/\",\"link_type\":\"Document\",\"key\":\"96423778-717a-4a35-b3d1-2966c0f15a99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Agent integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format,compress\",\"id\":\"agpNAqYofJOwHTuG\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agXnzxIAAGfYXLYC\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"integrations\",\"first_publication_date\":\"2026-05-14T15:21:28+0000\",\"last_publication_date\":\"2026-05-19T04:39:17+0000\",\"uid\":\"integrations\",\"url\":\"/integrations/\",\"link_type\":\"Document\",\"key\":\"ac21f49d-de49-4c8f-9cab-03ff74f3aeae\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format,compress\",\"id\":\"agpNAaYofJOwHTuF\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agstuhIAAGVsZG8v\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"platform architecture\"],\"lang\":\"en-us\",\"slug\":\"built-for-runtime-control-at-scale.\",\"first_publication_date\":\"2026-05-18T15:48:56+0000\",\"last_publication_date\":\"2026-05-20T21:04:24+0000\",\"uid\":\"how-it-works.platform-architecture\",\"url\":\"/how-it-works.platform-architecture/\",\"link_type\":\"Document\",\"key\":\"654903e7-c950-4ee9-ad8d-28ced3798a0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Architecture\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_team_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format,compress\",\"id\":\"agpOrqYofJOwHTuK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZggxIAAGfYXWgr\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-coded-it-but-you-own-it-in-production.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T23:57:25+0000\",\"last_publication_date\":\"2026-07-15T15:24:08+0000\",\"uid\":\"solutions.release-ai-built-code\",\"url\":\"/solutions.release-ai-built-code/\",\"link_type\":\"Document\",\"key\":\"89e8e1ad-db87-4479-aeec-83186124bc80\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Release AI-built code\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format,compress\",\"id\":\"agpOrKYofJOwHTuI\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVNRxIAACEAW8p2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"agents-make-decisions-you-own-the-results.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T04:20:19+0000\",\"last_publication_date\":\"2026-07-15T15:24:56+0000\",\"uid\":\"solutions.control-ai-agents\",\"url\":\"/solutions.control-ai-agents/\",\"link_type\":\"Document\",\"key\":\"c8ca2188-6dd5-4f79-b127-b32bd5afcc49\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Control AI agents\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format,compress\",\"id\":\"agpOraYofJOwHTuJ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZehRIAACEAXWU6\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-guessing.-optimize-model-performance-and-cost-in-real-time.\",\"first_publication_date\":\"2026-05-14T23:47:53+0000\",\"last_publication_date\":\"2026-07-15T15:25:55+0000\",\"uid\":\"solutions.optimize-ai-performance\",\"url\":\"/solutions.optimize-ai-performance/\",\"link_type\":\"Document\",\"key\":\"57b0c941-034c-46e0-80ef-722178945659\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Optimize AI performance \u0026 cost\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format,compress\",\"id\":\"agpOsKYofJOwHTuM\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVxxxIAAI1IW_7K\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-responding-and-automatically-fix-problems-in-production.\",\"first_publication_date\":\"2026-05-14T07:01:00+0000\",\"last_publication_date\":\"2026-07-07T00:03:00+0000\",\"uid\":\"solutions.self-heal-systems\",\"url\":\"/solutions.self-heal-systems/\",\"link_type\":\"Document\",\"key\":\"a777ddee-a6f5-485b-8cb0-df55680e5bd3\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Self-heal systems\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format,compress\",\"id\":\"agpOr6YofJOwHTuL\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZhwBIAACMAXWoU\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"experiment-at-ai-scale-without-losing-control.\",\"first_publication_date\":\"2026-05-15T00:01:50+0000\",\"last_publication_date\":\"2026-07-15T15:28:25+0000\",\"uid\":\"solutions.run-experiments\",\"url\":\"/solutions.run-experiments/\",\"link_type\":\"Document\",\"key\":\"0c20b758-07ba-4180-9002-028f2eb0c933\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Run experiments\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_industry_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format,compress\",\"id\":\"agpQmaYofJOwHTuS\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"af-1HRIAACEAU2aQ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"AI Engineer\"],\"lang\":\"en-us\",\"slug\":\"agents-break-in-production.-thats-where-control-matters.\",\"first_publication_date\":\"2026-05-09T23:06:03+0000\",\"last_publication_date\":\"2026-05-20T21:03:40+0000\",\"uid\":\"persona.ai-engineers\",\"url\":\"/persona.ai-engineers/\",\"link_type\":\"Document\",\"key\":\"fe8f38e4-584c-451d-b926-af442c252bea\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI engineers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format,compress\",\"id\":\"agpQmqYofJOwHTuT\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaOnBIAACMAXamc\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"development teams\"],\"lang\":\"en-us\",\"slug\":\"ship-faster.-stay-in-control.-fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-27T20:30:26+0000\",\"uid\":\"persona.development-teams\",\"url\":\"/persona.development-teams/\",\"link_type\":\"Document\",\"key\":\"dc747045-cd9a-4d86-aec3-d00c036dff99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Developers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format,compress\",\"id\":\"agpQm6YofJOwHTuU\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaRwhIAAGfYXa5B\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"devops\"],\"lang\":\"en-us\",\"slug\":\"prevent-incidents.fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-18T18:21:56+0000\",\"uid\":\"persona.devops-site-reliability-engineer-teams\",\"url\":\"/persona.devops-site-reliability-engineer-teams/\",\"link_type\":\"Document\",\"key\":\"95bbe00c-5ed4-4caf-a18e-830cfa416ced\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"DevOps \u0026 SRE\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format,compress\",\"id\":\"agpQnaYofJOwHTuW\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaJuhIAAGfYXaJy\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"product managers\"],\"lang\":\"en-us\",\"slug\":\"launch-confidently.-learn-what-works.-improve-continuously.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-05-19T01:10:37+0000\",\"uid\":\"persona.product-managers\",\"url\":\"/persona.product-managers/\",\"link_type\":\"Document\",\"key\":\"aaa44826-4691-462b-a8a1-acc80ad8fbdb\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product managers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format,compress\",\"id\":\"8Rpfg-gh7BMefouu\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"alem8REAACwAC87h\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"data scientists\"],\"lang\":\"en-us\",\"slug\":\"run-experiments-you-can-actually-trust.\",\"first_publication_date\":\"2026-07-15T18:45:45+0000\",\"last_publication_date\":\"2026-07-17T19:14:06+0000\",\"uid\":\"persona.data-scientists\",\"url\":\"/persona.data-scientists/\",\"link_type\":\"Document\",\"key\":\"f7bf52f5-fab6-4ea1-9d9c-e319463a6190\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Data scientists\",\"spans\":[],\"direction\":\"ltr\"}]}],\"learn_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format,compress\",\"id\":\"agpSN6YofJOwHTud\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"9ad95dc9-c5ec-4aab-ac8a-7b7405aec915\",\"url\":\"https://launchdarkly.com/blog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format,compress\",\"id\":\"agpSOaYofJOwHTuf\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"1b0edfb5-d056-42ae-a4c2-dd530e49f057\",\"url\":\"https://launchdarkly.com/guides/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guides \u0026 ebooks\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format,compress\",\"id\":\"agpSOKYofJOwHTue\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"YQxWXxIAACkAIPjQ\",\"type\":\"events\",\"tags\":[\"events\",\"webinars\"],\"lang\":\"en-us\",\"slug\":\"events\",\"first_publication_date\":\"2021-08-05T21:26:24+0000\",\"last_publication_date\":\"2026-09-11T15:17:28+0000\",\"uid\":\"events-webinars\",\"url\":\"/events-webinars/\",\"link_type\":\"Document\",\"key\":\"d1154925-59b3-4c22-afcc-e0efad605e91\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Events \u0026 webinars\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format,compress\",\"id\":\"agpSOqYofJOwHTug\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"c4b22447-de6e-4d1e-9b7a-11748b8055aa\",\"url\":\"https://www.youtube.com/@LaunchDarkly\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Videos\",\"spans\":[],\"direction\":\"ltr\"}]}],\"success_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format,compress\",\"id\":\"agpSQ6YofJOwHTui\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"8a7c9deb-617c-4160-adeb-5b432b051ecf\",\"url\":\"https://academy.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Academy\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format,compress\",\"id\":\"agpSRKYofJOwHTuj\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ajGF7RcAADAA88aj\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"trusted-by-industry-leading-teams.\",\"first_publication_date\":\"2026-06-16T17:59:03+0000\",\"last_publication_date\":\"2026-06-23T21:13:13+0000\",\"uid\":\"customer-stories\",\"url\":\"/customer-stories/\",\"link_type\":\"Document\",\"key\":\"d11dbfa0-bb2d-461c-b5c3-03e978db76b6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Customer stories\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format,compress\",\"id\":\"agpSRqYofJOwHTul\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZSgkThAAACcAC-sT\",\"type\":\"new_pages\",\"tags\":[\"services\",\"professional services\"],\"lang\":\"en-us\",\"slug\":\"launchdarkly-professional-services\",\"first_publication_date\":\"2023-10-12T16:52:47+0000\",\"last_publication_date\":\"2026-07-08T15:43:17+0000\",\"uid\":\"services\",\"url\":\"/services/\",\"link_type\":\"Document\",\"key\":\"93fcdada-dd96-49ca-b8f3-a466eb109f19\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Professional services\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format,compress\",\"id\":\"agpSRaYofJOwHTuk\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZMggHhEAACYAn2e4\",\"type\":\"new_pages\",\"tags\":[\"partner program\",\"partner program page\"],\"lang\":\"en-us\",\"slug\":\"lets-build-better-software-together.\",\"first_publication_date\":\"2023-07-31T21:59:14+0000\",\"last_publication_date\":\"2026-07-08T15:56:45+0000\",\"uid\":\"partner-program\",\"url\":\"/partner-program/\",\"link_type\":\"Document\",\"key\":\"c693eb6c-d924-4446-98dc-e50e30a73e31\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Partners\",\"spans\":[],\"direction\":\"ltr\"}]}],\"get_help_group\":[{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format,compress\",\"id\":\"agpTiKYofJOwHTu2\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"671d49cc-49d6-4614-90a4-3c31313a2f47\",\"url\":\"https://support.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Help Center\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Explore help topics for everything LaunchDarkly.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format,compress\",\"id\":\"agpTiaYofJOwHTu3\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"b1c38405-1e18-4080-81ee-a86756bec156\",\"url\":\"https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Request support\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Reach out to us for direct answers to your questions.\",\"spans\":[],\"direction\":\"ltr\"}]}],\"resources_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format,compress\",\"id\":\"agpSVKYofJOwHTuo\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"79ea2804-386d-45ba-ae92-9de4e6a20aa2\",\"url\":\"https://launchdarkly.com/docs/home\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Docs home\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format,compress\",\"id\":\"agpSVaYofJOwHTup\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"d55987b1-30ac-4d93-907a-c50f827814d5\",\"url\":\"https://launchdarkly.com/docs/home/getting-started\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format,compress\",\"id\":\"agpSUqYofJOwHTum\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"f3e899b1-5149-4b7f-a205-8d8be0d0d0ca\",\"url\":\"https://launchdarkly.com/docs/home/agentcontrol/quickstart\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format,compress\",\"id\":\"agpSU6YofJOwHTun\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"98e0f384-0d91-4ddc-b989-908d24e47a4d\",\"url\":\"https://launchdarkly.com/docs/api/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"API docs\",\"spans\":[],\"direction\":\"ltr\"}]}],\"workflow_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format,compress\",\"id\":\"agpSZqYofJOwHTut\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"daebf9c5-8c24-4a14-9df2-0a7f80d7dfce\",\"url\":\"https://launchdarkly.com/changelog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product Updates\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format,compress\",\"id\":\"agpSZaYofJOwHTus\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"4a2ede12-b83e-4114-bbc3-4a738b3d8ccb\",\"url\":\"https://launchdarkly.com/sample-size-calculator/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Power analysis calculator\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format,compress\",\"id\":\"agpSZKYofJOwHTur\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"0eb1c344-46c1-466a-bc84-f3bb4c46290b\",\"url\":\"https://launchdarkly.com/docs/blog\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Flagship engineering blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format,compress\",\"id\":\"agpSY6YofJOwHTuq\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"84663d21-e4f8-4631-81cd-6da440a8b828\",\"url\":\"https://launchdarkly.com/community/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Community\",\"spans\":[],\"direction\":\"ltr\"}]}],\"banner_group\":[{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Solutions\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo now\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"bdb970f8-f1f4-424b-ae6b-5160b38903a2\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Resources\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4d1ad24c-3879-42e8-86de-2ab76c2778ad\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Platform\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe \u0026 control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"35310a7f-4223-4c71-b058-f0f99ba04936\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":178,\"height\":120},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/abRT8lxvIZEnjqhK_developer-tab-free-trial.png?auto=format,compress\",\"id\":\"abRT8lxvIZEnjqhK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Developers\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Take control of your AI at runtime.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"Control releases, experiments, and AI behavior in prod.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Free trial\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4a0a8a27-41ee-4993-8274-dab982a68d7d\",\"url\":\"https://app.launchdarkly.com/signup\"}}],\"new_products_group\":[{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format,compress\",\"id\":\"agpUVqYofJOwHTu-\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agTAhBIAACEAWwQ2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ship-confidently-with-automatic-recovery-and-continuous-improvement-built-in.\",\"first_publication_date\":\"2026-05-13T18:19:33+0000\",\"last_publication_date\":\"2026-05-19T05:42:39+0000\",\"uid\":\"platform.code-control\",\"url\":\"/platform.code-control/\",\"link_type\":\"Document\",\"key\":\"31f8582d-1543-426b-bfe9-b2e3aa405ab6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"CodeControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Ship confidently, with automated control built in.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format,compress\",\"id\":\"agpUVaYofJOwHTu9\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agSf7RIAAI1IWtRB\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"one-place-to-control-agent-behavior.\",\"first_publication_date\":\"2026-05-13T16:04:01+0000\",\"last_publication_date\":\"2026-06-01T17:57:35+0000\",\"uid\":\"platform.agent-control\",\"url\":\"/platform.agent-control/\",\"link_type\":\"Document\",\"key\":\"a6029978-2730-4f8c-aa21-9c15c2e2fbff\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"One place to keep your agent behavior under control.\",\"spans\":[],\"direction\":\"ltr\"}]}]}},\"showBanner\":true,\"noNav\":\"$undefined\",\"addRiskMeterLogo\":\"$undefined\",\"hideLinks\":\"$undefined\",\"useSnowflakeHeader\":\"$undefined\",\"EoDNav\":\"$undefined\",\"useAiTheme\":\"$undefined\",\"isHomepage\":\"$undefined\",\"useRefreshDesign\":\"$undefined\",\"useWhiteLogo\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"29:[\"$\",\"$L2c\",null,{\"supportItems\":[{\"title\":\"Support home\",\"url\":\"https://support.launchdarkly.com/\"},{\"title\":\"Professional Services\",\"url\":\"/services/\"},{\"title\":\"Documentation\",\"url\":\"https://launchdarkly.com/docs/home\"},{\"title\":\"Status\",\"url\":\"https://status.launchdarkly.com/\"}],\"whyUsItems\":[{\"title\":\"Economic Impact of LaunchDarkly\",\"url\":\"https://launchdarkly.com/guides/forrester-tei-report-2026/\"},{\"title\":\"How LaunchDarkly works\",\"url\":\"/how-it-works.platform/\"},{\"title\":\"Solutions\",\"url\":\"/solutions/\"},{\"title\":\"Trust \u0026 Security\",\"url\":\"/security/\"},{\"title\":\"Trust Center\",\"url\":\"https://trust.launchdarkly.com\"},{\"title\":\"LaunchDarkly vs. Competitors\",\"url\":\"https://launchdarkly.com/compare/\"},{\"title\":\"LaunchDarkly on AWS\",\"url\":\"https://launchdarkly.com/solutions/launchdarkly-aws/\"}],\"companyItems\":[{\"title\":\"About Us\",\"url\":\"/about-us/\"},{\"title\":\"Careers\",\"url\":\"/careers/\"},{\"title\":\"Media \u0026 Analysts\",\"url\":\"/press-and-analysts/\"},{\"title\":\"Partner Program\",\"url\":\"/partner-program/\"},{\"title\":\"Terms \u0026 Policies\",\"url\":\"https://launchdarkly.com/policies/subscription-terms/\"},{\"title\":\"Contact Us\",\"url\":\"/contact-us/\"},{\"title\":\"Community\",\"url\":\"https://launchdarkly.com/community/\"}],\"snsLinks\":[{\"url\":\"https://twitter.com/launchdarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4508c29-da0c-4e9b-bcae-205a95a6ba5d_logo--x-twitter.svg?auto=compress,format\",\"iconAlt\":\"twitter\"},{\"url\":\"https://www.youtube.com/@LaunchDarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/276be984-0bd0-44ed-9e32-44a21a0c4fac_icon-youtube.svg\",\"iconAlt\":\"YouTube\"},{\"url\":\"https://www.linkedin.com/company/launchdarkly/mycompany/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b512fb1-6ecc-4e7f-bfe2-368f1a29898b_icon-LinkedIn.svg\",\"iconAlt\":\"LinkedIn\"},{\"url\":\"https://discord.com/invite/launchdarklycommunity\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ZpaT7h5LeNNTxNRX_discord-logo-white.svg?auto=compress,format\",\"iconAlt\":\"Discord\"},{\"url\":\"https://www.instagram.com/launchdarkly/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b8446e4-02c7-468e-bb32-79d0432dd1d0_instagram-icon-small.svg\",\"iconAlt\":\"Instagram\"}],\"useRefresShortFooter\":\"$undefined\",\"loadFooterNewsletter\":\"$undefined\",\"shortFooter\":true}]\n"])</script><script>self.__next_f.push([1,"30:I[80622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"5:[[\"$\",\"$L24\",null,{\"document\":{\"id\":\"X5iVqBEAAB4Arhuf\",\"uid\":\"10-days-of-errors\",\"url\":\"/blog/10-days-of-errors/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22X5iVqBEAAB4Arhuf%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2020-12-03T21:14:20+0000\",\"last_publication_date\":\"2026-07-21T17:08:25+0000\",\"slugs\":[\"10-days-of-errors\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"10 Days of Errors \",\"spans\":[]}],\"author\":{\"id\":\"X2uqHhEAAGj1rpre\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"yoz-grahame\",\"first_publication_date\":\"2020-09-23T20:03:46+0000\",\"last_publication_date\":\"2021-04-06T23:47:50+0000\",\"uid\":\"ygrahame\",\"url\":\"/blog/author/ygrahame/\",\"data\":{\"author_name\":[{\"type\":\"heading1\",\"text\":\"Yoz Grahame\",\"spans\":[]}],\"uid\":\"ygrahame\",\"author_image\":{\"dimensions\":{\"width\":2000,\"height\":2000},\"alt\":\"Yoz Grahame\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/0fcf9f9b-a2e7-4858-8106-c8b9509e3d7d_yozGrahame.jpg?auto=compress,format\u0026rect=0,0,150,150\u0026w=2000\u0026h=2000\",\"id\":\"X2uqFREAACIArpq2\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":13.333333333333334,\"background\":\"#fff\"}},\"author_bio\":[{\"type\":\"paragraph\",\"text\":\"Yoz Grahame is a Developer Advocate for LaunchDarkly because he wants software engineering to be far less painful than it is now. Previous involvements include: the US Government (in the 18F group), Compaas, Linden Lab, British e-democracy projects WriteToThem and TheyWorkForYou, and Douglas Adams’ startup The Digital Village. On the amateur wrestling circuit he goes by the alias “Dr. Henry Metzger.” \",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"b6a46e04-37ef-4686-b72a-d0a855fa5248\",\"isBroken\":false},\"timestamp\":\"2020-10-19T00:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"b24cce56-6483-45cf-a94c-ace7eb3acd90\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"\",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1045},\"alt\":\"10 Days of Errors\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/MWI2ZDE4NmQtYzBkNC00N2U5LWEyYjgtMWE1MmVjYjUyMzUw_202010_10daysoferrors_linkedin2x-1.jpg?auto=compress,format\u0026rect=0,0,2400,1254\u0026w=2000\u0026h=1045\",\"id\":\"X5iV0REAAB0Arh5O\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":0.8333333134651184,\"background\":\"#fff\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"10 Days of Errors is brought to you by Launchdarkly and our partners at Rollbar. 🦇\",\"spans\":[{\"start\":0,\"end\":81,\"type\":\"em\"},{\"start\":72,\"end\":79,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://rollbar.com/\"}}]},{\"type\":\"paragraph\",\"text\":\"It's finally the time of year we've all been eagerly dreading: spooky season. Where howling bugs lurk in the darkest corners of your code, and tales of fascinating exploits will shake even the toughest Security team. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Put away your pumpkin spice lattés and plastic skeletons, because we're here to talk about what sends chills down your spine and goes “ERROR: primary database disk full” in the night. Ask not for whom the pager beeps: it beeps for thee.\",\"spans\":[{\"start\":218,\"end\":236,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"To start, we've collected ten terrible tales over at Rollbar's blog. But that's just the beginning. We have more blood-curdling bug stories here, and we'll be adding them to this post day by day. If you've suffered some horrifying misadventures of your own, let us know on Twitter: use the hashtag #ErrorHorrorStory. Pending on how spooktacular they are, we'll include them here. 👻 \",\"spans\":[{\"start\":45,\"end\":67,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://rollbar.com/blog/10-developer-horror-stories-to-keep-you-up-at-night/\"}},{\"start\":298,\"end\":315,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Join us as we spend the next 10 days sharing chilling tales of errors that even Poe himself couldn't bear to write....\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\" \",\"spans\":[]},{\"type\":\"heading2\",\"text\":\"Day One: The “Howling at the Moon” error\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Let's start with an old but marvelous tale from England. Originally written by someone known only as “Taz”, then forwarded from list to list back in 2002:\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$e1550a59-d4a4-49d8-9d9b-7fc2c766b9bc\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"The location was a server room, somewhere up on the 4th or 5th floor of an office in Portsmouth (I think it was) by the docks. One day the main Unix DB server fell over. It was rebooted but it happily fell over again and again, so they called out the support company.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So, the support gadgie – Mark I think his name was, not that it matters – gets there a few hours later. Leeds to Portsmouth, you see… it’s a long way. He switches on the server and everything works without error. Typical bloody support really, client gets upset over naff all. He goes through the log files and finds pretty much nothing that would make the box fall over. Mark then gets back on the train and heads back up to Leeds after a pointless waste of a day.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Later that evening, the server falls over. Exactly the same story… it won’t come back up. Mark goes through all the usual remote support stuff but the client can’t get the server to run.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The pattern continues for a few days. Server working, then after about ten hours it falls over and won’t run for another two hours. They checked the cooling, they checked for memory leaks, they checked everything but came up with nowt. Then it all stopped.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Then, a week without problems. Everybody was happy… until it started again. The same pattern: 10 hours on, 2-3 hours off.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"And then somebody (I seem to remember he said that the person had nothing to do with IT) said:\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"“It’s high tide!”\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Which was met with blank looks and probably a wavering hand over the intercom to Security.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"“It stops working at high tide.”\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"This, it would seem, is a fairly alien concept to IT support staff, who are not likely to be found studying the tide almanac during the coffee breaks. So they explained that it couldn’t be anything to do with the tide, because it was working for a week.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"“Last week was Neaps, this week it’s Springs.”\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Here’s a bit of jargon busting for those of you who don’t have any RYA qualifications. The tides run on a lunar cycle, and you get high tide every 12.5 hours as the Earth turns. But as the moon’s orbit changes, so does the difference in high and low tide. When the moon is between us and the sun or on the opposite side of the planet, we get “Springs”. These are the highest highs, and the lowest lows. When there’s a half moon, we get “Neaps”. The difference between high and low is greatly reduced. The lunar cycle is 28 days, so Springs – Neaps – Springs – Neaps.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Sure enough, they were right. Two weeks previously, a Navy destroyer or something had moored up nearby. Every time the tide got to a certain height, the crow’s nest was in direct line with the floor that the servers were sitting on. It seems that the radar (or radar jamming, or whatever the military have on their toy dinghies) was playing havoc with the computers.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$f4d5f28d-60ed-4e7d-bf9f-167afdda7fc1\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"It may sound like it was easily resolved, but ask yourself: how likely would you or any of your colleagues have been to make the connection? The thought makes the Brits among us want to hide under the duvet with a hot mug of Horlicks. And we'll never look at the moon in quite the same way again. \",\"spans\":[{\"start\":225,\"end\":233,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://en.wikipedia.org/wiki/Horlicks\"}}]},{\"type\":\"heading2\",\"text\":\"Day Two: the “Your Bug Possessed My Printer” error\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We're used to software crashing, but when a bug makes an incursion into physical reality, it's the next level of scary. Imagine this: one day you're being a Good Computer User and installing updates -- you know, like you're supposed to. In the middle of it all, the device sitting next to you suddenly starts spewing gibberish and malfunctioning as if it was possessed\u003c.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The original version of this story comes from Mark Ferlatte, who  worked with Yoz Grahame, co-author of this post, at Linden Lab - the company that runs the Second Life virtual world. There are enough bizarre bug stories from Second Life to fill a book, but this one doesn't involve avatars, digital pets or other mind-boggling virtual distortions. It's from the earliest days of the service, back in 2003, and it's a miniature tour through the history of personal computing that's as wide as it is brief, where a set of old and new technologies worked together in exactly the wrong way.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$5ade151f-3bc1-4c09-9e86-94f09bf4549c\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"The Second Life desktop app for Windows had a built-in updater that worked in the simplest way possible: it would download an updater program from a pre-set URL on the Second Life website, save it to the user’s hard drive as updater.exe, and run it.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"One day, for reasons lost in time, requests to that URL returned a 404 Not Found page. Perhaps the server was misconfigured, or the file was deleted… who knows? These things happen to every website. In most situations like this, the user trying to access that page is a human who gets annoyed and does something else, and that’s the end of the story. But when the user is a program, the outcome is less predictable.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"In this case, the desktop app didn’t check what it was getting. It just downloaded the 404 page, saved it as a program updater.exe and ran it. Or rather, it used a system call to tell Windows to run it.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Windows looked at updater.exe and immediately saw that it wasn’t in the standard format for .exe files. But instead of just quitting with an error, this system call decided to try harder. Windows is known for its dedication to legacy support: you can still run programs from back in the MS-DOS days, ones that had the suffix .COM. Unfortunately, this system call didn’t check what it was getting, and ran updater.exe as if it was a .COM program.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Binary data is binary data, and can be interpreted in infinite ways. It seems that – for entirely accidental reasons – when the Second Life website’s 404 page is interpreted as a .COM file, it can be read as a set of instructions to open the computer’s LPT device and yell gibberish into it. Which is what it did.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Those of you old enough to have used MS-DOS may remember that LPT is the route to the printer. Windows, once again, went the extra mile to help legacy DOS software work. It received the gibberish spewed by the 404-page-run-as-a-program, didn’t check what it was getting (you may be sensing a theme here), and helpfully sent it along to whatever printer it knew about.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Fortunately, plenty of printers do check what they’re getting! Unfortunately, that still leaves plenty that don’t, especially if they’re cheap inkjet printers from the 90s. And those printers went wild. In Mark’s own words: “… they would freak out, spew paper, and in one case, physically break.”\",\"spans\":[{\"start\":32,\"end\":34,\"type\":\"em\"},{\"start\":197,\"end\":201,\"type\":\"em\"},{\"start\":225,\"end\":295,\"type\":\"em\"},{\"start\":278,\"end\":294,\"type\":\"strong\"}]}]},\"items\":[{}],\"id\":\"simple_quote$97545b6d-1982-4c51-a40d-825eb245e74f\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"There are lessons here for us all. If you write software, make sure that it validates its data before attempting to use it. (No, really.) And remember this story the next time that you witness unexplainable behavior in your technology — who knows what ancient spells may have been invoked? 🔮 \",\"spans\":[]},{\"type\":\"heading2\",\"text\":\"Day Three: the “Like It's Going Out Of Style” error\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Etsy is a magical place for home-grown style. Each seller may only have a few products, but with over 3 million of them, selling to 60 million buyers, that's a lot of traffic. Imagine how excited you might be, as a young engineer, to work on such a popular site! Imagine how eagerly you'd make a change that goes live in your very first week - even if it's just a tiny change, like removing some redundant style sheets. Now imagine how you'd feel if that tiny change brought the whole site down…\",\"spans\":[{\"start\":0,\"end\":4,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.etsy.com/\"}},{\"start\":97,\"end\":119,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://investors.etsy.com/press-releases/press-release-details/2020/Etsy-Inc.-Reports-Second-Quarter-2020-Financial-Results/default.aspx\"}},{\"start\":160,\"end\":163,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$78ebe3c2-483d-49d9-899b-eb1e8b263e7c\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"It was a dark and stormy night, and all was still in the Etsy office… save for an eager developer trying to ship a change on their first week at the company. They were deleting a harmless, unused style sheet — originally needed to support the ancient IE6 — and all the files that included it. Tested out on staging, everything looks good! Tests pass! Time to ship it.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"But lo and behold, there was a bug! A race condition on deploy meant that some of the updated pages weren’t deployed properly, and the old versions tried to include the now non-existent CSS file, which threw an error. This wouldn’t have been so bad, except the error page also included the aforementioned, not-so-harmless CSS file. So errors begat errors begat errors, resulting in a hard loop on every Apache process on every box.\",\"spans\":[{\"start\":272,\"end\":276,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"The looping Apache processes locked up the servers so hard that they couldn’t be restarted remotely. Some poor Etsy employee had to go to the datacenter and reboot the servers manually.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$9e03a564-297e-4354-b066-2de5aa1f800a\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Fortunately for the new developer, things turned out fine. Etsy's engineering department has a positive attitude to learning from mistakes. They even hand out an annual award for the most surprising error: a three-armed sweater, knitted (of course) by an Etsy seller. I wonder if that poor developer will wear it for Halloween?\",\"spans\":[{\"start\":93,\"end\":112,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://qz.com/504661/why-etsy-engineers-send-company-wide-emails-confessing-mistakes-they-made/\"}},{\"start\":130,\"end\":138,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.ryn.works/blog/2017/06/17/on-failure-and-resilience\"}}]},{\"type\":\"heading2\",\"text\":\"Day Four: the “Payments Not Found” error 🤑\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"For Throwback Thursday, this bug comes to you from about 20 years ago, told by someone who wishes to remain anonymous. This particular engineer was new at coding, and didn't have a lot of formal training. “Tests are for suckas, my code compiles, so everything works” was the common joke amongst this engineering team. The young engineer followed suit, but still worried about things that might go wrong, especially during testing. Unfortunately, while they were thoughtful about some problems, they forgot to worry about others…\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$6d68c0b9-0f09-412e-bc1c-924cee96e4bf\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"The task was to set up an e-commerce store that sold industrial parts for a mine site, think Grainger catalog, but for civic corporations. The development team came together, split up the tasks and went to work building. Pretty straight forward project; a catalogue of items, authentication and a checkout with credit card. The team finished the project and felt pretty good about it. They shipped it and were proud that the project went so smoothly.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Fast forward 18 months after shipping the website, when a bug was discovered.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The developer was worried about real charges being incurred while the credit card payments were being tested. So their code checked if the environment was set to dev in which case, regardless of the amount calculated at checkout, no actual transactions would be sent to the credit card processor. When the project was shipped, that environment flag was never changed to prod, so even though everything looked good on the customer end for adding items to their cart, checking out and receiving the invoice for the correct amount, the credit card was never charged for the said amount. Instead, it consistently charged the customer a whole amount of ZERO dollars.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"By the time this was discovered, they estimated it was something like 2 million dollars of goods that were shipped and sold, with no payments collected.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$3dd368bd-aa89-46c6-9115-ccd61cdc3e1a\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Fortunately for the developer, the company website was primarily selling to other internal companies, so the missing money ended up being mostly an accounting issue. However, you can be sure that they not only learned the value of tests, but of testing the production environment too!\",\"spans\":[]},{\"type\":\"heading2\",\"text\":\"Day Five: the “Black Hole Sun” error\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"This comes from another LaunchDarkly  Developer Advocate, Dawn Parzych. She wears many hats, one of them being a solution architect. Let's dive in to see some of the problems we encounter when working with hardware and software!\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$f93ca8a1-0984-43fe-9fd7-eb2df4605e16\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"10 years ago, I was working for F5 Networks as a Solution Architect. Our hardware had been deployed at an ISP to improve web performance for mobile users. Every day at approximately the same time the internet stopped working for about 5 minutes, and system processes were restarting. I was sent on-site for the day to troubleshoot. As the day wore on I realized the quick day trip was turning into an overnight. All diagnostic and troubleshooting was showing no problems, the problem occurred at 3am. I had to be on-site to see what was going on.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"A last minute hotel was booked, and I went shopping for a change of clothes. I got a few hours sleep so I could be on-line at the witching hour to see what was wrong. Sure enough as expected, the system failed. Within 5 minutes everything was working again. Everything was fine with the hardware. I went sleuthing on the internet, armed with the timestamps of when the failures were occurring. None of the standard searches were resulting in a solution.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Finally, I had an epiphany! Eureka! With some more in-depth research, I realized the problem. The outages were aligned with reported solar flares in the region. The flares were knocking out satellite connectivity taking our systems offline. When the flare passed the systems came back on-line.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$5ce04d07-ced9-4c65-a850-ad08e874a584\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"We started the 10 Days of Errors with lunar interference, and now we have solar chaos too. Who needs alien invasions when the celestial bodies themselves have it in for us? We hereby request that the universe just calm down a bit. Meanwhile, we'll be in our bunker. 👽\",\"spans\":[{\"start\":214,\"end\":230,\"type\":\"em\"}]},{\"type\":\"heading2\",\"text\":\"Day Six: the “Bad Case of the Mondays” error\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Friends, we made it through the first five Days of Errors! We hope you had a pleasant weekend, and that you were able to keep the terrifying fragility and unpredictability of software bugs away from your attention for long enough to achieve something resembling relaxation. Or maybe you lost Sunday to helping your kid install twenty-three wildly-conflicting Minecraft mods, followed by a night of fitful dreams filled with Java tracebacks.\",\"spans\":[{\"start\":262,\"end\":272,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"Either way, give it up: It's Monday again, when we head back to our usual 9-to-5 battles with enterprise technology. This story from Adam Kalsey seemed appropriate to share. It's set a decade ago, back when he was building a worldwide instant messaging service using the XMPP standard. (If you don't know what XMPP is, congratulations.)\",\"spans\":[{\"start\":133,\"end\":144,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://kalsey.com/blog/\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$f926a469-1856-41a7-a992-cdc25dc7a414\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"As IMified grew, most Monday mornings we’d have an unexplained crash of our core XMPP server. We could see there was lots of network traffic around 9am PST, but it was encrypted and commercial XMPP servers didn’t give tools to analyze at any level of detail.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Solution? We built our own XMPP server to instrument and analyze the traffic. And then we saw the source of the traffic. Presence packets.\",\"spans\":[{\"start\":121,\"end\":138,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"9am PST is a magical time: West Coast workers sign on, East Coasters leave for lunch, Europeans leave work for the day, and finally, it’s bedtime in India. For an instant messaging platform, this is the time when the most people change state around the world.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"So the question remained: why Monday? We got just as many packets other weekdays, but spread over a larger amount of time. Our theory was that people seemed a bit more likely to be on time for work on Mondays. So to help combat this traffic spike, we made our XMPP server fork presence packets to another server that just served a static bit of xml for the XMPP packet. Voila! We were online and available. Always.\",\"spans\":[{\"start\":26,\"end\":37,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"simple_quote$43393871-e059-47bd-a36d-e077edf11064\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Oh, is he done? Sorry, we went into a fugue state at the first mention of timezones. (A feeling familiar to anyone who's had to debug calendaring code.) Mix that up with traffic spikes happening first thing on a Monday morning, and I'm feeling a dose of terror that beats a triple-espresso. No way are we falling asleep any time soon.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Thank you for the story, Adam. May your Mondays be calmer. ☕️\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$e27f413c-2e72-4e44-960d-0a0c1380dd57\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"heading2\",\"text\":\"Day Seven: the “Bucket of Bugs” error\",\"spans\":[{\"start\":0,\"end\":37,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Software bugs can be scary, but they’re often funny too. If you want to be thoroughly tickled by logic going haywire, go look at video games. As games have become bigger and more complex, that complexity has produced more and sillier bugs. And when most of that complexity comes from trying to model the real world, the breakage can be hilarious.\",\"spans\":[{\"start\":336,\"end\":345,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"As an example, let’s look at one of the biggest and best known games of the past decade, Bethesda Softworks’ Skyrim. It’s a giant world, packed with all the usual fantasy nonsense like spells and orcs and dragons and buckets. Yes, fantastical buckets. The terrifying complexity of Skyrim’s logic is so wide-ranging that even objects as basic as a bucket find themselves accidentally imbued with multiple unintended effects.\",\"spans\":[{\"start\":109,\"end\":115,\"type\":\"em\"},{\"start\":281,\"end\":287,\"type\":\"em\"},{\"start\":395,\"end\":403,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"The most well known bug involving Skyrim’s buckets isn’t so much a bug in the bucket itself as a side effect of Skyrim’s world modeling. It’s also a valuable lesson in the ways that enhanced realism can cause problems when it’s not implemented evenly.\",\"spans\":[{\"start\":112,\"end\":118,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$15aaaf9d-45e5-46b5-9bbc-69c5caa2c28e\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Computer-controlled characters in video games have behavioral logic so they can react appropriately to player actions. But this reactiveness is deliberately limited so that characters don’t react to everything; they should only react to the kinds of events that real people would react to in real life. Imagine a shopkeeper character: it shouldn’t care about the player moving objects around in the house next door, but it should act when the player takes something from the shop without paying.\",\"spans\":[{\"start\":199,\"end\":209,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"In most games, characters only react to events that occur in their immediate vicinity. More advanced games limit this reactiveness to events that happen in front of the character; this is important in stealth-based games so that players can, for example, sneak quietly behind a guard. For Skyrim, Bethesda took this even further: characters react to events which they can see with their eyes. It means that characters can turn their heads to notice more events.\",\"spans\":[{\"start\":153,\"end\":161,\"type\":\"em\"},{\"start\":289,\"end\":295,\"type\":\"em\"},{\"start\":376,\"end\":391,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"Unfortunately, the Skyrim developers didn’t implement the ability for characters to realise when their head is covered with a bucket, put there by a player who knows it’s the easiest way to steal things from shopkeepers:\",\"spans\":[{\"start\":19,\"end\":25,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"simple_quote$1a865058-c964-4480-8a06-200b1b5cb02c\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"video_type\":\"YouTube\",\"youtube_id\":[{\"type\":\"paragraph\",\"text\":\"bmI799kEOSk\",\"spans\":[]}]},\"items\":[{}],\"id\":\"youtube_video$62271bb3-9dd6-42f2-9672-6def39737788\",\"slice_type\":\"youtube_video\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"The other flaw is less famous, but far more suited to a magical world: a specific kind of heavy bucket can make you fly.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$0961f8e9-4b9d-4d4a-98fb-4afa9c0a5c95\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"To enjoy this bug: find a heavy bucket. Stand on it, in exactly the right place. Then grab the bucket. Now you’re up, up and away!\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We couldn’t find a definitive explanation. One speedrunner suggested that it’s caused by the game’s faulty implementation of Newton’s third law of motion. We find that unlikely, but the outcome of this bug is so bizarre that we can’t rule it out entirely.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$efc83b18-87a5-47c7-b64c-9b4a6fc215d4\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Here it is in action:\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$b76fa9df-23ed-4006-a579-9af6c9fbef68\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"video_type\":\"YouTube\",\"youtube_id\":[{\"type\":\"paragraph\",\"text\":\"3SYe1plGuDk\",\"spans\":[]}]},\"items\":[{}],\"id\":\"youtube_video$4bda5ef7-7ea2-45c3-a703-bbd59e0368f9\",\"slice_type\":\"youtube_video\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"If you want to enjoy these bugs yourself, we’re glad to tell you that they and many others still work even in the latest versions of Skyrim (though probably not in the Alexa version). To experience more hilarious video game bugs, we recommend almost any major video game, especially those with development budgets above $50 million. If you want a different kind of challenge, try reading the patch notes for The Sims out loud while keeping a straight face. \",\"spans\":[{\"start\":133,\"end\":139,\"type\":\"em\"},{\"start\":164,\"end\":181,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://www.amazon.com/Bethesda-Game-Studios-Special-Edition/dp/B07D6STSX8\"}},{\"start\":408,\"end\":416,\"type\":\"em\"},{\"start\":408,\"end\":416,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://kotaku.com/pregnant-sims-can-no-longer-brawl-and-other-amazing-sim-1506014739\"}}]},{\"type\":\"heading2\",\"text\":\"Day Eight: the “Save the Skating Horses” error\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Now that we’ve wandered into the many worlds of video games and their hilarious bugs, Yoz insists that we return to Second Life, which we touched on last week. (Yes, it’s hard to locate “last week” in 2020, that’s why we put the link there.)\",\"spans\":[{\"start\":116,\"end\":127,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://secondlife.com/\"}},{\"start\":149,\"end\":158,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://launchdarkly.com/blog/10-days-of-errors/#day2\"}},{\"start\":160,\"end\":241,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"Unlike most video games, even the big multiplayer ones, Second Life is a giant open virtual world where almost all of the content is created, programmed and sold by its users. Much of that content is surreal enough when it’s functioning correctly. Throw a few bugs into the mix and you get utterly bizarre situations like this one, which happened while Yoz worked at Linden Lab, the company that runs Second Life:\",\"spans\":[{\"start\":237,\"end\":246,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$b9f7894a-e27c-4f2d-9538-49aa8a81410d\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"One of the most valuable product categories in the Second Life (SL) economy is virtual pets. There’s enough profit in selling digital animals and their supplies to sustain several small real-world businesses. Take, for example, the tragic story of Ozimals, a company selling virtual rabbits which met with a messy legal end.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Among the other kinds of virtual pets in SL were Arabian horses. Just like the bunnies, you had to buy them food. (The food is where most of the revenue lives in the virtual pets business. It’s just the Xerox model made weirder.) You’d put the food out, they’d find it and eat it, and some time later they’d want more.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The “find it” part of the previous sentence is key to this story. For the horse to get to the food, they couldn’t just move in a straight line as there might be obstacles in the way. They had algorithms for finding a route around those obstacles and propelling themselves to the food. In video game terminology, this kind of algorithm is known as pathfinding. The SL developer platform now has built-in pathfinding functions which any developer can use, but they were added after this story took place. Back then, the horses used custom pathfinding code written by the horse creator. And, like most code written in SL’s haphazardly-designed scripting language, it wasn’t very good.\",\"spans\":[{\"start\":347,\"end\":358,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"As mentioned earlier, almost all the content in Second Life is created by its users. This includes tens of thousands, maybe hundreds of thousands of unique scripts, embedded in hundreds of millions of virtual objects. These scripts are executed by the underlying platform code, maintained by Linden Lab, and updated constantly. When there are new releases of the SL platform, it isn’t fully tested with all the scripts that content creators write. There are far, far too many to do that.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"One release had a tiny tweak to the physics engine, related to friction of objects moving on the ground. You may guess what’s coming next.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"The horse pathfinding logic was using the old friction rules. As soon as the SL region code updated, horses started skating past their food. In some cases, horses living on high-altitude platforms started falling off them. (I imagine them whinnying as they pirouetted into space.)\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"This all seems really comical until you realise how many people owned these horses, and how much they’d spent on them. Within a couple of hours of the code going live, staff realised that user possessions worth tens of thousands of US dollars were being destroyed by a bug. (Yes, US dollars. Not Linden dollars. Just in virtual horses. You have no idea how much the SL economy is still worth.)\",\"spans\":[{\"start\":380,\"end\":385,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"Once the size of the problem was realised, the SL platform release was rolled back. But that still took several hours over the thousands of servers. (No feature flags, see.) So, during the rollback, several dedicated QA engineers stayed up much of the night, saving virtual horses from starving to death.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$0f2ad22d-c36b-41c2-8b71-d0d87d09ab18\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"“This is why virtual world bugs fascinate me,” continued Yoz. “Some of them are just amazing.” Then he went on to tell us about a Linden Lab developer who accidentally raised SL’s sea level by 200 metres, which makes our current climate change nightmares look tame. That’s enough for now, thanks. We’ll stick with the horses. \",\"spans\":[{\"start\":85,\"end\":92,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Day Nine: the “Who Put That Code There?” error\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We have only a couple of days left, and the last two stories have been more silly than scary. It’s time to change the tone to something more suitable to Halloween, and see if we can raise the hairs on the back of your neck.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"For the past eight days, we’ve only shared true stories. Well, we’re fairly certain that they’re true. Admittedly, some of them took several hops before they reached us. None of us knows “Taz”, who provided the story we shared on day one. There’s a chain of trust involved, just like there is with software.\",\"spans\":[{\"start\":69,\"end\":75,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That brings us to today’s story, Coding Machines, which comes from Lawrence Kesteloot. It’s far from the longest story ever written about a software defect (take Ellen Ullman’s magnificent The Bug, which we highly recommend) but it’s too long to include here. This evening or weekend, set aside half an hour for this deliciously spooky tale and give that spine a good chilling. You can read the whole thing online here, or buy it as an Amazon Kindle book.\",\"spans\":[{\"start\":33,\"end\":48,\"type\":\"em\"},{\"start\":33,\"end\":48,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://www.teamten.com/lawrence/writings/coding-machines/\",\"target\":\"_blank\"}},{\"start\":67,\"end\":85,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://www.teamten.com/lawrence/\",\"target\":\"_blank\"}},{\"start\":189,\"end\":196,\"type\":\"em\"},{\"start\":189,\"end\":196,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://us.macmillan.com/books/9781250002495\",\"target\":\"_blank\"}},{\"start\":391,\"end\":418,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://www.teamten.com/lawrence/writings/coding-machines/\",\"target\":\"_blank\"}},{\"start\":433,\"end\":454,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://www.amazon.com/dp/B077WC9FG5\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"And as for its veracity… we think it’s probably fiction. Probably.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"Day Ten: the “$400 million down the drain” error\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"We want to end with a bug that’s huge. It’s gotta be scary. We want to destroy what’s left of your sleeping habits with wide-eyed terror. How better to do that with a tale that checks those boxes so well that it’s known in software history as Knightmare. It’s a relatively well known story in financial circles, but given that feature flags play a starring role, we want to provide our own perspective. Because feature flags are what we do. Plus, we get to revisit concepts seen in earlier stories: “developer mode”, insufficient testing, partial failed deploys, and somehow, virtual environments.\",\"spans\":[{\"start\":33,\"end\":38,\"type\":\"em\"},{\"start\":53,\"end\":58,\"type\":\"em\"},{\"start\":120,\"end\":136,\"type\":\"em\"},{\"start\":243,\"end\":253,\"type\":\"strong\"},{\"start\":327,\"end\":340,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/what-are-feature-flags/\",\"target\":\"_self\"}},{\"start\":429,\"end\":439,\"type\":\"em\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"The story concerns Knight Capital, the company that pioneered algorithmic stock trading. They were big and rich and dirty with a machine that printed money. Then, in 2012, that machine turned on its creators and ate them.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"In under 30 minutes, the “Knightmare” bug guzzled over $400 million. It didn’t even chew.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"That’s the punchline. The story’s better.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[{}],\"id\":\"wysiwyg$7e075d58-e05c-4612-a050-8e97ca8c3994\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Back in the mid-90s, two middle-aged finance executives, Kenneth Pasternak and Walter Raquet, saw NASDAQ going digital and said: what if the traders were digital too? What if it was just computers? They could do thousands of trades a minute. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"It was 1995 when they founded Knight Trading Group (later renamed to Knight Capital Group) with a bunch of smart engineers and immediately started making ridiculous amounts of money. Within three years they had gone public, their IPO (Initial Public Offering) raising $145 million on top of a market capitalization of $725 million. It took only 18 months for their market capitalization to grow over ten times as big.\",\"spans\":[{\"start\":154,\"end\":164,\"type\":\"em\"},{\"start\":395,\"end\":416,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"However, those who remember the period know what came next: the dot-com bubble burst, and the Knight Capital rollercoaster ride went screaming downwards. On top of the losses, Knight was caught breaking many stock market regulations and doing naughty things like intercepting customer trades so that the firm could profit off them first.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"As Knight floundered, the founders who oversaw these problems were replaced. Thomas Joyce, an experienced industry leader, took over as CEO and returned the firm to financial success. By 2011 they had a net income of $115 million and over 100 software developers working on Knight’s future: an overhauled, optimised version of its trading systems. The new technology was known as Smart Market Access Routing System (SMARS). When launched, it accelerated Knight Capital’s transactions to thousands of trades per second.\",\"spans\":[{\"start\":507,\"end\":517,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"In 2012, the New York Stock Exchange (NYSE) announced the Retail Liquidity Program (RLP), a new private market for stock trading. The RLP was highly controversial because it would allow big market players to trade for fractions of pennies above or below the displayed prices. For big players, those fractions of pennies would rapidly add up to millions of dollars in profits.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Knight Capital, being a huge player, had to be in the RLP. But first, they had to tweak SMARS to work with the new market. Thanks to the controversy around it, the SEC had taken a while to approve the RLP. When the approval was announced in June 2012, the NYSE followed up with a rapidly approaching launch date: August 1st, 2012. The trading firms had just over a month to prepare.\",\"spans\":[{\"start\":24,\"end\":28,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"Knight’s engineers scrambled to make SMARS ready for the RLP. It needed a set of new code to handle the RLP’s rules, which were different from the rest of the NYSE markets. For SMARS to know whether to use the standard NYSE rules or the new RLP rules, they repurposed an existing feature flag that was previously used for some old testing routines. If this flag was enabled, SMARS would know that it was trading on the RLP.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$f7f212b5-ae9f-448a-979b-d0f43696151d\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Okay, hold up a moment. It’s always dangerous to take an existing feature flag and change its purpose. Excuse us if this sounds like advertising, but this is an important lesson in software safety: if it’s easier to repurpose an existing flag than to make a new one, then you need a better feature management system. (If you’re looking, we have a really good one right here. You can make as many new flags as you like without adding any infrastructure or configuration. Okay, advertisement over.)\",\"spans\":[{\"start\":198,\"end\":315,\"type\":\"em\"},{\"start\":363,\"end\":373,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://launchdarkly.com/\"}}]},{\"type\":\"paragraph\",\"text\":\"So, these “old testing routines”… what did they do, exactly?\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$6e29492d-dfbd-4909-9748-5481e769dec7\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Back when Knight Capital was creating its initial trading algorithms – the ones that gave it such a massive lead in the market – it wanted to test them in a kind of virtual stock exchange; like a video game version of the stock market. But Knight’s own trading algorithms wouldn’t be enough to simulate market activity, because they also wanted to test how the algorithms would fare when the market behaves weirdly. Their virtual market neededotheralgorithms that would do irrational things. For example, they needed a market player that would buyhighand selllow, which is exactly the opposite of what a sensible player would do. They created this exact algorithm and called it Power Peg.\",\"spans\":[{\"start\":443,\"end\":448,\"type\":\"em\"},{\"start\":547,\"end\":551,\"type\":\"em\"},{\"start\":559,\"end\":562,\"type\":\"em\"},{\"start\":678,\"end\":687,\"type\":\"strong\"}]}]},\"items\":[{}],\"id\":\"simple_quote$5714146a-491d-4768-a3fe-8310a35a3b8d\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"At this point, those familiar with both software engineering and horror stories might guess the next question: was this repurposed feature flag – the one now triggering the RLP rules – previously used to trigger Power Peg?\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$526b24c2-0a5d-4c01-a1c8-d77c8a73eec3\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Yep.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$dd8891c9-ef2d-49bd-b86c-6064f53e1975\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"So… when the RLP code was linked to the feature flag, did the engineers perform thevitalsafety step of deleting the Power Peg code?\",\"spans\":[{\"start\":83,\"end\":88,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$11297669-7af4-4049-98d9-f6c6662e7403\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"They did. However, this deletion happened at the same time as the RLP code was added. Power Peg hadn’t been used since 2003, yet lingered in the code ever since.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$d1b0ffde-44cd-4014-b540-29fa9dc8dda1\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"This is why LaunchDarkly provides theCode Referencesfeature: by telling you exactly where a given flag is used in your codebase, it makes it much easier to eliminate unused, potentially dangerous code. Did they at least test what would happen if Power Peg was accidentally enabled?\",\"spans\":[{\"start\":37,\"end\":52,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://docs.launchdarkly.com/integrations/code-references\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$b615c435-d69f-4274-a179-842b0a8c5fe6\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Nope.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$380fe90c-c478-4663-b15f-c6a45917d936\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Uh oh.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$efc7771e-aa02-40c8-aecc-a8dad26745ac\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"But in this case, the Power Peg code was eliminated in the new version of SMARS. So as long as the previous version was completely removed from the production servers, there would be no danger of accidentally triggering Power Peg.\",\"spans\":[{\"start\":37,\"end\":40,\"type\":\"em\"},{\"start\":120,\"end\":130,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"The new SMARS code was completed a week before RLP’s launch. Knight deployed the new version of SMARS to its servers. However, Knight’s infrastructure team was still doing deployments manually. The engineer responsible for the deployment had to install the new code across eight servers. Unfortunately, this engineer missed one of the servers, and it still contained the old code. Knight’s infrastructure team had no standard process for verifying that code deployments were correct, so nobody noticed.\",\"spans\":[{\"start\":288,\"end\":380,\"type\":\"strong\"}]}]},\"items\":[{}],\"id\":\"simple_quote$65c22b1d-0769-45a8-bac1-edb2033c4efb\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Oh no.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$16326526-1b22-42b2-8fa3-4a364b916e60\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Yep.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"At 8:00am on August 1st, SMARS switched on to handle pre-market orders, and immediately started sending automated warning emails to Knight’s engineers. These emails, containing the error message “Power Peg disabled”, should have been enough to warn staff that something was going wrong. But few engineers noticed the emails, and none of them realised the danger.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$55d498f8-38da-4d37-b440-bb05e2798d69\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Email’s aterribleplace for urgent alerts to go. (This is why Rollbar provides notification tools such as integrations with alert systems, special alerts for high occurrence rates, etc.)\",\"spans\":[{\"start\":9,\"end\":17,\"type\":\"em\"},{\"start\":78,\"end\":96,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://docs.rollbar.com/docs/notifications\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$f2071f1d-d37c-4798-b4ff-e6bce812193e\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"At 9:30am, the new RLP market opened for business. Power Peg, still present on one production server, flew into action and started spending the firm’s money in the stupidest way possible, as fast as possible. Within a couple of minutes it had performed more trades on certain stocks than they would usually see in a month, and the total volume of trading was 12% higher than usual.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"At 9:34am, NYSE engineers investigating the trading spike traced it back to Knight Capital. Knight’s own engineers hadn’t noticed the extent of what was happening; they could see the higher trading volume, but didn’t realise that SMARS was now shoving Knight Capital’s market position into serious debt. Somehow, Power Peg’s activity evaded all their internal alarms other than the aforementioned warning emails, which had still gone unnoticed.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"By 9:45am, Knight’s engineers had looked at the problem, conferred, and leaped into action.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$4135e3c3-67fe-4455-978c-a204d44f25b5\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"They flipped the SMARS kill switch, right?\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$d445bd4e-a3e3-4c20-a128-442372afffda\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Nope. SMARS, for some reason,didn’t have a kill switch.\",\"spans\":[{\"start\":29,\"end\":54,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"simple_quote$3532dab0-9d94-4e4d-bcd4-668c7b0df70d\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"But… kill switches are vital! And feature flags make themso easy! So what did they do instead?\",\"spans\":[{\"start\":57,\"end\":64,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$901bd88c-90ea-440a-ae68-6933af1ce898\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"The engineers believed that the dangerous trading was due to the new RLP code. They decided to immediately roll SMARS back to the previous version.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$0350cdcb-b229-43c4-9cb5-4d983746e628\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Oh no. No no no nooo.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$15657250-ad23-4c21-82b6-62d9c9daad8f\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"content\":[{\"type\":\"paragraph\",\"text\":\"Yep. Now, all eight servers had Power Peg enabled, churning away, trading as dangerously as possible.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"It wasn’t until 9:58am, that Knight’s engineers finally traced the problem to Power Peg and shut it down. But in that time, it had purchased $7 billion worth of shares. By the end of the day, Knight had frantically reduced it to $4.6 billion, but it was still far, far more than Knight were allowed to hold, because they didn’t have the cash to cover it.\",\"spans\":[{\"start\":141,\"end\":151,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"In the end, Knight Capital made a loss of about $440 million on Power Peg’s trades. The company immediately lost most of its biggest clients, its reputation destroyed. Knight was acquired a few months later by a rival trader for less than a third of its previous share price.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"simple_quote$dfdac4a5-04a8-4624-9f4e-161b9be12b2e\",\"slice_type\":\"simple_quote\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"This story has so many different lessons for engineering teams, it’s hard to count them all. We’ve mainly focused on the ones to do with feature flags and notifications, but there were many others, as listed in the SEC report on the incident.\",\"spans\":[{\"start\":211,\"end\":225,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://web.archive.org/web/20201202132324/https://www.sec.gov/litigation/admin/2013/34-70694.pdf\"}}]},{\"type\":\"paragraph\",\"text\":\"We hope you’ve enjoyed our 10 Days of Errors, More importantly, we hope we’ve instilled you with the appropriate amount of fear for software disasters. LaunchDarkly and Rollbar won’t prevent you from bringing bugs into this world; the choice to open that demonic portal known as a “code editor” is up to you. However, we can give you far better tools to battle whatever fiends emerge. You can use alerts to prepare for their arrival, send them back to the darkness with the flick of a kill switch, and be all cleaned up well before bedtime. Sweet dreams! \",\"spans\":[{\"start\":321,\"end\":324,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"This post was co-authored by Ramon Niebla, Software Engineer at Rollbar.\",\"spans\":[{\"start\":0,\"end\":72,\"type\":\"em\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$2dae300d-edb8-42c9-8811-066351f4cfc7\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"10 Days of Software Errors: Failure Stories\",\"spans\":[],\"direction\":\"ltr\"}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"Software errors have caused real outages, from Knight Capital's $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags.\",\"spans\":[],\"direction\":\"ltr\"}],\"schema\":[],\"open_graph_image\":{}}}}],\"$L2d\",\"$L2e\",\"$L2f\"]\n"])</script><script>self.__next_f.push([1,"17:null\n"])</script><script>self.__next_f.push([1,"1b:[[\"$\",\"title\",\"0\",{\"children\":\"10 Days of Software Errors: Failure Stories | LaunchDarkly\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Software errors have caused real outages, from Knight Capital's $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"4\",{\"name\":\"generator\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"5\",{\"name\":\"referrer\",\"content\":\"origin-when-cross-origin\"}],[\"$\",\"meta\",\"6\",{\"name\":\"creator\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"7\",{\"name\":\"publisher\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"8\",{\"name\":\"robots\",\"content\":\"index\"}],[\"$\",\"meta\",\"9\",{\"name\":\"googlebot\",\"content\":\"index\"}],[\"$\",\"link\",\"10\",{\"rel\":\"canonical\",\"href\":\"https://launchdarkly.com/blog/10-days-of-errors/\"}],[\"$\",\"meta\",\"11\",{\"name\":\"format-detection\",\"content\":\"telephone=no, address=no, email=no\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:title\",\"content\":\"10 Days of Software Errors: Failure Stories | LaunchDarkly\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:description\",\"content\":\"Software errors have caused real outages, from Knight Capital's $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags.\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:url\",\"content\":\"https://launchdarkly.com/blog/10-days-of-errors/\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:site_name\",\"content\":\"LaunchDarkly\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:image\",\"content\":\"https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:alt\",\"content\":\"LaunchDarkly - Feature management platform\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:site\",\"content\":\"@LaunchDarkly\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:title\",\"content\":\"10 Days of Software Errors: Failure Stories | LaunchDarkly\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:description\",\"content\":\"Software errors have caused real outages, from Knight Capital's $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags.\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:image\",\"content\":\"https://launchdarkly.com/_next/static/media/open-graph.a62eb7e7.jpg\"}],[\"$\",\"meta\",\"27\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:image:alt\",\"content\":\"LaunchDarkly - Feature management platform\"}],[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/icon.png?8354b0c15ee5b065\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"32\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?8354b0c15ee5b065\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"$L30\",\"33\",{}]]\n"])</script><script>self.__next_f.push([1,"32:I[61689,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"33:I[36552,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"PreloadChunks\"]\n"])</script><script>self.__next_f.push([1,"34:I[47358,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2e:[\"$\",\"div\",null,{\"className\":\"styles-module__ZkjjmG__body styles-module__ZkjjmG__isRefreshDesign\",\"children\":[\"$\",\"main\",null,{\"className\":\"styles-module__ZkjjmG__main \",\"children\":[[\"$\",\"section\",null,{\"className\":\"styles-module__NFwUga__newSection styles-module__NFwUga__bgLight\",\"id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-jump-id\":\"$undefined\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__NFwUga__contentContainer \",\"style\":\"$undefined\",\"children\":[\"$L31\",[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__blogContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__content\",\"children\":[[\"$\",\"p\",null,{\"className\":\"styles-module__J0n02W__variant_textXsmallCaps styles-module__J0n02W__paragraph styles-module__J0n02W__color_gray04 styles-module__J0n02W__weight_medium\",\"children\":\"Oct 19, 2020\"}],[\"$\",\"h1\",null,{\"className\":\"styles-module__J0n02W__variant_h3 styles-module__J0n02W__weight_semibold styles-module__HXqOTa__blogTitle\",\"children\":\"10 Days of Errors \"}],\"\",[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__authorContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__5zAopa__author \",\"children\":[[\"$\",\"$L28\",null,{\"href\":\"/blog/author/ygrahame\",\"className\":\"styles-module__5zAopa__authorImage\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image post-details-author-image\",\"children\":[\"$\",\"$L27\",null,{\"field\":{\"dimensions\":\"$5:0:props:document:data:author:data:author_image:dimensions\",\"alt\":\"Yoz Grahame\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/0fcf9f9b-a2e7-4858-8106-c8b9509e3d7d_yozGrahame.jpg?auto=compress,format\u0026rect=0,0,150,150\u0026w=2000\u0026h=2000\",\"id\":\"X2uqFREAACIArpq2\",\"edit\":\"$5:0:props:document:data:author:data:author_image:edit\"},\"className\":\"styles-module__nv1SBG__image\",\"quality\":80,\"sizes\":\"$undefined\",\"alt\":\"$undefined\",\"fallbackAlt\":\"\",\"priority\":false,\"placeholder\":\"$undefined\",\"fill\":\"$undefined\",\"loading\":\"lazy\"}]}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__5zAopa__authorDetails\",\"children\":[[\"$\",\"$L28\",null,{\"href\":\"/blog/author/ygrahame\",\"className\":\"styles-module__5zAopa__authorName\",\"children\":\"Yoz Grahame\"}],[\"$\",\"div\",null,{\"className\":\"styles-module__5zAopa__authorJobTitle\",\"children\":\"LaunchDarkly\"}]]}]]}],[]]}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__nv1SBG__container styles-module__nv1SBG__ratio_natural styles-module__nv1SBG__object-fit_cover prismic-image styles-module__HXqOTa__featuredImage\",\"children\":[\"$\",\"$L27\",null,{\"field\":{\"dimensions\":\"$5:0:props:document:data:featured_image:dimensions\",\"alt\":\"10 Days of Errors\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/MWI2ZDE4NmQtYzBkNC00N2U5LWEyYjgtMWE1MmVjYjUyMzUw_202010_10daysoferrors_linkedin2x-1.jpg?auto=compress,format\u0026rect=0,0,2400,1254\u0026w=2000\u0026h=1045\",\"id\":\"X5iV0REAAB0Arh5O\",\"edit\":\"$5:0:props:document:data:featured_image:edit\"},\"className\":\"styles-module__nv1SBG__image\",\"quality\":80,\"sizes\":\"$undefined\",\"alt\":\"$undefined\",\"fallbackAlt\":\"\",\"priority\":false,\"placeholder\":\"$undefined\",\"fill\":\"$undefined\",\"loading\":\"eager\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__staticBar\",\"children\":[\"$\",\"$L32\",null,{}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__blogMainContainer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__body\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__blogContentWrapper\",\"children\":[\"$\",\"article\",null,{\"className\":\"blog-post-main-content\",\"children\":[[[\"$\",\"div\",\"wysiwyg$e1550a59-d4a4-49d8-9d9b-7fc2c766b9bc\",{\"data-ld-slice-index\":0,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":[\"slicesBlog/index.ts -\u003e ./Wysiwyg\"]}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:0\",\"extraData\":\"$undefined\",\"params\":{\"uid\":\"10-days-of-errors\"},\"searchParams\":{},\"id\":\"wysiwyg$e1550a59-d4a4-49d8-9d9b-7fc2c766b9bc\",\"type\":\"Wysiwyg\",\"index\":0,\"noContainer\":true}]]}],[\"$\",\"div\",\"simple_quote$f4d5f28d-60ed-4e7d-bf9f-167afdda7fc1\",{\"data-ld-slice-index\":1,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":[\"slicesBlog/index.ts -\u003e ./SimpleQuote\"]}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":\"$L35\"}]]}],\"$L36\",\"$L37\",\"$L38\",\"$L39\",\"$L3a\",\"$L3b\",\"$L3c\",\"$L3d\",\"$L3e\",\"$L3f\",\"$L40\",\"$L41\",\"$L42\",\"$L43\",\"$L44\",\"$L45\",\"$L46\",\"$L47\",\"$L48\",\"$L49\",\"$L4a\",\"$L4b\",\"$L4c\",\"$L4d\",\"$L4e\",\"$L4f\",\"$L50\",\"$L51\",\"$L52\",\"$L53\",\"$L54\",\"$L55\",\"$L56\",\"$L57\",\"$L58\",\"$L59\",\"$L5a\",\"$L5b\",\"$L5c\",\"$L5d\",\"$L5e\",\"$L5f\",\"$L60\"],\"$L61\"]}]}]}],\"$L62\"]}],\"$L63\"]}],\"$L64\",\"$L65\",\"$L66\"]}]}],\"$L67\"]}]}]\n"])</script><script>self.__next_f.push([1,"8d:I[13428,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"b0:I[36815,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"b1:I[16367,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"b2:I[89179,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"b3:I[99934,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"b4:I[637,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"68:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"35:[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$68\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"8\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$7\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The location was a server room, somewhere up on the 4th or 5th floor of an office in Portsmouth (I think it was) by the docks. One day the main Unix DB server fell over. It was rebooted but it happily fell over again and again, so they called out the support company.\"]]}]]}]]}],[\"$\",\"p\",\"10\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$9\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"So, the support gadgie – Mark I think his name was, not that it matters – gets there a few hours later. Leeds to Portsmouth, you see… it’s a long way. He switches on the server and everything works without error. Typical bloody support really, client gets upset over naff all. He goes through the log files and finds pretty much nothing that would make the box fall over. Mark then gets back on the train and heads back up to Leeds after a pointless waste of a day.\"]]}]]}]]}],[\"$\",\"p\",\"12\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$11\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Later that evening, the server falls over. Exactly the same story… it won’t come back up. Mark goes through all the usual remote support stuff but the client can’t get the server to run.\"]]}]]}]]}],\"$L69\",\"$L6a\",\"$L6b\",\"$L6c\",\"$L6d\",\"$L6e\",\"$L6f\",\"$L70\",\"$L71\",\"$L72\"]}]}],\"\"]}]]}]\n"])</script><script>self.__next_f.push([1,"36:[\"$\",\"div\",\"wysiwyg$5ade151f-3bc1-4c09-9e86-94f09bf4549c\",{\"data-ld-slice-index\":2,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:2\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$5ade151f-3bc1-4c09-9e86-94f09bf4549c\",\"type\":\"Wysiwyg\",\"index\":2,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"73:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"37:[\"$\",\"div\",\"simple_quote$97545b6d-1982-4c51-a40d-825eb245e74f\",{\"data-ld-slice-index\":3,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$73\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"35\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$34\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The Second Life desktop app for Windows had a built-in updater that worked in the simplest way possible: it would download an updater program from a pre-set URL on the Second Life website, save it to the user’s hard drive as updater.exe, and run it.\"]]}]]}]]}],[\"$\",\"p\",\"37\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$36\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"One day, for reasons lost in time, requests to that URL returned a 404 Not Found page. Perhaps the server was misconfigured, or the file was deleted… who knows? These things happen to every website. In most situations like this, the user trying to access that page is a human who gets annoyed and does something else, and that’s the end of the story. But when the user is a program, the outcome is less predictable.\"]]}]]}]]}],\"$L74\",\"$L75\",\"$L76\",\"$L77\",\"$L78\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"38:[\"$\",\"div\",\"wysiwyg$78ebe3c2-483d-49d9-899b-eb1e8b263e7c\",{\"data-ld-slice-index\":4,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:4\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$78ebe3c2-483d-49d9-899b-eb1e8b263e7c\",\"type\":\"Wysiwyg\",\"index\":4,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"79:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"39:[\"$\",\"div\",\"simple_quote$9e03a564-297e-4354-b066-2de5aa1f800a\",{\"data-ld-slice-index\":5,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$79\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"62\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$61\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"It was a dark and stormy night, and all was still in the Etsy office… save for an eager developer trying to ship a change on their first week at the company. They were deleting a harmless, unused style sheet — originally needed to support the ancient IE6 — and all the files that included it. Tested out on staging, everything looks good! Tests pass! Time to ship it.\"]]}]]}]]}],[\"$\",\"p\",\"67\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$63\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"But lo and behold, there was a bug! A race condition on deploy meant that some of the updated pages weren’t deployed properly, and the old versions tried to include the now non-existent CSS file, which threw an error. This wouldn’t have been so bad, except the error page \"]]}]]}],\"$L7a\",\"$L7b\"]}],\"$L7c\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"3a:[\"$\",\"div\",\"wysiwyg$6d68c0b9-0f09-412e-bc1c-924cee96e4bf\",{\"data-ld-slice-index\":6,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:6\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$6d68c0b9-0f09-412e-bc1c-924cee96e4bf\",\"type\":\"Wysiwyg\",\"index\":6,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"7d:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"3b:[\"$\",\"div\",\"simple_quote$3dd368bd-aa89-46c6-9115-ccd61cdc3e1a\",{\"data-ld-slice-index\":7,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$7d\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"72\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$71\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The task was to set up an e-commerce store that sold industrial parts for a mine site, think Grainger catalog, but for civic corporations. The development team came together, split up the tasks and went to work building. Pretty straight forward project; a catalogue of items, authentication and a checkout with credit card. The team finished the project and felt pretty good about it. They shipped it and were proud that the project went so smoothly.\"]]}]]}]]}],[\"$\",\"p\",\"74\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$73\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Fast forward 18 months after shipping the website, when a bug was discovered.\"]]}]]}]]}],[\"$\",\"p\",\"76\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[\"$L7e\"]}],\"$L7f\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"3c:[\"$\",\"div\",\"wysiwyg$f93ca8a1-0984-43fe-9fd7-eb2df4605e16\",{\"data-ld-slice-index\":8,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:8\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$f93ca8a1-0984-43fe-9fd7-eb2df4605e16\",\"type\":\"Wysiwyg\",\"index\":8,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"80:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"3d:[\"$\",\"div\",\"simple_quote$5ce04d07-ced9-4c65-a850-ad08e874a584\",{\"data-ld-slice-index\":9,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$80\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"81\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$80\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"10 years ago, I was working for F5 Networks as a Solution Architect. Our hardware had been deployed at an ISP to improve web performance for mobile users. Every day at approximately the same time the internet stopped working for about 5 minutes, and system processes were restarting. I was sent on-site for the day to troubleshoot. As the day wore on I realized the quick day trip was turning into an overnight. All diagnostic and troubleshooting was showing no problems, the problem occurred at 3am. I had to be on-site to see what was going on.\"]]}]]}]]}],[\"$\",\"p\",\"83\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$82\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"A last minute hotel was booked, and I went shopping for a change of clothes. I got a few hours sleep so I could be on-line at the witching hour to see what was wrong. Sure enough as expected, the system failed. Within 5 minutes everything was working again. Everything was fine with the hardware. I went sleuthing on the internet, armed with the timestamps of when the failures were occurring. None of the standard searches were resulting in a solution.\"]]}]]}]]}],\"$L81\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"3e:[\"$\",\"div\",\"wysiwyg$f926a469-1856-41a7-a992-cdc25dc7a414\",{\"data-ld-slice-index\":10,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:10\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$f926a469-1856-41a7-a992-cdc25dc7a414\",\"type\":\"Wysiwyg\",\"index\":10,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"82:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"3f:[\"$\",\"div\",\"simple_quote$43393871-e059-47bd-a36d-e077edf11064\",{\"data-ld-slice-index\":11,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$82\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"88\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$87\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"As IMified grew, most Monday mornings we’d have an unexplained crash of our core XMPP server. We could see there was lots of network traffic around 9am PST, but it was encrypted and commercial XMPP servers didn’t give tools to analyze at any level of detail.\"]]}]]}]]}],[\"$\",\"p\",\"92\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$89\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Solution? We built our own XMPP server to instrument and analyze the traffic. And then we saw the source of the traffic. \"]]}]]}],[\"$\",\"em\",\".$91\",{\"children\":[[\"$\",\"$1\",\".$.$90\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Presence packets.\"]]}]]}]]}]]}],[\"$\",\"p\",\"94\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[\"$L83\"]}],\"$L84\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"40:[\"$\",\"div\",\"wysiwyg$e27f413c-2e72-4e44-960d-0a0c1380dd57\",{\"data-ld-slice-index\":12,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:12\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$e27f413c-2e72-4e44-960d-0a0c1380dd57\",\"type\":\"Wysiwyg\",\"index\":12,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"41:[\"$\",\"div\",\"wysiwyg$15aaaf9d-45e5-46b5-9bbc-69c5caa2c28e\",{\"data-ld-slice-index\":13,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:13\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$15aaaf9d-45e5-46b5-9bbc-69c5caa2c28e\",\"type\":\"Wysiwyg\",\"index\":13,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"85:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"42:[\"$\",\"div\",\"simple_quote$1a865058-c964-4480-8a06-200b1b5cb02c\",{\"data-ld-slice-index\":14,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$85\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"105\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$101\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Computer-controlled characters in video games have behavioral logic so they can react appropriately to player actions. But this reactiveness is deliberately limited so that characters don’t react to \"]]}]]}],[\"$\",\"em\",\".$103\",{\"children\":[[\"$\",\"$1\",\".$.$102\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"everything\"]]}]]}]]}],[\"$\",\"$1\",\".$104\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"; they should only react to the kinds of events that real people would react to in real life. Imagine a shopkeeper character: it shouldn’t care about the player moving objects around in the house next door, but it should act when the player takes something from the shop without paying.\"]]}]]}]]}],[\"$\",\"p\",\"116\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$106\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"In most games, characters only react to events that occur in their immediate vicinity. More advanced games limit this reactiveness to events that happen \"]]}]]}],\"$L86\",\"$L87\",\"$L88\",\"$L89\",\"$L8a\",\"$L8b\"]}],\"$L8c\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"43:[\"$\",\"div\",\"youtube_video$62271bb3-9dd6-42f2-9672-6def39737788\",{\"data-ld-slice-index\":15,\"data-ld-slice-type\":\"youtube_video\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":[\"slicesBlog/index.ts -\u003e ./YoutubeVideo\"]}],[\"$\",\"$L8d\",null,{\"data\":\"$5:0:props:document:data:body:15\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"youtube_video$62271bb3-9dd6-42f2-9672-6def39737788\",\"type\":\"YoutubeVideo\",\"index\":15,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"44:[\"$\",\"div\",\"wysiwyg$0961f8e9-4b9d-4d4a-98fb-4afa9c0a5c95\",{\"data-ld-slice-index\":16,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:16\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$0961f8e9-4b9d-4d4a-98fb-4afa9c0a5c95\",\"type\":\"Wysiwyg\",\"index\":16,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"8e:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"45:[\"$\",\"div\",\"simple_quote$efc83b18-87a5-47c7-b64c-9b4a6fc215d4\",{\"data-ld-slice-index\":17,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$8e\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"124\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$123\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"To enjoy this bug: find a heavy bucket. Stand on it, in exactly the right place. Then grab the bucket. Now you’re up, up and away!\"]]}]]}]]}],[\"$\",\"p\",\"126\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$125\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"We couldn’t find a definitive explanation. One speedrunner suggested that it’s caused by the game’s faulty implementation of Newton’s third law of motion. We find that unlikely, but the outcome of this bug is so bizarre that we can’t rule it out entirely.\"]]}]]}]]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"46:[\"$\",\"div\",\"wysiwyg$b76fa9df-23ed-4006-a579-9af6c9fbef68\",{\"data-ld-slice-index\":18,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:18\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$b76fa9df-23ed-4006-a579-9af6c9fbef68\",\"type\":\"Wysiwyg\",\"index\":18,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"47:[\"$\",\"div\",\"youtube_video$4bda5ef7-7ea2-45c3-a703-bbd59e0368f9\",{\"data-ld-slice-index\":19,\"data-ld-slice-type\":\"youtube_video\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$43:props:children:0:props:moduleIds\"}],[\"$\",\"$L8d\",null,{\"data\":\"$5:0:props:document:data:body:19\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"youtube_video$4bda5ef7-7ea2-45c3-a703-bbd59e0368f9\",\"type\":\"YoutubeVideo\",\"index\":19,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"48:[\"$\",\"div\",\"wysiwyg$b9f7894a-e27c-4f2d-9538-49aa8a81410d\",{\"data-ld-slice-index\":20,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:20\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$b9f7894a-e27c-4f2d-9538-49aa8a81410d\",\"type\":\"Wysiwyg\",\"index\":20,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"8f:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"49:[\"$\",\"div\",\"simple_quote$0f2ad22d-c36b-41c2-8b71-d0d87d09ab18\",{\"data-ld-slice-index\":21,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$8f\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"129\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$128\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"One of the most valuable product categories in the Second Life (SL) economy is virtual pets. There’s enough profit in selling digital animals and their supplies to sustain several small real-world businesses. Take, for example, the tragic story of Ozimals, a company selling virtual rabbits which met with a messy legal end.\"]]}]]}]]}],[\"$\",\"p\",\"131\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$130\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Among the other kinds of virtual pets in SL were Arabian horses. Just like the bunnies, you had to buy them food. (The food is where most of the revenue lives in the virtual pets business. It’s just the Xerox model made weirder.) You’d put the food out, they’d find it and eat it, and some time later they’d want more.\"]]}]]}]]}],\"$L90\",\"$L91\",\"$L92\",\"$L93\",\"$L94\",\"$L95\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"4a:[\"$\",\"div\",\"wysiwyg$7e075d58-e05c-4612-a050-8e97ca8c3994\",{\"data-ld-slice-index\":22,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:22\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$7e075d58-e05c-4612-a050-8e97ca8c3994\",\"type\":\"Wysiwyg\",\"index\":22,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"96:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"4b:[\"$\",\"div\",\"simple_quote$f7f212b5-ae9f-448a-979b-d0f43696151d\",{\"data-ld-slice-index\":23,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$96\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"152\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$151\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Back in the mid-90s, two middle-aged finance executives, Kenneth Pasternak and Walter Raquet, saw NASDAQ going digital and said: what if the traders were digital too? What if it was just computers? They could do thousands of trades a minute. \"]]}]]}]]}],[\"$\",\"p\",\"160\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$153\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"It was 1995 when they founded Knight Trading Group (later renamed to Knight Capital Group) with a bunch of smart engineers and immediately started making \"]]}]]}],[\"$\",\"em\",\".$155\",{\"children\":[[\"$\",\"$1\",\".$.$154\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"ridiculous\"]]}]]}]]}],[\"$\",\"$1\",\".$156\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" amounts of money. Within three years they had gone public, their IPO (Initial Public Offering) raising $145 million on top of a market capitalization of $725 million. It took only 18 months for their market capitalization to grow \"]]}]]}],\"$L97\",\"$L98\"]}],\"$L99\",\"$L9a\",\"$L9b\",\"$L9c\",\"$L9d\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"4c:[\"$\",\"div\",\"wysiwyg$6e29492d-dfbd-4909-9748-5481e769dec7\",{\"data-ld-slice-index\":24,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:24\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$6e29492d-dfbd-4909-9748-5481e769dec7\",\"type\":\"Wysiwyg\",\"index\":24,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"9e:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"4d:[\"$\",\"div\",\"simple_quote$5714146a-491d-4768-a3fe-8310a35a3b8d\",{\"data-ld-slice-index\":25,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$9e\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"191\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$178\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Back when Knight Capital was creating its initial trading algorithms – the ones that gave it such a massive lead in the market – it wanted to test them in a kind of virtual stock exchange; like a video game version of the stock market. But Knight’s own trading algorithms wouldn’t be enough to simulate market activity, because they also wanted to test how the algorithms would fare when the market behaves weirdly. Their virtual market needed\"]]}]]}],[\"$\",\"em\",\".$180\",{\"children\":[[\"$\",\"$1\",\".$.$179\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"other\"]]}]]}]]}],[\"$\",\"$1\",\".$181\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"algorithms that would do irrational things. For example, they needed a market player that would buy\"]]}]]}],[\"$\",\"em\",\".$183\",{\"children\":[[\"$\",\"$1\",\".$.$182\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"high\"]]}]]}]]}],[\"$\",\"$1\",\".$184\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"and sell\"]]}]]}],\"$L9f\",\"$La0\",\"$La1\",\"$La2\"]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"4e:[\"$\",\"div\",\"wysiwyg$526b24c2-0a5d-4c01-a1c8-d77c8a73eec3\",{\"data-ld-slice-index\":26,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:26\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$526b24c2-0a5d-4c01-a1c8-d77c8a73eec3\",\"type\":\"Wysiwyg\",\"index\":26,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"a3:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"4f:[\"$\",\"div\",\"simple_quote$dd8891c9-ef2d-49bd-b86c-6064f53e1975\",{\"data-ld-slice-index\":27,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$a3\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"194\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$193\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Yep.\"]]}]]}]]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"50:[\"$\",\"div\",\"wysiwyg$11297669-7af4-4049-98d9-f6c6662e7403\",{\"data-ld-slice-index\":28,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:28\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$11297669-7af4-4049-98d9-f6c6662e7403\",\"type\":\"Wysiwyg\",\"index\":28,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"a4:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"51:[\"$\",\"div\",\"simple_quote$d1b0ffde-44cd-4014-b540-29fa9dc8dda1\",{\"data-ld-slice-index\":29,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$a4\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"197\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$196\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"They did. However, this deletion happened at the same time as the RLP code was added. Power Peg hadn’t been used since 2003, yet lingered in the code ever since.\"]]}]]}]]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"52:[\"$\",\"div\",\"wysiwyg$b615c435-d69f-4274-a179-842b0a8c5fe6\",{\"data-ld-slice-index\":30,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:30\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$b615c435-d69f-4274-a179-842b0a8c5fe6\",\"type\":\"Wysiwyg\",\"index\":30,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"a5:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"53:[\"$\",\"div\",\"simple_quote$380fe90c-c478-4663-b15f-c6a45917d936\",{\"data-ld-slice-index\":31,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$a5\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"200\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$199\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Nope.\"]]}]]}]]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"54:[\"$\",\"div\",\"wysiwyg$efc7771e-aa02-40c8-aecc-a8dad26745ac\",{\"data-ld-slice-index\":32,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:32\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$efc7771e-aa02-40c8-aecc-a8dad26745ac\",\"type\":\"Wysiwyg\",\"index\":32,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"a6:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"55:[\"$\",\"div\",\"simple_quote$65c22b1d-0769-45a8-bac1-edb2033c4efb\",{\"data-ld-slice-index\":33,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$a6\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"209\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$202\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"But in this case, the Power Peg code \"]]}]]}],[\"$\",\"em\",\".$204\",{\"children\":[[\"$\",\"$1\",\".$.$203\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"was\"]]}]]}]]}],[\"$\",\"$1\",\".$205\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" eliminated in the new version of SMARS. So as long as the previous version was \"]]}]]}],[\"$\",\"em\",\".$207\",{\"children\":[[\"$\",\"$1\",\".$.$206\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"completely\"]]}]]}]]}],[\"$\",\"$1\",\".$208\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" removed from the production servers, there would be no danger of accidentally triggering Power Peg.\"]]}]]}]]}],[\"$\",\"p\",\"214\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$210\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The new SMARS code was completed a week before RLP’s launch. Knight deployed the new version of SMARS to its servers. However, Knight’s infrastructure team was still doing deployments manually. The engineer responsible for the deployment had to install the new code across eight servers. \"]]}]]}],\"$La7\",\"$La8\"]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"56:[\"$\",\"div\",\"wysiwyg$16326526-1b22-42b2-8fa3-4a364b916e60\",{\"data-ld-slice-index\":34,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:34\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$16326526-1b22-42b2-8fa3-4a364b916e60\",\"type\":\"Wysiwyg\",\"index\":34,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"a9:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"57:[\"$\",\"div\",\"simple_quote$55d498f8-38da-4d37-b440-bb05e2798d69\",{\"data-ld-slice-index\":35,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$a9\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"217\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$216\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Yep.\"]]}]]}]]}],[\"$\",\"p\",\"219\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$218\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"At 8:00am on August 1st, SMARS switched on to handle pre-market orders, and immediately started sending automated warning emails to Knight’s engineers. These emails, containing the error message “Power Peg disabled”, should have been enough to warn staff that something was going wrong. But few engineers noticed the emails, and none of them realised the danger.\"]]}]]}]]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"58:[\"$\",\"div\",\"wysiwyg$f2071f1d-d37c-4798-b4ff-e6bce812193e\",{\"data-ld-slice-index\":36,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:36\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$f2071f1d-d37c-4798-b4ff-e6bce812193e\",\"type\":\"Wysiwyg\",\"index\":36,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"aa:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"59:[\"$\",\"div\",\"simple_quote$4135e3c3-67fe-4455-978c-a204d44f25b5\",{\"data-ld-slice-index\":37,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$aa\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"222\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$221\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"At 9:30am, the new RLP market opened for business. Power Peg, still present on one production server, flew into action and started spending the firm’s money in the stupidest way possible, as fast as possible. Within a couple of minutes it had performed more trades on certain stocks than they would usually see in a month, and the total volume of trading was 12% higher than usual.\"]]}]]}]]}],[\"$\",\"p\",\"224\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$223\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"At 9:34am, NYSE engineers investigating the trading spike traced it back to Knight Capital. Knight’s own engineers hadn’t noticed the extent of what was happening; they could see the higher trading volume, but didn’t realise that SMARS was now shoving Knight Capital’s market position into serious debt. Somehow, Power Peg’s activity evaded all their internal alarms other than the aforementioned warning emails, which had still gone unnoticed.\"]]}]]}]]}],\"$Lab\"]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"5a:[\"$\",\"div\",\"wysiwyg$d445bd4e-a3e3-4c20-a128-442372afffda\",{\"data-ld-slice-index\":38,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:38\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$d445bd4e-a3e3-4c20-a128-442372afffda\",\"type\":\"Wysiwyg\",\"index\":38,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"ac:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"5b:[\"$\",\"div\",\"simple_quote$3532dab0-9d94-4e4d-bcd4-668c7b0df70d\",{\"data-ld-slice-index\":39,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$ac\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"232\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$228\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Nope. SMARS, for some reason,\"]]}]]}],[\"$\",\"em\",\".$230\",{\"children\":[[\"$\",\"$1\",\".$.$229\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"didn’t have a kill switch\"]]}]]}]]}],[\"$\",\"$1\",\".$231\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\".\"]]}]]}]]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"5c:[\"$\",\"div\",\"wysiwyg$901bd88c-90ea-440a-ae68-6933af1ce898\",{\"data-ld-slice-index\":40,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:40\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$901bd88c-90ea-440a-ae68-6933af1ce898\",\"type\":\"Wysiwyg\",\"index\":40,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"ad:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"5d:[\"$\",\"div\",\"simple_quote$0350cdcb-b229-43c4-9cb5-4d983746e628\",{\"data-ld-slice-index\":41,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$ad\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content styles-module__n0QSmq__injectQuotes\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"235\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$234\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The engineers believed that the dangerous trading was due to the new RLP code. They decided to immediately roll SMARS back to the previous version.\"]]}]]}]]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"5e:[\"$\",\"div\",\"wysiwyg$15657250-ad23-4c21-82b6-62d9c9daad8f\",{\"data-ld-slice-index\":42,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:42\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$15657250-ad23-4c21-82b6-62d9c9daad8f\",\"type\":\"Wysiwyg\",\"index\":42,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"ae:T5c5,"])</script><script>self.__next_f.push([1,"M60 33V39.2124H58.099C56.5677 39.2124 55.3531 39.4513 54.4554 39.9292C53.5578 40.4071 52.8977 41.2301 52.4752 42.3982C52.0528 43.5133 51.8416 45.0266 51.8416 46.9381V52.8319L49.5446 48.3717C49.9142 48.1062 50.4422 47.8938 51.1287 47.7345C51.8152 47.5221 52.5281 47.4159 53.2673 47.4159C55.0099 47.4159 56.462 47.9735 57.6238 49.0885C58.7855 50.1504 59.3663 51.6372 59.3663 53.5487C59.3663 55.354 58.8119 56.8938 57.703 58.1681C56.5941 59.3894 55.0099 60 52.9505 60C51.6304 60 50.3894 59.708 49.2277 59.1239C48.1188 58.4867 47.2211 57.4248 46.5347 55.9381C45.8482 54.3982 45.5049 52.3009 45.5049 49.646V48.292C45.5049 44.5221 46.0066 41.5221 47.0099 39.292C48.066 37.0619 49.571 35.469 51.5248 34.5133C53.4785 33.5044 55.8548 33 58.6535 33H60ZM42.495 33V39.2124H40.5941C39.0627 39.2124 37.8482 39.4513 36.9505 39.9292C36.0528 40.4071 35.3927 41.2301 34.9703 42.3982C34.5479 43.5133 34.3366 45.0266 34.3366 46.9381V52.8319L32.0396 48.3717C32.4092 48.1062 32.9373 47.8938 33.6238 47.7345C34.3102 47.5221 35.0231 47.4159 35.7624 47.4159C37.505 47.4159 38.9571 47.9735 40.1188 49.0885C41.2805 50.1504 41.8614 51.6372 41.8614 53.5487C41.8614 55.354 41.3069 56.8938 40.198 58.1681C39.0891 59.3894 37.505 60 35.4455 60C34.1254 60 32.8845 59.708 31.7228 59.1239C30.6139 58.4867 29.7162 57.4248 29.0297 55.9381C28.3432 54.3982 28 52.3009 28 49.646V48.292C28 44.5221 28.5017 41.5221 29.505 39.292C30.5611 37.0619 32.066 35.469 34.0198 34.5133C35.9736 33.5044 38.3498 33 41.1485 33H42.495Z"])</script><script>self.__next_f.push([1,"5f:[\"$\",\"div\",\"simple_quote$dfdac4a5-04a8-4624-9f4e-161b9be12b2e\",{\"data-ld-slice-index\":43,\"data-ld-slice-type\":\"simple_quote\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:1:props:children:0:props:moduleIds\"}],[\"$\",\"section\",null,{\"data-jump-id\":\"$undefined\",\"data-name\":\"$undefined\",\"data-theme\":\"$undefined\",\"className\":\"style-module__REJINa__section style-module__REJINa__spacing_bottom_none style-module__REJINa__spacing_top_none styles-module__6nQgMq__simpleQuote\",\"children\":[\"$\",\"figure\",null,{\"className\":\"styles-module__n0QSmq__quoteFigure\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"styles-module__n0QSmq__badge\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 72 72\",\"fill\":\"none\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",null,{\"width\":\"72\",\"height\":\"72\",\"rx\":\"8\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$ae\",\"fill\":\"#F8F8F8\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__n0QSmq__body\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"styles-module__n0QSmq__content\",\"children\":[\"$\",\"div\",null,{\"className\":\"$undefined\",\"children\":[[\"$\",\"p\",\"238\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$237\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Yep. Now, all eight servers had Power Peg enabled, churning away, trading as dangerously as possible.\"]]}]]}]]}],[\"$\",\"p\",\"243\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$239\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"It wasn’t until 9:58am, that Knight’s engineers finally traced the problem to Power Peg and shut it down. But in that time, it had purchased \"]]}]]}],[\"$\",\"strong\",\".$241\",{\"children\":[[\"$\",\"$1\",\".$.$.$240\",{\"children\":[[\"$\",\"$1\",\".$.$.$.$0__line\",{\"children\":[[\"$$7 billion\"]]}]]}]]}],[\"$\",\"$1\",\".$242\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" worth of shares. By the end of the day, Knight had frantically reduced it to $4.6 billion, but it was still far, far more than Knight were allowed to hold, because they didn’t have the cash to cover it.\"]]}]]}]]}],[\"$\",\"p\",\"245\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[\"$Laf\"]}]]}]}],\"\"]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"60:[\"$\",\"div\",\"wysiwyg$2dae300d-edb8-42c9-8811-066351f4cfc7\",{\"data-ld-slice-index\":44,\"data-ld-slice-type\":\"wysiwyg\",\"style\":\"$undefined\",\"children\":[[\"$\",\"$L33\",null,{\"moduleIds\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:0:props:moduleIds\"}],[\"$\",\"$L34\",null,{\"data\":\"$5:0:props:document:data:body:44\",\"extraData\":\"$undefined\",\"params\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:params\",\"searchParams\":\"$2e:props:children:props:children:0:props:children:props:children:1:props:children:2:props:children:0:props:children:props:children:props:children:0:0:props:children:1:props:searchParams\",\"id\":\"wysiwyg$2dae300d-edb8-42c9-8811-066351f4cfc7\",\"type\":\"Wysiwyg\",\"index\":44,\"noContainer\":true}]]}]\n"])</script><script>self.__next_f.push([1,"61:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__mobileCta\",\"children\":[\"$\",\"h5\",null,{\"className\":\"styles-module__HXqOTa__footerTitle\",\"children\":\"Like what you read?\"}]}]\n62:[\"$\",\"section\",null,{\"className\":\"styles-module__o_kpTq__sidebar\",\"children\":[[\"$\",\"$Lb0\",null,{\"data\":\"$5:0:props:document:data:body\"}],false,[[\"$\",\"div\",null,{\"className\":\"styles-module__o_kpTq__sidebarNewsletter\",\"children\":[\"$\",\"$Lb1\",null,{\"sidebarVersion\":true}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__o_kpTq__shareLinks\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__o_kpTq__shareContainer\",\"children\":[\"$\",\"$Lb2\",null,{\"title\":\"10 Days of Errors \",\"showIcons\":true}]}]}]]]}]\n"])</script><script>self.__next_f.push([1,"63:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__relatedContent\",\"children\":[\"$\",\"$Lb3\",null,{\"type\":\"blog_post\",\"cards\":[{\"id\":\"ZHofvxIAACMA0dFc\",\"uid\":\"webinar-using-launchdarkly-feature-flags-in-aws-serverless\",\"url\":\"/blog/webinar-using-launchdarkly-feature-flags-in-aws-serverless/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22ZHofvxIAACMA0dFc%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2023-07-26T18:40:33+0000\",\"last_publication_date\":\"2024-03-20T01:57:27+0000\",\"slugs\":[\"webinar-using-launchdarkly-feature-flags-in-aws-serverless\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":null,\"title\":[{\"type\":\"heading1\",\"text\":\"Webinar: Using LaunchDarkly Feature Flags in AWS Serverless\",\"spans\":[]}],\"author\":{\"id\":\"Y9FhJxAAAJ_wltS3\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"rebecca-dodd\",\"first_publication_date\":\"2023-01-25T18:19:26+0000\",\"last_publication_date\":\"2023-01-25T18:19:26+0000\",\"uid\":\"rebecca-dodd\",\"url\":\"/blog/author/rebecca-dodd/\",\"link_type\":\"Document\",\"key\":\"1de565cf-0ca7-44d7-8883-7d6a9feaef43\",\"isBroken\":false},\"timestamp\":null,\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"f1b78964-17b5-4d30-9a34-a1a56d11f8a6\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"How do you separate deployments from releases when you don't manage the entire tech stack? Watch the webinar to discover how developers can integrate feature flags into the release of a serverless web application to get granular control over releases. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1157},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/7ad77c39-8d8e-46c5-a0a0-63c94af8ed3b_23-5-Webinar+Recap_+How+to+do+Serverless+with+AWS+%2B+LD.png?auto=compress,format\u0026rect=0,0,2000,1157\u0026w=2000\u0026h=1157\",\"id\":\"ZH9gNRIAAB8A6Mfp\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"How do you separate deployments from releases when you don't manage the entire tech stack? In this webinar Brian Rinaldi, Developer Relations Engineer at LaunchDarkly and Welly Siauw, Principal Partner Solutions Architect at AWS, shared how developers can integrate feature flags into the release of a serverless web application to get granular control over releases. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We've captured highlights from the presentation below, but be sure to check out the video for Brian's full demo of how to set up LaunchDarkly in AWS Serverless.\",\"spans\":[{\"start\":70,\"end\":89,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/webinars/using-launchdarkly-feature-flags-in-aws-serverless/\",\"target\":\"_blank\"}}]},{\"type\":\"embed\",\"oembed\":{\"type\":\"video\",\"embed_url\":\"https://launchdarkly.wistia.com/medias/2dlxaovjok\",\"title\":\"Using LaunchDarkly Feature Flags In AWS Serverless\",\"provider_name\":\"Wistia, Inc.\",\"thumbnail_url\":\"https://embed-ssl.wistia.com/deliveries/4b17e2744af1fe9b2149ec15d4335b87.jpg?image_crop_resized=960x540\",\"width\":960,\"height\":540,\"player_color\":\"191919\",\"duration\":3739.29,\"version\":\"1.0\",\"author_name\":null,\"author_url\":null,\"provider_url\":\"https://wistia.com\",\"cache_age\":null,\"thumbnail_width\":960,\"thumbnail_height\":540,\"html\":\"\u003ciframe src=\\\"https://fast.wistia.net/embed/iframe/2dlxaovjok\\\" title=\\\"Using LaunchDarkly Feature Flags In AWS Serverless Video\\\" allow=\\\"autoplay; fullscreen\\\" allowtransparency=\\\"true\\\" frameborder=\\\"0\\\" scrolling=\\\"no\\\" class=\\\"wistia_embed\\\" name=\\\"wistia_embed\\\" msallowfullscreen width=\\\"960\\\" height=\\\"540\\\"\u003e\u003c/iframe\u003e\\n\u003cscript src=\\\"https://fast.wistia.net/assets/external/E-v1.js\\\" async\u003e\u003c/script\u003e\"}},{\"type\":\"heading2\",\"text\":\"What is AWS Serverless?\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Welly Siauw, Principal Partner Solutions Architect at AWS, kicked things off by explaining the concept of serverless. For context, studies in recent years have shown that leaders say a lot of developer time is being spent on operations and maintenance rather than innovation. While there are a number of causes behind this challenge, serverless technology addresses one: with AWS Serverless, developers can offload the undifferentiated heavy lifting on infrastructure—the work of maintaining the security and availability of their infrastructure—and focus on application code instead. Developers can use services that enable them to run code, manage data, and integrate applications without managing servers at all. \",\"spans\":[]},{\"type\":\"heading2\",\"text\":\"What is AWS Lambda?\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"AWS Lambda is a compute service that enables you to run application functions without provisioning or managing servers. As part of a serverless strategy, AWS Lambda offers agility (scaling up or down dynamically in response to demand) and cost-effectiveness (paying only for compute time used). By offloading security responsibilities to AWS you also free up more developer time for innovation. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Development and deployment of Lambda functions are similar to regular applications, with various tools and frameworks available for development, testing, and deployment. Welly also explained different deployment strategies for releasing new versions of Lambda functions, such as canary deployments and versioning with aliases. \",\"spans\":[{\"start\":191,\"end\":222,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/deployment-strategies/\"}},{\"start\":279,\"end\":297,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/four-common-deployment-strategies/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"To take full advantage of Lambda functions, combining them with feature flags can help ensure operational consistency and reduce dependencies when releasing new features. \",\"spans\":[]},{\"type\":\"heading2\",\"text\":\"What is feature management?\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Brian Rinaldi, Developer Relations Engineer at LaunchDarkly, took over to give an overview of feature flags and feature management, before diving into how to combine these with AWS Lambda. \",\"spans\":[{\"start\":94,\"end\":107,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/what-are-feature-flags/\",\"target\":\"_blank\"}},{\"start\":112,\"end\":130,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/feature-management/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"\\\"The key thing to think about is that feature flags help you separate the concept of deploying and release,\\\" Brian explained. \\\"I could deploy a piece of code to production, but it might not actually be running in production because it's wrapped in a flag. This helps remove risk from deploys and minimizes the risk of releases because if a feature isn't working properly once it's released, we can actually turn that off remotely without doing any kind of rollbacks or redeploys. This separation of deploy and release can really change the way you build and operate.\\\" \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Targeted rollouts and canary launches enable safer testing in production. More mature operational practices also become attainable, by simplifying complex tasks like migrations and making teams more open to upgrades or adopting new tools that enhance application performance. Features like kill switches and immediate feature flag updates ensure that any issues can be quickly addressed, and progressive rollouts and testing in production enable confidence in the functionality of launched features.\",\"spans\":[{\"start\":51,\"end\":72,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/testing-in-production-for-safety-and-sanity/\",\"target\":\"_blank\"}}]},{\"type\":\"heading2\",\"text\":\"Feature management + Lambda functions\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"For feature management to work well, it has to be integrated into all layers of your application, which requires coordination of your front end, back end, and operations. That's where serverless computing comes into play. By integrating into services like Lambda or working with DynamoDB, you can improve the overall success of your feature flag adoption across your application. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"\\\"You can use the same feature flag across all the different pieces of your application,\\\" Brian explained. \\\"That one flag that turns the feature on in the UI could also turn on the code that runs that feature in the back end of your application. Because you have the same SDKs that are all talking to the same LaunchDarkly instance, you can reuse that flag.\\\" \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"For a full demo of how AWS Lambda works with LaunchDarkly to unlock the full potential of feature management with serverless, and to see how to get started, you can catch the full webinar here. \",\"spans\":[{\"start\":165,\"end\":192,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/webinars/using-launchdarkly-feature-flags-in-aws-serverless/\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$c8b0ce78-746d-4c2c-bd01-463cdc1c7ac1\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Webinar: Using LaunchDarkly Feature Flags In AWS Serverless\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"How do you separate deployments from releases when you don't manage the entire tech stack? Watch the webinar to discover how developers can integrate feature flags into the release of a serverless web application to get granular control over releases. \",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{}}},{\"id\":\"ZGJ2qBAAACEAgK0l\",\"uid\":\"powerschool-migrates-to-aws-with-launchdarkly\",\"url\":\"/blog/powerschool-migrates-to-aws-with-launchdarkly/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22ZGJ2qBAAACEAgK0l%22%29+%5D%5D\",\"tags\":[\"feature management\",\"case study\",\"powerschool\",\"migration\",\"feature flag\"],\"first_publication_date\":\"2023-05-16T16:32:51+0000\",\"last_publication_date\":\"2025-10-27T18:35:10+0000\",\"slugs\":[\"powerschool-modernizes-its-legacy-system-with-aws-and-launchdarkly\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"PowerSchool Modernizes its Legacy System with AWS and LaunchDarkly\",\"spans\":[]}],\"author\":{\"id\":\"Y9FhJxAAAJ_wltS3\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"rebecca-dodd\",\"first_publication_date\":\"2023-01-25T18:19:26+0000\",\"last_publication_date\":\"2023-01-25T18:19:26+0000\",\"uid\":\"rebecca-dodd\",\"url\":\"/blog/author/rebecca-dodd/\",\"link_type\":\"Document\",\"key\":\"0ed3664f-9657-4271-801d-d4b9649f4264\",\"isBroken\":false},\"timestamp\":\"2023-05-16T07:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"30727a82-7254-4187-be14-27747005015f\",\"isBroken\":false}},{\"category\":{\"id\":\"X82uMBIAACEAf180\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"popular\",\"first_publication_date\":\"2020-12-07T04:23:16+0000\",\"last_publication_date\":\"2021-06-25T21:19:56+0000\",\"uid\":\"popular\",\"url\":\"/blog/category/popular/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Popular\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"d872ae8c-21e5-471f-9c60-e5b0e673bfaa\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"PowerSchool relied on LaunchDarkly to update its platform and migrate to Amazon DynamoDB. And all of this had to happen while maintaining a consistent experience for the millions of students PowerSchool serves. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1126},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/2a2d49cc-2101-44b4-b4f2-7663c8c7e9db_23-01-Feature+Flag+Considerations+in+a+Microservice+Architecture.png?auto=compress,format\u0026rect=0,0,4000,2252\u0026w=2000\u0026h=1126\",\"id\":\"Y-7KGRAAACEAGVuG\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":0.5,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Monoliths vs microservices can be a polarizing topic. So it's always refreshing to hear a story about modernization that's decidedly lacking in drama. \",\"spans\":[{\"start\":0,\"end\":26,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/migrating-legacy-monolithic-applications-microservices/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"PowerSchool—a leading provider of K–12 education technology solutions—migrated a legacy system to AWS. For the process, PowerSchool relied on LaunchDarkly to update its platform and migrate to Amazon DynamoDB. And all of this had to happen while maintaining a consistent experience for the millions of students PowerSchool serves. \",\"spans\":[{\"start\":0,\"end\":11,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.powerschool.com/\",\"target\":\"_blank\"}},{\"start\":193,\"end\":208,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://aws.amazon.com/dynamodb/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"You can read the full case study over on the AWS site, but read on for what you can expect.\",\"spans\":[{\"start\":13,\"end\":32,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/how-naviance-used-launchdarkly-to-unlock-its-monolith/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"What was PowerSchool solving for?\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"PowerSchool's web-based student information system helps schools and districts manage their educational and administrative services. Within PowerSchool, Naviance is a career and life readiness platform used by over 10 million students. The company wanted to be able to control and release features safely and on time, while ensuring that their modernization efforts didn't disrupt the experience for their millions of users. \",\"spans\":[{\"start\":153,\"end\":161,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.naviance.com/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"How did they do it?\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"o-list-item\",\"text\":\"Modernizing a legacy system with feature flags and AWS: PowerSchool chose AWS for its focus on event-driven architectures and serverless computing frameworks, leveraging LaunchDarkly to maximize the value of cloud-native architectures.\\n\",\"spans\":[{\"start\":0,\"end\":55,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"o-list-item\",\"text\":\"Incremental migration: LaunchDarkly helped PowerSchool migrate incrementally to service-oriented architecture and micro front ends. With feature flags, developers could build and test separate UIs safely and ensure safe rollouts and a cohesive experience for users.\",\"spans\":[{\"start\":0,\"end\":22,\"type\":\"strong\"},{\"start\":137,\"end\":150,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/what-are-feature-flags/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"heading2\",\"text\":\"What were the results?\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"o-list-item\",\"text\":\"-100,000 lines of code: Moving to this new architecture enabled PowerSchool to safely and easily rewrite its software, resulting in a massive reduction in code from its monolithic systems and enabling new domain services that are smaller and easier to maintain. \\n\",\"spans\":[{\"start\":0,\"end\":23,\"type\":\"strong\"},{\"start\":205,\"end\":260,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/microservices-how-to-know-if-youre-ready/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"o-list-item\",\"text\":\"Improved productivity and work satisfaction: With the modernized system, PowerSchool developers have been able to move to an improved DevOps working model. \\n\",\"spans\":[{\"start\":0,\"end\":44,\"type\":\"strong\"},{\"start\":134,\"end\":140,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/what-is-devops-and-how-to-set-your-organization-up-for-success/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"o-list-item\",\"text\":\"Innovating for customers with confidence: With the ability to toggle features on and off and test changes on a small group of customers first, PowerSchool is now empowered to customize and deliver feature updates without disruption.\",\"spans\":[{\"start\":0,\"end\":41,\"type\":\"strong\"},{\"start\":93,\"end\":141,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/the-power-of-targeting-via-user-attributes/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"heading3\",\"text\":\"Want to know more about PowerSchool's AWS and LaunchDarkly experience?\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"You can read the full case study, or check out this talk below from Adam Hisley, Principal Architect at PowerSchool, who shared lessons from Naviance's modernization journey at our Trajectory conference. \",\"spans\":[{\"start\":13,\"end\":32,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/how-naviance-used-launchdarkly-to-unlock-its-monolith/\",\"target\":\"_blank\"}},{\"start\":128,\"end\":173,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/how-naviance-used-launchdarkly-to-unlock-its-monolith/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"You can also read more success stories from our customers here.\",\"spans\":[{\"start\":18,\"end\":62,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/case-studies/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"embed\",\"oembed\":{\"embed_url\":\"https://launchdarkly.wistia.com/medias/vlhh6z7nm4\",\"type\":\"video\",\"version\":\"1.0\",\"title\":\"Unlocking the Monolith - Lessons Learned from Naviance's Journey\",\"author_name\":null,\"author_url\":null,\"provider_name\":\"Wistia, Inc.\",\"provider_url\":\"https://wistia.com\",\"cache_age\":null,\"thumbnail_url\":\"https://embed-ssl.wistia.com/deliveries/eefea1da2b5660fc4921fa67babd9e40.jpg?image_crop_resized=960x540\",\"thumbnail_width\":960,\"thumbnail_height\":540,\"html\":\"\u003ciframe src=\\\"https://fast.wistia.net/embed/iframe/vlhh6z7nm4\\\" title=\\\"Unlocking the Monolith - Lessons Learned from Naviance's Journey Video\\\" allow=\\\"autoplay; fullscreen\\\" allowtransparency=\\\"true\\\" frameborder=\\\"0\\\" scrolling=\\\"no\\\" class=\\\"wistia_embed\\\" name=\\\"wistia_embed\\\" msallowfullscreen width=\\\"960\\\" height=\\\"540\\\"\u003e\u003c/iframe\u003e\\n\u003cscript src=\\\"https://fast.wistia.net/assets/external/E-v1.js\\\" async\u003e\u003c/script\u003e\"}}]},\"items\":[{}],\"id\":\"wysiwyg$22825de6-9b28-481a-b4a3-6660393a6ca0\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"PowerSchool Modernizes its Legacy System with AWS and LaunchDarkly\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"PowerSchool relied on LaunchDarkly to update its platform and migrate to Amazon DynamoDB. And all of this had to happen while maintaining a consistent experience for the millions of students PowerSchool serves.\",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":4000,\"height\":2252},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/2a2d49cc-2101-44b4-b4f2-7663c8c7e9db_23-01-Feature+Flag+Considerations+in+a+Microservice+Architecture.png?auto=compress,format\",\"id\":\"Y-7KGRAAACEAGVuG\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"ZFlF6xAAACAAWFVI\",\"uid\":\"5-reasons-to-attend-software-release-summit\",\"url\":\"/blog/5-reasons-to-attend-software-release-summit/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22ZFlF6xAAACAAWFVI%22%29+%5D%5D\",\"tags\":[\"feature flag\",\"feature management\",\"software release\"],\"first_publication_date\":\"2023-05-09T16:25:34+0000\",\"last_publication_date\":\"2026-03-20T16:04:28+0000\",\"slugs\":[\"5-reasons-to-attend-the-software-release-summit\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"5 Reasons to Attend the Software Release Summit\",\"spans\":[]}],\"author\":{\"id\":\"YCRccxUAACQAs5j2\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"kevin-smith\",\"first_publication_date\":\"2021-02-10T22:48:57+0000\",\"last_publication_date\":\"2021-11-02T16:59:54+0000\",\"uid\":\"kevin-smith\",\"url\":\"/blog/author/kevin-smith/\",\"link_type\":\"Document\",\"key\":\"57c04dd9-231e-4856-9bb2-2b6cf9040ad7\",\"isBroken\":false},\"timestamp\":\"2023-05-09T07:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"9605053c-b26c-4d6a-8df4-7371b5b92e6f\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"In this post, we've got five reasons you should attend our Software Release Summit, which will be happening May 18 beginning at 9 a.m. PST. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1126},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/1b0f4709-657b-49df-9837-e6901a4fbd15_LD+Software+Release+Summit-Blog.png?auto=compress,format\u0026rect=0,0,2000,1126\u0026w=2000\u0026h=1126\",\"id\":\"ZFlFjhAAACIAWFOm\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Deployments are placed towards the end of the Software Development Life Cycle, but they're truly always top of mind at LaunchDarkly. \",\"spans\":[{\"start\":46,\"end\":77,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://aws.amazon.com/what-is/sdlc/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"See for yourself at our upcoming Software Release Summit—happening May 18 beginning at 9 a.m. PST—where we'll get into discussions on the state of software releases, tips for expanding your use cases for LaunchDarkly, and how our customers are building better software. \",\"spans\":[{\"start\":33,\"end\":56,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/category/software-release-summit/\",\"target\":\"_blank\"}},{\"start\":147,\"end\":164,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/guide-what-is-a-software-release/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"What you might not know is that we can help you out with so much more than just your releases. The Software Release Summit kicks off a new series of live events focused on the various ways you can utilize LaunchDarkly to improve the quality of your software (and life). Stay tuned for separate, standalone summits this year focused on Technology Migrations, Targeted Experiences, A/B Tests and Experimentation, and Mobile App Control. \\n\\nFirst though, let's talk about the five reasons you should attend our Software Release Summit. \",\"spans\":[{\"start\":335,\"end\":356,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/use-cases/migration/\",\"target\":\"_blank\"}},{\"start\":358,\"end\":378,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/use-cases/targeting/\",\"target\":\"_blank\"}},{\"start\":380,\"end\":409,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/use-cases/experimentation/\",\"target\":\"_blank\"}},{\"start\":415,\"end\":433,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/use-cases/mobile/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"heading3\",\"text\":\"\\n1. Get an edge on the state of software releases \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"If you're curious about where your team sits within the greater landscape of software releases and performance, you'll want to eavesdrop on this conversation.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Leading the discussion will be LaunchDarkly co-founder and CTO, John Kodumal. Joining him will be Honeycomb's Field CTO and all-around industry expert, Liz Fong-Jones. \",\"spans\":[{\"start\":98,\"end\":107,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.honeycomb.io/\",\"target\":\"_blank\"}},{\"start\":152,\"end\":166,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://en.wikipedia.org/wiki/Liz_Fong-Jones\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"If you're not familiar with Liz, she's a true leader in our space: developer advocate, labor and ethics organizer, and Site Reliability Engineer (SRE) with nearly 20 years of experience. She's very close to both the waves and ripples that come coursing through the developer community on any given day, and will provide strong insights into the current state of play as we approach the halfway point of 2023. \",\"spans\":[{\"start\":67,\"end\":85,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/what-is-a-developer-advocate/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Together, Liz and John will discuss the latest trends and best practices around releasing software, and share perspectives on what drives high-performing teams. You'll also learn how to set developers up for success and hear some secrets to safe releases. We're also told there will be thoughts on speculative use cases for AI, adjusting to a remote-first workforce, and what to watch in the months ahead. Not a session to skip.\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading3\",\"text\":\"2. Learn what it means to release fearlessly\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Software errors can cost a business millions of dollars per year. To reduce this risk, many teams rely on stressful, process-heavy release cycles that slow innovation. With feature management, companies can empower their development teams to move faster without fear.  \\n\\nIn this roundtable discussion, you'll hear from two of our customers—Aaron Kerwin, Director of Software Engineering at Datasite, and Krista Sappington VP, IT Application Manager, at BOK Financial—about how they're managing releases now with LaunchDarkly.\",\"spans\":[{\"start\":173,\"end\":191,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/feature-management/\",\"target\":\"_blank\"}},{\"start\":242,\"end\":266,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/core-services/releases/\",\"target\":\"_blank\"}},{\"start\":390,\"end\":398,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.datasite.com/us/en.html\",\"target\":\"_blank\"}},{\"start\":453,\"end\":466,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.bokfinancial.com/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Expect the conversation to touch on topics like using feature flags as a safety net, streamlining releases, and scaling best practices across the organization. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"heading3\",\"text\":\"3. Hear an AWS perspective on continuous deployment, progressive delivery, and experimentation\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Continuous deployment and experimentation allow organizations to de-risk deployments, test new features confidently, recover quickly from incidents, and accelerate release cycles. \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"In this 30-minute session, Dr. James Bland, Principal Partner Solutions Architect at Amazon Web Services, will show you how large enterprises manage releases at a massive scale. In particular, you'll get expert insight into deployment strategies like progressive delivery that reduce risk, learn how automated rollbacks make incident recovery faster, and gain an understanding of risk mitigation at scale with large batch sizes.\",\"spans\":[{\"start\":85,\"end\":104,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://aws.amazon.com/\",\"target\":\"_blank\"}},{\"start\":224,\"end\":245,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/deployment-strategies/\",\"target\":\"_blank\"}},{\"start\":251,\"end\":271,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/what-is-progressive-delivery-all-about/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"heading3\",\"text\":\"4. Get a refresher on shipping and releasing with LaunchDarkly\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Whether you're a LaunchDarkly customer or not, you'll get some value in brushing up on the capabilities of what our platform can do for you and your team. In our session, \\\"Ship \u0026 Release Product Walkthrough,\\\" we'll bring to life concepts like “test in production”, “control your blast radius,” and “instant rollbacks” by showing you how it all comes together. And you’ll gain an understanding of what first steps your teams can take to ship often and release faster, without compromising safety.  \",\"spans\":[{\"start\":243,\"end\":263,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/testing-in-production-for-safety-and-sanity/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"heading3\",\"text\":\"5. Ask our director of developer relations anything\",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"Look, this session is probably going to fly under the radar, but hear us out. You've got 10 minutes to ask Cody De Arkland, Director, Developer Relations at LaunchDarkly, whatever is on your mind. And we really want to put that \\\"anything\\\" to the test here. Could your questions revolve around software releases? Absolutely. Could they also touch on Cody's love of grilling, Star Wars, or country music? Yes and yes. We're literally handing the mic over to you, so let your questions rip and don't be shy. \",\"spans\":[{\"start\":107,\"end\":122,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/author/cody-de-arkland/\",\"target\":\"_blank\"}},{\"start\":374,\"end\":383,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/launching-darkly-with-python-and-a-star-wars-api/\",\"target\":\"_blank\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[{}],\"id\":\"wysiwyg$82e0bd26-89d2-43d0-ac3d-aece43453f47\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"5 Reasons to Attend our Software Release Summit\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"In this post, we've got five reasons you should attend our Software Release Summit, which will be happening May 18 beginning at 9 a.m. PST. \",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":2000,\"height\":1126},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/1b0f4709-657b-49df-9837-e6901a4fbd15_LD+Software+Release+Summit-Blog.png?auto=compress,format\",\"id\":\"ZFlFjhAAACIAWFOm\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"ZEm2rxAAACIAFBGJ\",\"uid\":\"experimentation-capabilities-to-the-next-level-with-technology-partners\",\"url\":\"/blog/experimentation-capabilities-to-the-next-level-with-technology-partners/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22ZEm2rxAAACIAFBGJ%22%29+%5D%5D\",\"tags\":[\"feature flag\",\"feature management\",\"Experimentation\",\"partners\",\"Integration\"],\"first_publication_date\":\"2023-04-27T16:26:44+0000\",\"last_publication_date\":\"2024-05-28T16:58:14+0000\",\"slugs\":[\"taking-our-experimentation-capabilities-to-the-next-level-with-technology-partners\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":null,\"title\":[{\"type\":\"heading1\",\"text\":\"Taking Our Experimentation Capabilities to the Next Level with Technology Partners\",\"spans\":[]}],\"author\":{\"id\":\"YCr_NxIAACIAZP1e\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"launchdarkly\",\"first_publication_date\":\"2021-02-15T23:11:13+0000\",\"last_publication_date\":\"2025-08-14T18:56:59+0000\",\"uid\":\"launchdarkly\",\"url\":\"/blog/author/launchdarkly/\",\"link_type\":\"Document\",\"key\":\"72175633-b30d-4092-b93c-bea27d584aa1\",\"isBroken\":false},\"timestamp\":\"2023-04-27T07:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"bfaeef4b-da6d-4053-a8e3-1a4ab8a632cf\",\"isBroken\":false}},{\"category\":{\"id\":\"X82uMBIAACEAf180\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"popular\",\"first_publication_date\":\"2020-12-07T04:23:16+0000\",\"last_publication_date\":\"2021-06-25T21:19:56+0000\",\"uid\":\"popular\",\"url\":\"/blog/category/popular/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"Popular\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"5822396b-f712-4b82-9c56-3c1317cf3317\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"Today, we are excited to expand the capabilities of our Experimentation product with the launch of our Experimentation Track within the Technology Partner Program. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1126},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/388f4c40-c31e-4f68-bc73-5e1679eb1ea2_22-06-Actionable+Experimentation.png?auto=compress,format\u0026rect=0,0,2000,1126\u0026w=2000\u0026h=1126\",\"id\":\"Yqo4CBIAACAAEJNS\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Today, we are excited to expand the capabilities of our Experimentation product with the launch of our Experimentation Track within our broader Technology Partner Program. \",\"spans\":[{\"start\":56,\"end\":79,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/features/experimentation/\",\"target\":\"_blank\"}},{\"start\":103,\"end\":125,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/integrations/experimentation/\",\"target\":\"_blank\"}},{\"start\":144,\"end\":170,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/partners/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"Running a high-performing Experimentation team requires sophisticated tooling to serve data, product, and research teams. We have heard from our customers that supporting data from other services and getting better data back from experiments helps them move faster and develop their experimentation practice with more confidence. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We are incredibly proud of the initial roster of industry innovators that have joined our mission to empower teams to track and measure their software releases via experimentation. \",\"spans\":[{\"start\":142,\"end\":159,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/guide-what-is-a-software-release/\"}}]},{\"type\":\"paragraph\",\"text\":\"Introducing our four launch partners: \",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"Tealium\",\"spans\":[{\"start\":0,\"end\":7,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://tealium.com/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"Census\",\"spans\":[{\"start\":0,\"end\":6,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.getcensus.com/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"Snowplow\",\"spans\":[{\"start\":0,\"end\":8,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://snowplow.io/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"Sprig\",\"spans\":[{\"start\":0,\"end\":5,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://sprig.com/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"These partners represent a range of use cases that democratize experimentation within an organization and help teams see faster time to business results on releases. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We are excited to announce that the Sprig, Snowplow, and Census integrations are available today for customers. The Tealium integration will be available in the coming weeks. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you are a LaunchDarkly customer looking to hear more about these Experimentation Track partners, check out our site highlighting each of our launch partners.\",\"spans\":[{\"start\":100,\"end\":118,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/integrations/experimentation/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"If you are interested in becoming a LaunchDarkly Technology Partner, drop us a line on our partner page here. \",\"spans\":[{\"start\":104,\"end\":108,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/partners/\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$9b9020ce-a48c-4057-b1e4-905f6b54ba1c\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Taking our Experimentation capabilities to the next level with Technology Partners\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"Today, we are excited to expand the capabilities of our Experimentation product with the launch of our Experimentation Track within the Technology Partner Program. \",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":2000,\"height\":1126},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/75cc4ce1-04dd-41b9-8f85-facc12e1cdce_9-best-experimentaition-practices.png?auto=compress,format\",\"id\":\"YxuNvxIAACAA4Tdr\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"YjuIwREAACEA6RP6\",\"uid\":\"black-history-month-2022\",\"url\":\"/blog/black-history-month-2022/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22YjuIwREAACEA6RP6%22%29+%5D%5D\",\"tags\":[\"black history month\"],\"first_publication_date\":\"2022-03-24T17:57:02+0000\",\"last_publication_date\":\"2023-11-07T18:30:44+0000\",\"slugs\":[\"how-we-celebrated-black-history-month-2022\",\"how-we-celebrated-black-history-month-2022-at-launchdarkly\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":null,\"title\":[{\"type\":\"heading1\",\"text\":\"How We Celebrated Black History Month 2022\",\"spans\":[]}],\"author\":{\"id\":\"YQHLVBIAACQAD2js\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"jessica-cregg\",\"first_publication_date\":\"2021-07-28T21:25:43+0000\",\"last_publication_date\":\"2021-07-28T21:25:43+0000\",\"uid\":\"jessica-cregg\",\"url\":\"/blog/author/jessica-cregg/\",\"link_type\":\"Document\",\"key\":\"511b308e-725b-4bcf-ba4c-04c3ed907480\",\"isBroken\":false},\"timestamp\":\"2022-03-24T07:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"6ef8ef5f-3d28-41f1-a880-6d3f631f164b\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"In the spirit of Black Joy and health and wellness, LaunchDarkly spent February putting on a series of events to celebrate what it means to be Black in America in 2022. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1127},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/9e222457-016a-4c0a-9953-e8979710f52a_BHM.png?auto=compress,format\u0026rect=0,0,3998,2253\u0026w=2000\u0026h=1127\",\"id\":\"YjuKRREAACIA6RrI\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":0.5002219263204616,\"background\":\"transparent\"}},\"related_posts\":[],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"With this being the second Black History Month celebrated remotely at LaunchDarkly, we were eager to ensure that we could stay safe while marking this ever-vital month to celebrate the past, present, and future of our African American employees. \",\"spans\":[{\"start\":20,\"end\":46,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/reflections-black-history-month/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"This year's theme for Black History Month was \\\"Black Health and Wellness.\\\" To echo this topic, we hosted a series of virtual events throughout the month of February and set up a fund for a selection of non-profit organizations that work to support Black health and wellness. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We wanted to center our celebrations around the expression of \\\"Black Joy,\\\" a term that has evolved to take on its own meaning. One of its proponents is the New York-based writer Kleaver Cruz, who started The Black Joy Project in 2015. In an interview with Vogue magazine, he cited a message that is central to their coalition: \\\"Black Joy is an act of resistance.\\\"​\",\"spans\":[{\"start\":178,\"end\":190,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://kleavercruz.com/about/\",\"target\":\"_blank\"}},{\"start\":204,\"end\":226,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.instagram.com/theblackjoyproject/\",\"target\":\"_blank\"}},{\"start\":238,\"end\":270,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.vogue.co.uk/arts-and-lifestyle/article/what-is-black-joy\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"\\\"Amplifying black joy is not about dismissing or creating an 'alternative' black narrative that ignores the realities of our collective pain; rather, it is about holding the pain and injustices we experience as black folks around the world in tension with the joy we experience in pain's midst,\\\" Cruz told Vogue. \\\"It's about using that joy as an entry into understanding the oppressive forces we navigate through as a means to imagine and create a world free of them.\\\"\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"In the spirit of Black Joy and health and wellness, LaunchDarkly spent February putting on a series of events to celebrate what it means to be Black in America in 2022. In this post, I'll recap some of those activities and provide some insight on why we chose each of our activities. \",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Celebrating an icon\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We kicked off the month with our First Friday celebrations—a monthly ode to the arts where we connect and enjoy each other's company. Having recently said goodbye to prolific stylist, journalist, and creative director André Leon Talley, we decided to come together and watch a documentary chronicling his life, \\\"The Gospel According to André.\\\" The epic film takes us from the struggles of his youth through to his move to New York to fulfill his dream of working in the fashion industry and later, to iconic, barrier-breaking work at publications like Women's Wear Daily, W, and Vogue. We felt it important to spend our time commemorating a legend of the arts and his cultural contributions. \",\"spans\":[{\"start\":150,\"end\":162,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.vogue.com/article/andre-leon-talley-obituary\",\"target\":\"_blank\"}},{\"start\":312,\"end\":341,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.amazon.com/Gospel-According-Andr%C3%A9-Marc-Jacobs/dp/B07DJ11H26/ref=sr_1_1?crid=2FHEFR0GD6CFD\u0026keywords=gospel+according+to+andre\u0026qid=1642779726\u0026sprefix=gospel+according+to+andr%2Caps%2C140\u0026sr=8-1\",\"target\":\"_blank\"}}]},{\"type\":\"heading3\",\"text\":\"Having a feast\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We express so much of ourselves through our food. From charting our roots to showing how we feel, meals can be a personal experience. For the second week of February, we held our Black Food Fest. Our LaunchDarkly employees contributed to a crowd-sourced cookbook helping us to honor the rich history of Black food. We also supported our employees in buying from Black-owned food businesses local to them as a way to enjoy Black Food while supporting Black chefs and businesses.\",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Giving back locally\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We decided that buying from Black-owned food businesses was a start, but not where we wanted our contributions to end. As a nod to this year's theme of Black health and wellness, we created a fund supporting a group of non-profit organizations working to support the mental health and well being of Black people of all genders across the nation. For the month of February, we matched all donations to this fund up to $400. We wanted to ensure that we were making a meaningful contribution to the lives of people inside and outside of LaunchDarkly, and we thought this could be a good place to start. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"To close out the month, we hosted a collaborative event between two of our employee resource groups (ERGs) to discuss how intersectionality occurs in our everyday lives. In the last week of February, The Rainbow Gems, our ERG created for, by and of the LGBTQIA+ workforce at LaunchDarkly, worked with the support of The Force, our Black employee ERG, for one final event. Both groups came together to host external speaker Madison Butler to discuss how our identities and behaviors intersect and considerations on how we can scale as an inclusive organization. \",\"spans\":[{\"start\":423,\"end\":437,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://gravityspeakers.com/speaker/madison-butler/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"We see this as just beginning to cultivate an environment where our employees can feel happy and supported in bringing as much of themselves to work as they choose. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you are interested in joining the LaunchDarkly team, check out our open opportunities.\",\"spans\":[{\"start\":0,\"end\":89,\"type\":\"strong\"},{\"start\":66,\"end\":88,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/careers/\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$31d95e3d-162c-4b8e-a2ae-514cc63b8081\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"How We Celebrated Black History Month 2022 at LaunchDarkly\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"In the spirit of Black Joy and health and wellness, LaunchDarkly spent February putting on a series of events to celebrate what it means to be Black in America in 2022. \",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":4000,\"height\":2253},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/9e222457-016a-4c0a-9953-e8979710f52a_BHM.png?auto=compress,format\",\"id\":\"YjuKRREAACIA6RrI\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"YZ6_7BUAACUA3HTo\",\"uid\":\"overcoming-the-fears-of-app-modernization\",\"url\":\"/blog/overcoming-the-fears-of-app-modernization/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22YZ6_7BUAACUA3HTo%22%29+%5D%5D\",\"tags\":[\"modernization\",\"migration\"],\"first_publication_date\":\"2021-12-02T18:09:41+0000\",\"last_publication_date\":\"2026-08-24T19:09:27+0000\",\"slugs\":[\"overcoming-the-fears-of-perpetual-app-modernization\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":false,\"title\":[{\"type\":\"heading1\",\"text\":\"Overcoming the Fears of Perpetual App Modernization \",\"spans\":[]}],\"author\":{\"id\":\"YCRccxUAACQAs5j2\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"kevin-smith\",\"first_publication_date\":\"2021-02-10T22:48:57+0000\",\"last_publication_date\":\"2021-11-02T16:59:54+0000\",\"uid\":\"kevin-smith\",\"url\":\"/blog/author/kevin-smith/\",\"link_type\":\"Document\",\"key\":\"8a6476eb-d83f-403d-80b7-101e8ae68b66\",\"isBroken\":false},\"timestamp\":\"2021-11-30T08:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"3d408d61-f680-4655-b3eb-45653e87ac7a\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"The biggest risks that keep organizations from moving forward with large-scale initiatives, and how feature flags can make the process downright boring. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":false,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1126},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/089658ae-1dc2-4e5a-80bc-a1a5b153ed65_App+modernization.png?auto=compress,format\u0026rect=0,0,2000,1126\u0026w=2000\u0026h=1126\",\"id\":\"YZ68hxUAACYA3GXH\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":\"Wistia\",\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"One of the unexpected outcomes from the onset of the COVID-19 pandemic was how businesses responded. After many organizations quickly shifted to a distributed workforce, they also realized they needed to make a number of digital transformation efforts quickly. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"In a conversation with author Gene Kim earlier this year, he spoke about the impact 2020 had on companies and how, in the middle of a genuine crisis, there was a realization that the old way of doing things was no longer going to cut it. \\n\\n“The technology community delivered when it was needed the most at a time of incredible change,” Kim said. \\n\\nAs we head into 2022, amidst a swirl of uncertainty, it’s important to recognize that need for modernization—including updating architecture and infrastructure—didn't start with a global pandemic. Modernization is not a “set it and forget it” endeavor; it’s a constantly-changing process that’s always evolving. And your organization is going to need to invest in tools that’ll enable the fluidity of these transformations, and the ones on the horizon. \",\"spans\":[{\"start\":5,\"end\":38,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://gateway.on24.com/wcc/eh/3099907/lp/2965623/fireside_chat_gene_kim_and_adam_zimman__the_state_of_devops_in_2021/\",\"target\":\"_blank\"}},{\"start\":380,\"end\":400,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://apnews.com/article/coronavirus-pandemic-omicron-variant-covid-restrictions-82e53a7a17d1a4c30031065d389bda37\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"Traditional thinking around modernization efforts is that they are so large scale and high risk, they’re better put off until absolutely necessary. That approach is sort of like waiting to see how far your car can travel on an empty gas tank, except with far larger consequences. \\n\\nTo be fair, there are a number of reasons why companies would seek to avoid undergoing a cloud migration, for instance. In our new offering, “A Guide to App Modernization for the Risk-Averse,” we run down some of the biggest risks that keep organizations from moving forward with large-scale initiatives, and how feature flags can take some of the worries out of the process. \",\"spans\":[{\"start\":178,\"end\":241,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.youtube.com/watch?v=TuEdU_lrtZk\",\"target\":\"_blank\"}},{\"start\":424,\"end\":472,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://resources.launchdarkly.com/ebooks/application-modernization\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$4b48ebae-e21f-4846-9ea9-b749204ef086\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"The risks of modernization\",\"spans\":[{\"start\":0,\"end\":26,\"type\":\"strong\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$b199cdb9-075f-46f6-9d27-271da9929672\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Technology leaders are held back by the potential risks involved with large-scale migrations. But what are the biggest risks, and what would be the business outcome? Here are some threats that are top of mind: \",\"spans\":[],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Data loss: A poor database migration—either to a new database technology or to the cloud—can result in a loss of data, duplicate data, or other adverse outcomes. If data becomes corrupt or inaccessible, the broader business impact could be significant. \\n\",\"spans\":[{\"start\":0,\"end\":10,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Performance issues: Large-scale migrations have the potential for complete software outages or reduced performance. For business-critical applications, operations teams may be forced to quickly roll back a release to minimize the impact on end-users. \\n\",\"spans\":[{\"start\":0,\"end\":20,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"list-item\",\"text\":\"Unexpected challenges: Every migration project is different, and unforeseen issues often arise. This is especially true for organizations that already have underlying problems or technical debt that is hard to detect. \",\"spans\":[{\"start\":0,\"end\":23,\"type\":\"strong\"}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"To be sure, these concerns are real and valid. In heavily-regulated industries like financial services and healthcare, a poor system migration could violate privacy or data management laws and expose the business to millions of dollars in fines. Even for those organizations in less regulated industries, the threat of data loss or a software outage alone is enough to hesitate an executive to sign off.\",\"spans\":[{\"start\":84,\"end\":102,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/5-strategies-de-risk-releases-financial-services/\",\"target\":\"_self\"}}],\"direction\":\"ltr\"},{\"type\":\"paragraph\",\"text\":\"One way to reduce these risks is to stop viewing migrations or other modernization efforts as a sort of big-bang event that must happen all at once. Through the use of feature flags, you can reduce migration risks for large-scale digital initiatives, and proceed at your own pace.\",\"spans\":[],\"direction\":\"ltr\"}]},\"items\":[{}],\"id\":\"wysiwyg$a8021ae8-6202-44ef-9427-519bf068d6f1\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"De-risking modernization with feature flags\\n\",\"spans\":[{\"start\":0,\"end\":44,\"type\":\"strong\"}]}]},\"items\":[{}],\"id\":\"wysiwyg$e2d7d5ce-4a14-4552-aed7-4e0c1ec1ccdd\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"What makes the use of feature flags so transformative for modernization efforts is that they let you roll out new systems to end-users strategically. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"When code deployments and releases (i.e., code changes that are accessible to end-users) are decoupled, enterprises have more control over the migration of large and highly-complex systems. Teams can push code into production to release new systems, while gradually shifting users off the legacy platform.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Using feature flags to mitigate migration risks for large-scale digital initiatives also unlocks benefits such as progressive rollouts and improved visibility, and limits the impact of issues on users. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"We cover these benefits in full, as well as explain why the use of feature flags alone is not a silver bullet for modernization, in “A Guide to App Modernization for the Risk-Averse.” Check it out and if you're interested in reading how one of our customers executed such a feat in a way that was smooth and uneventful, read TrueCar's story. \\n\",\"spans\":[{\"start\":133,\"end\":181,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://resources.launchdarkly.com/ebooks/application-modernization\",\"target\":\"_blank\"}},{\"start\":320,\"end\":340,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/case-studies/truecar/\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$4e3837f8-f632-4bcc-9750-548a4a94f05c\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Overcoming the Fears of Perpetual App Modernization \",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"The biggest risks that keep organizations from moving forward with large-scale initiatives, and how feature flags can make the process downright boring. \\n\",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":2000,\"height\":1126},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/089658ae-1dc2-4e5a-80bc-a1a5b153ed65_App+modernization.png?auto=compress,format\",\"id\":\"YZ68hxUAACYA3GXH\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}}}},{\"id\":\"YGI95RMAACIAVPCT\",\"uid\":\"celebrating-womens-history-month-2021\",\"url\":\"/blog/celebrating-womens-history-month-2021/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22YGI95RMAACIAVPCT%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2021-03-30T16:40:43+0000\",\"last_publication_date\":\"2023-06-21T19:50:17+0000\",\"slugs\":[\"how-weve-been-celebrating-womens-history-month\",\"how-we-celebrated-womens-history-month\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":null,\"title\":[{\"type\":\"heading1\",\"text\":\"How We've Been Celebrating Women’s History Month\",\"spans\":[]}],\"author\":{\"id\":\"X2ubdxEAACEArlfq\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"dawn-parzych\",\"first_publication_date\":\"2020-09-23T19:01:15+0000\",\"last_publication_date\":\"2021-02-08T05:16:32+0000\",\"uid\":\"dparzych\",\"url\":\"/blog/author/dparzych/\",\"link_type\":\"Document\",\"key\":\"e94e815e-f99e-48ab-a7a3-4ee7c9d0f91c\",\"isBroken\":false},\"timestamp\":\"2021-03-30T07:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"7bf918be-d9ca-4f7b-8a1a-b8939bd5956d\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"We've rounded up some of the ways we spent the month celebrating and recognizing all those who identify as women.\",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1538},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/b49d8999-f73c-4343-ab24-37d6ded26334_womenshistorymonth.jpg?auto=compress,format\u0026rect=0,0,5416,4165\u0026w=2000\u0026h=1538\",\"id\":\"YGI2ghMAACMAVM-O\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":0.36927621861152143,\"background\":\"#fff\"}},\"related_posts\":[],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"During the month of March, we celebrate women—the roles they’ve played in history, and how they have influenced our careers and lives. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Women’s History Month is celebrated in the United States, the United Kingdom, and Australia. In 1978, it started out as week-long commemoration in Sonoma County, Calif. But the origin goes back a bit further to 1911, when the first International Women’s Day was celebrated. The Celebration in California was a week-long event designed around March 8 (International Women’s Day). In 1980, it became recognized as a national week, and then a month-long celebration every March in 1987. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Below, we’ve rounded up some of the ways we at LaunchDarkly have been spending the month celebrating and recognizing all those who identify as women.\",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Giving back to worthwhile causes\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Within our company, we shared a list of organizations that focus on supporting people who identify as girls and women and encouraged our team to donate as LaunchDarkly is matching all employee contributions. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you’re interested in contributing individually, here are a few of the organizations we've been giving to: \",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"Ignite Worldwide\",\"spans\":[{\"start\":0,\"end\":16,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.igniteworldwide.org/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"Loveland Foundation \",\"spans\":[{\"start\":0,\"end\":19,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://thelovelandfoundation.org/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"Alliance for International Women’s Rights\",\"spans\":[{\"start\":0,\"end\":41,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"http://aiwr.org/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"APEINC\",\"spans\":[{\"start\":0,\"end\":6,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://apienc.org/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"AAPI\",\"spans\":[{\"start\":0,\"end\":4,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://aapifund.org/\",\"target\":\"_blank\"}}]},{\"type\":\"heading3\",\"text\":\"Writing about being a mom in tech\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Our Director of Corporate Marketing, Andrea Echstenkamper, shared her experiences in becoming a first-time mom while working in tech. \",\"spans\":[{\"start\":96,\"end\":132,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/new-mom-in-the-technology-industry/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"Women are often told not to talk about being a mom because it will look like you’re not serious about your career. Personally, I have never followed this advice. I’ve given talks explaining DevOps principles through the lens of parenting. This should be the norm, because you should be allowed to bring your whole self to work. \",\"spans\":[{\"start\":190,\"end\":237,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.youtube.com/watch?v=cr7DYi0-PNY\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"I’m grateful for Andrea for sharing her experience, and while it may not be the same as others, it has started a much-needed conversation. When her blog post was shared internally, it led to a discussion on a public Slack channel about breastfeeding and perimenopause. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"I want to see more conversations like these, which should be embraced rather than hidden. \",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Watching notable films and series \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Following on the success of our virtual movie series for Black History Month, we again held viewing parties to watch movies together. Here are some of the films we streamed virtually together:\",\"spans\":[{\"start\":57,\"end\":76,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/reflections-black-history-month/\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"\\\"Daughters of Destiny\\\" - A four-part docuseries that follows five girls from an impoverished neighborhood in India as they attend a boarding school to create new opportunities for themselves. \\n\\n\",\"spans\":[{\"start\":0,\"end\":23,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.netflix.com/title/80092926\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"\\\"Betty White: First Lady in Television\\\" - A documentary film chronicling the life of the comedic icon.\\n\\n\",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"\\\"Homecoming: A Film by Beyoncé\\\" -  Written, directed, and produced by Beyoncé, this documentary follows the legendary musician’s journey that led to her 2018 Coachella performance. \\n\",\"spans\":[{\"start\":0,\"end\":31,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.netflix.com/title/81013626\",\"target\":\"_blank\"}}]},{\"type\":\"heading3\",\"text\":\"Reading up \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Our reading list's goal is to highlight diversity in the topics, authors, and genres. We've been sharing over 20 books across fiction, non-fiction, memoirs, poetry, young adult, and contemporary, just to name a few.  \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Here’s a few of the books we have highlighted:\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"\\\"Hood Feminism\\\" - This collection of essays by Mikki Kendall focuses on how feminism has been largely centered on white women while ignoring issues like food security, access to education, and living in a safe neighborhood. \",\"spans\":[{\"start\":0,\"end\":15,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://bookshop.org/books/hood-feminism-notes-from-the-women-that-a-movement-forgot/9780525560548\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"\\\"Dear Girls\\\" - Author and comedienne Ali Wong shares letters on life with her young daughters. \",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://bookshop.org/books/dear-girls-intimate-tales-untold-secrets-advice-for-living-your-best-life/9780525508854\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"\\\"Untamed\\\" - This memoir by Glennon Doyle centers around her giving up living her life based on other’s expectations.  \",\"spans\":[{\"start\":0,\"end\":9,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://bookshop.org/books/untamed-9781984801258/9781984801258\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"\\\"The Farm\\\" - This novel from Joanne Ramos revolves around women being paid to be surrogates at a luxury retreat. The women are are also cut off from their former life until they give birth to a child, which will eventually be raised by someone else. \",\"spans\":[{\"start\":0,\"end\":10,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://bookshop.org/books/the-farm-9781984853752/9781984853776\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"\\\"The Alice Network\\\" - Kate Quinn’s fictional account of the real-life spy network used during World War II.\",\"spans\":[{\"start\":0,\"end\":19,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://bookshop.org/books/the-alice-network/9780062654199\",\"target\":\"_blank\"}}]},{\"type\":\"heading3\",\"text\":\"Celebrating our Dark Launchers \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Finally, we created a slide show of some of the amazing women-identifying LaunchDarkly employees. An open invitation internally was extended for people to share a bit about themselves, their role, and who has inspired them professionally. Since LaunchDarkly continues to grow, and so many people have started over the last year, the resulting display was a nice way to spend a little time getting to know our teammates (some of whom we’ve never met in person). \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Even though March is over, it doesn’t mean your learning and recognition of women should end. Recognize and celebrate the women you work with, amplify their voices, and sponsor and mentor them. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you’re ready to start or continue your career at LaunchDarkly, check out our open opportunities. \",\"spans\":[{\"start\":0,\"end\":100,\"type\":\"em\"},{\"start\":0,\"end\":100,\"type\":\"strong\"},{\"start\":66,\"end\":98,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/careers/\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$0d15d6f7-e6bc-4c31-8cfa-50b34ed66e81\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Women’s History Month at LaunchDarkly\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"From reading lists to our film series, see how we spent the month celebrating and recognizing all those who identify as women.\",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":5416,\"height\":4166},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/b49d8999-f73c-4343-ab24-37d6ded26334_womenshistorymonth.jpg?auto=compress,format\",\"id\":\"YGI2ghMAACMAVM-O\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"#fff\"}}}},{\"id\":\"YELBxhAAACYADQM1\",\"uid\":\"bug-bounty-program\",\"url\":\"/blog/bug-bounty-program/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22YELBxhAAACYADQM1%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2021-03-09T17:52:59+0000\",\"last_publication_date\":\"2024-05-28T16:58:29+0000\",\"slugs\":[\"why-were-paying-you-to-hack-us\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":null,\"title\":[{\"type\":\"heading1\",\"text\":\"Why We’re Paying You to Hack Us\",\"spans\":[]}],\"author\":{\"id\":\"YCRccxUAACQAs5j2\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"kevin-smith\",\"first_publication_date\":\"2021-02-10T22:48:57+0000\",\"last_publication_date\":\"2021-11-02T16:59:54+0000\",\"uid\":\"kevin-smith\",\"url\":\"/blog/author/kevin-smith/\",\"link_type\":\"Document\",\"key\":\"3496a422-0837-4c0b-afd0-67b1d21687d8\",\"isBroken\":false},\"timestamp\":\"2021-03-09T08:00:00+0000\",\"additional_authors\":[{\"additional_author\":{\"link_type\":\"Document\"}}],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"89ffd0fb-88f3-45ed-aa84-037e32516443\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"One of the ways we’re helping make LaunchDarkly’s security stronger is with our new public bounty program, which we launched in January with HackerOne. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":false,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1112},\"alt\":\"Launched: Multi-factor authentication\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/MWRjNWEwOTUtZDYyNC00YTcwLWI4OGUtMjg2ZWFhZWFjMGUw_digital-security.jpg?auto=compress,format\u0026rect=0,0,2000,1112\u0026w=2000\u0026h=1112\",\"id\":\"X5iT4xEAACAArhOQ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"#fff\"}},\"related_posts\":[{\"post\":{\"link_type\":\"Document\"}}],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"Every organization faces security vulnerabilities.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"As highlighted in our recent webinar with Gene Kim, some recent high-profile hacks have brought the topic of improving security into sharper focus.\",\"spans\":[{\"start\":22,\"end\":50,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/gene-kim-devops-in-2020-and-2021/\",\"target\":\"_blank\"}},{\"start\":57,\"end\":63,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.zdnet.com/article/solarwinds-the-more-we-learn-the-worse-it-looks/\",\"target\":\"_blank\"}},{\"start\":64,\"end\":76,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.wired.com/story/inside-twitter-hack-election-plan/\",\"target\":\"_blank\"}},{\"start\":77,\"end\":82,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://stackoverflow.blog/2021/01/25/a-deeper-dive-into-our-may-2019-security-incident/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"One of the ways we’re helping make LaunchDarkly’s security stronger is with our new public bug bounty program, which we launched in January with HackerOne. \",\"spans\":[{\"start\":84,\"end\":109,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://hackerone.com/launchdarkly?type=team\",\"target\":\"_blank\"}},{\"start\":145,\"end\":154,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.hackerone.com/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"Bug bounty programs let ambitious, ethical hackers turn security bugs and flaws into cash. Our program with HackerOne does exactly that, crowdsourcing the discovery and reporting of LaunchDarkly security vulnerabilities in exchange for compensation. The goal is to help fix security problems before they are found and used by attackers with more nefarious aims. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"LaunchDarkly’s Director of Security, Alex Smolen, has been helping run bug bounty programs for years. These days, he says, it’s easier than ever to set one up using a service like HackerOne, which takes the hassle out of communicating your program rules, coordinating with researchers, and issuing payouts. In fact, HackerOne even offers a triage service so LaunchDarkly only receives reports that have been independently validated.\",\"spans\":[{\"start\":37,\"end\":48,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.linkedin.com/in/alex-smolen-8a59a31/\",\"target\":\"_blank\"}}]},{\"type\":\"image\",\"url\":\"https://images.prismic.io/launchdarkly/873a5447-c240-43aa-aac2-ba67e57e0497_T03NX240W-U013HV0JJJX-46ed438e32b9-512.jpg?auto=compress,format\u0026rect=0,0,512,512\u0026w=312\u0026h=312\",\"alt\":null,\"copyright\":null,\"dimensions\":{\"width\":312,\"height\":312},\"id\":\"YELC_BAAACQADQiR\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":0.609375,\"background\":\"#fff\"}},{\"type\":\"paragraph\",\"text\":\"LaunchDarkly’s Director of Security, Alex Smolen\",\"spans\":[{\"start\":0,\"end\":48,\"type\":\"em\"}]},{\"type\":\"paragraph\",\"text\":\"Smolen says he expects to keep the LaunchDarkly bug bounty program running indefinitely, while raising payouts as security improves and flaws become harder to find. We asked Smolen some other questions about the bug bounty program, which you can read below. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"LaunchDarkly: What made the security team decide on a public bug bounty program in the first place, as opposed to just trying to discover and handle all vulnerabilities in-house?\",\"spans\":[{\"start\":0,\"end\":178,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Alex Smolen: When you build a complex software service like the LaunchDarkly feature management platform, you can’t just scan for known vulnerabilities and call it a day. You need skilled testers to find novel and difficult-to-exploit bugs. By operating a bug bounty, LaunchDarkly can tap into the pool of dedicated external security experts and harness the power of the crowd to give us visibility into our security posture. That frees up our team to fix these vulnerabilities and build tools to prevent them from being introduced in the first place.\",\"spans\":[{\"start\":0,\"end\":12,\"type\":\"strong\"},{\"start\":77,\"end\":95,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/feature-management/\"}}]},{\"type\":\"paragraph\",\"text\":\"LD: What are the benefits of this program and how does it help us achieve our security goals?\",\"spans\":[{\"start\":0,\"end\":93,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Alex: With security, knowing is half the battle. We can’t invest effectively in risk mitigation if we don’t understand where risk is being introduced. Our bug bounty ensures that someone is always looking for things we might otherwise miss. We can use it as a feedback loop to prevent similar problems in the future.\",\"spans\":[{\"start\":0,\"end\":5,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Bug bounties are also great for measuring security effectiveness. If you can raise the amount of money you pay per vulnerability while keeping a steady budget, it means vulnerabilities are harder to find. That lets you know you’re doing a better job securing your system.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"LD: This program started out as a private project first, before going public. Can you talk about when the private program started and why you decided to go public?\",\"spans\":[{\"start\":0,\"end\":163,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Alex: If you go public with a bug bounty, you’ll get a lot of reports all at once. This can easily overwhelm a security team. We wanted to start with a set of trusted researchers and ramp up the numbers as we ironed out our processes. As soon as we felt like we had a handle on triaging and fixing our vulnerabilities reliably, we wanted to include as many researchers as possible to get the best visibility into any vulnerabilities that exist in our platform.\",\"spans\":[{\"start\":0,\"end\":6,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"LD: Generally, what sorts of vulnerabilities should participating hackers in the public program be looking for? Any particular areas of focus or tips?\",\"spans\":[{\"start\":0,\"end\":150,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Alex: I’ve found that “business logic”-type vulnerabilities—related to an unexpected order of operations or broken access control—tend to be the most impactful. We feel relatively buttoned up when it comes to the standard input validation and system configuration problems. That’s why we’ve invested in making sure that our hackers have access to all the features that we support in our plan. If people don’t have a good test environment, they’ll have to focus on shallow bugs, which don’t tend to be very meaningful for us.\",\"spans\":[{\"start\":0,\"end\":5,\"type\":\"strong\"},{\"start\":421,\"end\":437,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/blog/test-environments-101-definition-types-and-best/\"}}]},{\"type\":\"paragraph\",\"text\":\"LD: Any potential taunts you’d like to direct at hackers in our program to help get them fired up about discovering security flaws?\",\"spans\":[{\"start\":0,\"end\":131,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Alex: After several years in security, I know better than to make any claims about something being unhackable. I would say that we want to be a great partner to our hackers—setting them up with the access they need, reviewing their reports quickly and thoughtfully, and paying out big bounties commensurate with the effort and skill required to find security bugs. So, yeah, we dare you to hack us! \",\"spans\":[{\"start\":0,\"end\":5,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"To learn more about LaunchDarkly’s commitment to ensuring your data is safe, check out our Security page. \",\"spans\":[{\"start\":0,\"end\":106,\"type\":\"em\"},{\"start\":0,\"end\":106,\"type\":\"strong\"},{\"start\":77,\"end\":104,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/security/\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$ad641b0e-3fce-4f0c-b379-ededd69cadd2\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"How a Bug Bounty Program is Improving Our Security\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"Read a short interview about how we're proactively working to strengthen LaunchDarkly’s security with our new public bug bounty program.\",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":2000,\"height\":1112},\"alt\":\"Launched: Multi-factor authentication\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/MWRjNWEwOTUtZDYyNC00YTcwLWI4OGUtMjg2ZWFhZWFjMGUw_digital-security.jpg?auto=compress,format\",\"id\":\"X5iT4xEAACAArhOQ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"#fff\"}}}},{\"id\":\"YDapAxYAACYAUpWw\",\"uid\":\"reflections-black-history-month\",\"url\":\"/blog/reflections-black-history-month/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22YDapAxYAACYAUpWw%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2021-02-25T17:48:44+0000\",\"last_publication_date\":\"2022-08-16T20:20:31+0000\",\"slugs\":[\"reflections-on-black-history-month-at-launchdarkly\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":null,\"title\":[{\"type\":\"heading1\",\"text\":\"Reflections on Black History Month at LaunchDarkly\",\"spans\":[]}],\"author\":{\"id\":\"YDbsuRYAACkAU584\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"tailor-fobbs\",\"first_publication_date\":\"2021-02-25T00:21:36+0000\",\"last_publication_date\":\"2021-02-25T00:21:36+0000\",\"uid\":\"tailor-fobbs-is-an-executive-assistant-at-launchdarkly\",\"url\":\"/blog/author/tailor-fobbs-is-an-executive-assistant-at-launchdarkly/\",\"link_type\":\"Document\",\"key\":\"7358ab8b-afe7-4fb7-b73b-f74dc8dae1fb\",\"isBroken\":false},\"timestamp\":\"2021-02-25T08:00:00+0000\",\"additional_authors\":[],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"55643d2f-2a74-48a0-8c5a-90c67b9f0aca\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"In the spirit of education and community engagement, LaunchDarkly has spent February putting on a series of events to celebrate the month. \",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":null,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1125},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/20afdd1c-36a9-4c9a-a67f-56bede05c28b_BHM+-+LD+Blog+Post+.jpg?auto=compress,format\u0026rect=0,0,960,540\u0026w=2000\u0026h=1125\",\"id\":\"YDbDuRYAACkAUuki\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":2.0833333333333335,\"background\":\"#fff\"}},\"related_posts\":[],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"It’s Black History Month! February is an annual celebration of Black Excellence and the achievements of African Americans recognizing their central role in U.S. history. Carter Godwin Woodson, an historian, journalist and educator, known as “the father of black history,\\\" first established Negro History Week in 1926, in part, to address that and especially to ensure that black school children learned the history of their people. \",\"spans\":[{\"start\":5,\"end\":24,\"type\":\"em\"},{\"start\":5,\"end\":24,\"type\":\"strong\"},{\"start\":170,\"end\":191,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://en.wikipedia.org/wiki/Carter_G._Woodson\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"President Gerald Ford officially recognized Black History Month in 1976, calling for all Americans to “seize the opportunity to honor the too-often neglected accomplishments of Black Americans in every area of endeavor throughout our history.” Other countries around the world, including Canada and the United Kingdom, also devote a month to celebrating black history. \",\"spans\":[{\"start\":0,\"end\":63,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://africanamericanhistorymonth.gov/about/\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"In the spirit of education and community engagement, LaunchDarkly has spent February putting on a series of events to celebrate. In this post, I’ll recap some of those activities and talk a bit about what the experience means to me.\",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Giving back locally\",\"spans\":[{\"start\":0,\"end\":19,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Black Girls Code is a Bay Area-based organization that provides young girls of color the opportunity to learn in-demand skills in careers based around science, technology, engineering, and mathematics (STEM). Hoping to fill the gaping hole for women in technology, Black Girls Code offers an introduction to coding and programming to a new generation of future technological innovators.\",\"spans\":[{\"start\":0,\"end\":16,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.blackgirlscode.com/#\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"LaunchDarkly has committed a donation to Black Girls Code and our staff will also be participating in volunteering opportunities, mentorship, internships, and career building with the organization throughout the year. \",\"spans\":[]},{\"type\":\"heading3\",\"text\":\"Highlighting historical facts and figures\",\"spans\":[{\"start\":0,\"end\":41,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Throughout February, LaunchDarkly employees have been creating and sharing internally nearly daily doses of black historical facts and figures (illustrated below) that have shaped and continue to transform our world for good. The project has also helped to raise awareness around some of the discrimination and stereotypes that were so prevalent in the past, and yet unfortunately still find ways of popping up today.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$e363df1d-bc93-47e2-9f53-d9cc575f24d7\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"image\":{\"dimensions\":{\"width\":1400,\"height\":788},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/d05bfe10-708a-490e-a9f7-e5b6a10afed8_BHM+-+LD+Blog+Post++%281%29.jpg?auto=compress,format\u0026rect=0,0,959,540\u0026w=1400\u0026h=788\",\"id\":\"YDbDuhYAACgAUukp\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1.4592592592592593,\"background\":\"#fff\"}},\"lightbox\":false,\"image_link\":{\"link_type\":\"Any\"}},\"items\":[{}],\"id\":\"image$c104f5d8-f0cd-4497-9e5b-4b8764314772\",\"slice_type\":\"image\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Black authors book giveaway\",\"spans\":[{\"start\":0,\"end\":27,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"On Twitter, we’ve been hosting a weekly giveaway which spotlights tech-focused books written by black authors. Each week, anyone who responds to our tweet about the series is entered to win one of five available copies of the book we're highlighting.\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$b337432a-e9cb-4903-b509-f575ef87450e\",\"slice_type\":\"wysiwyg\",\"slice_label\":null},{\"primary\":{\"twitter\":[{\"type\":\"preformatted\",\"text\":\"https://twitter.com/LaunchDarkly/status/1362503717094850563?s=20\",\"spans\":[]}]},\"items\":[{}],\"id\":\"twitter$c8132f43-598d-4a88-9e7f-2984301cc075\",\"slice_type\":\"twitter\",\"slice_label\":null},{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"heading3\",\"text\":\"Virtual movie series\",\"spans\":[{\"start\":0,\"end\":20,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"Throughout Black History Month, we have showcased movies that highlight struggles and accomplishments throughout black history. We then follow up with a short discussion via Slack on the impacts of the films. Here are some of the movies we've spotlighted: \",\"spans\":[]},{\"type\":\"list-item\",\"text\":\"13th is a 2016 American documentary film which explores the \\\"intersection of race, justice, and mass incarceration in the United States,” according to the New York Times; it is titled after the Thirteenth Amendment to the United States Constitution, which was adopted in 1865, and abolished slavery throughout the U.S. and also ended involuntary servitude except as a punishment for conviction of a crime.\",\"spans\":[{\"start\":0,\"end\":5,\"type\":\"strong\"},{\"start\":0,\"end\":4,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.imdb.com/title/tt5895028/\",\"target\":\"_blank\"}},{\"start\":155,\"end\":169,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.nytimes.com/2016/09/30/movies/13th-review-ava-duvernay.html\",\"target\":\"_blank\"}},{\"start\":155,\"end\":169,\"type\":\"em\"}]},{\"type\":\"list-item\",\"text\":\"What Happened, Miss Simone? is a 2015 American biographical documentary about famed singer and civil rights activist, Nina Simone. \",\"spans\":[{\"start\":0,\"end\":28,\"type\":\"strong\"},{\"start\":0,\"end\":27,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.imdb.com/title/tt4284010/?ref_=fn_al_tt_1\",\"target\":\"_blank\"}},{\"start\":118,\"end\":129,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://en.wikipedia.org/wiki/Nina_Simone\",\"target\":\"_blank\"}}]},{\"type\":\"list-item\",\"text\":\"Becoming is a 2020 documentary about the former First Lady of the United States, Michelle Obama, which is partly based on her bestselling memoir of the same name.\",\"spans\":[{\"start\":0,\"end\":9,\"type\":\"strong\"},{\"start\":0,\"end\":8,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://www.imdb.com/title/tt12221748/?ref_=fn_al_tt_2\",\"target\":\"_blank\"}}]},{\"type\":\"heading3\",\"text\":\"Thoughts on Black History Month in 2021 \",\"spans\":[{\"start\":0,\"end\":39,\"type\":\"strong\"}]},{\"type\":\"paragraph\",\"text\":\"In conclusion, Black History Month at LaunchDarkly has been a success in many ways, by sharing education, perspective, and awareness of the racial disparities in our culture. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Personally, Black History Month is a reminder that people who look like me have significantly impacted the world. It encourages me to be resilient and make my mark on an industry where I am underrepresented. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"It’s about giving thanks and showing gratitude to my ancestors, who went through a tremendous amount of struggle, sacrifice, and persecution. Because of their struggle, I am grateful and value my rights today. I want to make a difference in some way by representing their legacies to the best of my ability and making sure that I open the way for other minority leaders to follow. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"It’s not only black history, it’s a fundamental part of American history. So, at this time of year and beyond, I challenge everyone, including myself, to be inspired, be mindful and be thoughtful about how you as a leader will inspire the next generation and create an even bigger world of possibilities. \",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"Harriet Tubman, American abolitionist and political activist, once said “Every great Dream begins with a dreamer. Always remember, you have within you the strength, the patience, and the passion to reach for the stars to change the world.” \",\"spans\":[{\"start\":0,\"end\":14,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://en.wikipedia.org/wiki/Harriet_Tubman\",\"target\":\"_blank\"}}]},{\"type\":\"paragraph\",\"text\":\"Thank you for listening.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"If you are interested in joining the LaunchDarkly team, check out our open opportunities.\",\"spans\":[{\"start\":0,\"end\":89,\"type\":\"em\"},{\"start\":0,\"end\":89,\"type\":\"strong\"},{\"start\":56,\"end\":88,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://launchdarkly.com/careers/\",\"target\":\"_blank\"}}]}]},\"items\":[{}],\"id\":\"wysiwyg$bf87f9b6-3457-468d-bdeb-406001517c65\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"Reflections on Black History Month at LaunchDarkly\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"In the spirit of education and community engagement, LaunchDarkly has spent February putting on a series of events to celebrate.\",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{\"dimensions\":{\"width\":960,\"height\":540},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/20afdd1c-36a9-4c9a-a67f-56bede05c28b_BHM+-+LD+Blog+Post+.jpg?auto=compress,format\",\"id\":\"YDbDuRYAACkAUuki\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"#fff\"}}}},{\"id\":\"X5iy8BEAAB0ArqJz\",\"uid\":\"my-first-week-at-launchdarkly-has-it-only-been-a-week\",\"url\":\"/blog/my-first-week-at-launchdarkly-has-it-only-been-a-week/\",\"type\":\"blog_post\",\"href\":\"https://launchdarkly.cdn.prismic.io/api/v2/documents/search?ref=aqRDsxYAADAAP-_K\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22X5iy8BEAAB0ArqJz%22%29+%5D%5D\",\"tags\":[\"Continuous Delivery\",\"LaunchDarkly\"],\"first_publication_date\":\"2020-12-03T21:15:13+0000\",\"last_publication_date\":\"2022-08-16T21:19:02+0000\",\"slugs\":[\"my-first-week-at-launchdarkly...has-it-only-been-a-week\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"is_preview_post\":null,\"title\":[{\"type\":\"heading1\",\"text\":\"My first week at LaunchDarkly...has it only been a week?\",\"spans\":[]}],\"author\":{\"id\":\"X2uemBEAACIArmYk\",\"type\":\"author\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"justin-darby\",\"first_publication_date\":\"2020-09-23T19:14:35+0000\",\"last_publication_date\":\"2020-09-23T19:14:35+0000\",\"uid\":\"jdarby\",\"url\":\"/blog/author/jdarby/\",\"link_type\":\"Document\",\"key\":\"f3dd18de-4959-4c30-80f1-6a2b9a2fb55d\",\"isBroken\":false},\"timestamp\":\"2016-04-29T00:00:00+0000\",\"additional_authors\":[],\"categories\":[{\"category\":{\"id\":\"X2u4fhEAACIArtu7\",\"type\":\"category\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"general\",\"first_publication_date\":\"2020-09-23T21:05:08+0000\",\"last_publication_date\":\"2021-02-10T01:35:03+0000\",\"uid\":\"general\",\"url\":\"/blog/category/general/\",\"data\":{\"category_name\":[{\"type\":\"heading1\",\"text\":\"General\",\"spans\":[]}]},\"link_type\":\"Document\",\"key\":\"5b0a2223-3e5a-482d-985d-15fd29fb166e\",\"isBroken\":false}}],\"excerpt\":[{\"type\":\"paragraph\",\"text\":\"\",\"spans\":[]}],\"exclude_recent\":false,\"hide_date\":false,\"enable_table_of_content\":null,\"disable_related_content\":null,\"featured_image\":{\"dimensions\":{\"width\":2000,\"height\":1333},\"alt\":\"My first week at LaunchDarkly...has it only been a week?\",\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly/M2I0ZDhkZDMtOWE2ZC00YjE4LTg4NTUtMGI0NTgwNmEzZGZk_rocket-launch-693236_960_720.jpg?auto=compress,format\u0026rect=0,0,960,640\u0026w=2000\u0026h=1333\",\"id\":\"X5iy9xEAACAArqME\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":2.0833332538604736,\"background\":\"#fff\"}},\"related_posts\":[],\"video_id\":[],\"video_type\":null,\"body\":[{\"primary\":{\"toc_title\":[],\"wysiwyg\":[{\"type\":\"paragraph\",\"text\":\"LaunchDarkly is by far the earliest startup I have been a part of, and from day one, I felt a responsibility and opportunity to contribute to its limitless potential. I considered my last company a startup (around 400 employees when I joined), but I have quickly realized that was not an accurate description. While there was some startup culture still present (and that's what I liked about it), LaunchDarkly embodies everything I could want from a startup.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"It all starts with the product and the market opportunity. As a sales professional I was looking for a product that had a positive reception from customers and stories of providing real value- this was evident on day one. From a new user excited to set up their first feature flag, to a current customer relaying that LaunchDarkly has completely revolutionized their dev process for the better- it has been all positive feedback so far.\",\"spans\":[{\"start\":120,\"end\":155,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://htmledit.squarefree.com/\"}},{\"start\":268,\"end\":280,\"type\":\"hyperlink\",\"data\":{\"link_type\":\"Web\",\"url\":\"https://htmledit.squarefree.com/\"}}]},{\"type\":\"paragraph\",\"text\":\"\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"A great product is built by a great team, and I have enjoyed getting to know this team over the past week. If I were to describe the team in one word, it would be “brilliant.” I am very grateful to come to work every day and be surrounded by people smarter than me that I can learn from and be challenged by. We all eat lunch together each day and while it is a casual hang out, I learn something new every time we sit down together.\",\"spans\":[]},{\"type\":\"paragraph\",\"text\":\"No company can predict its future success, but if I were a betting man, I’d put my chips on LaunchDarkly. I am excited to help companies further their continuous delivery efforts and Launch our company to new heights!\",\"spans\":[]}]},\"items\":[{}],\"id\":\"wysiwyg$8442c7ec-0080-461a-b860-a2aafef7e491\",\"slice_type\":\"wysiwyg\",\"slice_label\":null}],\"meta_title\":[{\"type\":\"heading1\",\"text\":\"My first week at LaunchDarkly, has it only been a week?\",\"spans\":[]}],\"meta_description\":[{\"type\":\"paragraph\",\"text\":\"LaunchDarkly is by far the earliest startup I have been a part of, and from day one, I felt a responsibility and opportunity to contribute to its limitless potential. I considered my last company a startup (around 400 employees when I joined), but I have quickly realized that was not an accurate description. \",\"spans\":[]}],\"schema\":[],\"open_graph_image\":{}}}],\"title\":\"Related Content\",\"seeAllLink\":\"/blog/category/general\",\"isNewBlogStyle\":true,\"extraWideCard\":true,\"perPage\":4,\"perPageTablet\":2,\"noFlex\":true,\"theme\":\"dark\",\"seeAllText\":\"See all posts on general\"}]}]\n"])</script><script>self.__next_f.push([1,"64:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__newsletterContainer\",\"children\":[\"$\",\"$Lb1\",null,{}]}]\n"])</script><script>self.__next_f.push([1,"65:[\"$\",\"div\",null,{\"className\":\"styles-module__HXqOTa__g2BannerContainer\",\"children\":[\"$\",\"$L28\",null,{\"href\":\"/g2-review/\",\"className\":\"styles-module__MISuva__blogG2Banner\",\"children\":[\"$\",\"div\",null,{\"className\":\"styles-module__MISuva__blogG2BannerInner\",\"children\":[[\"$\",\"div\",null,{\"children\":[\"$undefined\",[\"$\",\"img\",null,{\"className\":\"styles-module__MISuva__blogG2BannerImage\",\"src\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ainJTAeQX7-eXMEO_icon-bw--growing-up-arrow.svg\",\"alt\":\"Climbing up arrow\",\"width\":\"$undefined\",\"height\":\"$undefined\",\"loading\":\"lazy\",\"fetchPriority\":\"$undefined\",\"onClick\":\"$undefined\"}]]}],[\"$\",\"div\",null,{\"className\":\"styles-module__MISuva__blogG2BannerContent\",\"children\":[\"$\",\"h4\",null,{\"className\":\"styles-module__J0n02W__variant_h4 styles-module__J0n02W__color_white styles-module__J0n02W__weight_medium\",\"children\":\"LaunchDarkly Tops G2 Grid for Feature Management\"}]}],[\"$\",\"div\",null,{\"className\":\"styles-module__MISuva__blogG2BannerButton\",\"children\":[\"$\",\"button\",null,{\"className\":\"styles-module__d4f9cW__button styles-module__d4f9cW__variant_lime styles-module__d4f9cW__size_default\",\"style\":\"$undefined\",\"type\":\"button\",\"onClick\":\"$undefined\",\"ref\":\"$undefined\",\"children\":[[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__label\",\"children\":\"Learn more\"}],[\"$\",\"span\",null,{\"className\":\"styles-module__d4f9cW__arrowBox false\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":16,\"height\":12,\"fill\":\"none\",\"className\":\"styles-module__d4f9cW__arrow\",\"aria-hidden\":\"true\",\"children\":\"$20:2:props:children:1:props:children:props:children:1:props:children:0:props:children:2:props:children:1:props:children:props:children\"}]}]]}]}]]}]}]}]\n"])</script><script>self.__next_f.push([1,"66:[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Article\\\",\\\"@id\\\":\\\"https://launchdarkly.com/10-days-of-errors/#article\\\",\\\"about\\\":[{\\\"@type\\\":\\\"Thing\\\",\\\"name\\\":\\\"10 Days of Software Errors: Failure Stories\\\"}],\\\"author\\\":[{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Yoz Grahame\\\",\\\"url\\\":\\\"https://launchdarkly.com/blog/author/ygrahame/\\\"}],\\\"datePublished\\\":\\\"2020-12-03T21:14:20.000Z\\\",\\\"dateModified\\\":\\\"2026-07-21T17:08:25.000Z\\\",\\\"headline\\\":\\\"10 Days of Software Errors: Failure Stories\\\",\\\"description\\\":\\\"Software errors have caused real outages, from Knight Capital's $440M loss to bizarre bugs. Read 10 stories and learn to prevent them with feature flags.\\\",\\\"image\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://launchdarkly.com/open-graph.jpg\\\"},\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://launchdarkly.com/10-days-of-errors/#webpage\\\"},\\\"publisher\\\":{\\\"@id\\\":\\\"https://launchdarkly.com/#organization\\\"}}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"@id\\\":\\\"https://launchdarkly.com/#organization\\\",\\\"name\\\":\\\"LaunchDarkly\\\",\\\"legalName\\\":\\\"LaunchDarkly\\\",\\\"description\\\":\\\"LaunchDarkly helps teams safely manage code and AI agents in production with feature flags, progressive delivery, automated rollback, and runtime control.\\\",\\\"url\\\":\\\"https://launchdarkly.com/\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://launchdarkly.com/schema-icon.png\\\",\\\"width\\\":\\\"512\\\",\\\"height\\\":\\\"512\\\"},\\\"sameAs\\\":[\\\"https://twitter.com/LaunchDarkly\\\",\\\"https://www.linkedin.com/company/launchdarkly\\\",\\\"https://github.com/launchdarkly\\\"]}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"description\\\":\\\"Breadcrumbs list\\\",\\\"name\\\":\\\"Breadcrumbs\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://launchdarkly.com/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Blog\\\",\\\"item\\\":\\\"https://launchdarkly.com/blog\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"10 Days of Software Errors: Failure Stories\\\",\\\"item\\\":\\\"https://launchdarkly.com/10-days-of-errors/\\\"}]}\"}}]]\n"])</script><script>self.__next_f.push([1,"67:[\"$\",\"$Lb4\",null,{\"data\":{\"primary\":{\"heading\":\"Resources to get started.\",\"readMoreLabel\":\"\",\"readMoreHref\":\"\",\"imageAspectRatio\":\"16:9\",\"background\":\"black\"},\"items\":[{\"title\":\"Check out the blog.\",\"eyebrow\":\"Blog\",\"description\":\"Read about LaunchDarkly news, product updates, and more.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtlhaYofJOwHWAR_img-res-card--BLOG.png?auto=format,compress\",\"href\":\"/blog/\"},{\"title\":\"Explore our docs.\",\"eyebrow\":\"Docs\",\"description\":\"Learn best practices for getting started with LaunchDarkly.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtlhqYofJOwHWAS_img-res-card--DOCS.png?auto=format,compress\",\"href\":\"https://launchdarkly.com/docs/home\"},{\"title\":\"Watch on demand.\",\"eyebrow\":\"Videos\",\"description\":\"Check out demos and tutorials to see LaunchDarkly in action.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtliKYofJOwHWAU_img-res-card--VIDEOS.png?auto=format,compress\",\"href\":\"https://www.youtube.com/@LaunchDarkly\"},{\"title\":\"Connect at events.\",\"eyebrow\":\"Events\",\"description\":\"Explore ways to connect with us in person and virtually.\",\"image\":\"https://images.prismic.io/launchdarkly-marketingsite/agtlh6YofJOwHWAT_img-res-card--Events.png?auto=format,compress\",\"href\":\"/events-webinars/\"}]},\"customCommands\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"2d:[\"$\",\"$L2b\",null,{\"navigationDocument\":{\"id\":\"Z8jwdRIAACIAchAL\",\"uid\":null,\"url\":null,\"type\":\"main_navigation\",\"href\":\"https://launchdarkly-marketingsite.cdn.prismic.io/api/v2/documents/search?ref=aqQbiREAACwA_PkJ\u0026q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22Z8jwdRIAACIAchAL%22%29+%5D%5D\",\"tags\":[],\"first_publication_date\":\"2025-03-06T23:22:48+0000\",\"last_publication_date\":\"2026-08-12T21:50:57+0000\",\"slugs\":[\"main-navigation\"],\"linked_documents\":[],\"lang\":\"en-us\",\"alternate_languages\":[],\"data\":{\"products_group\":[{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEidWJ-7kSC2w_icon--guarded-release-x24.svg\",\"id\":\"aCQJEidWJ-7kSC2w\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZkT8yxcAACQAayzv\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"eb9e562d-4750-4567-8060-b0378a8012b7\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guarded Releases\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Monitor and de-risk.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJESdWJ-7kSC2v_icon--experimentation-x24.svg\",\"id\":\"aCQJESdWJ-7kSC2v\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZS3e3xAAACYArUv0\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"859b7068-0b26-4b9b-be95-730781ae8e60\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make data-driven decisions.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aYTW2d0YXLCxVdmZ_observability-icon-pink-gradient.svg\",\"id\":\"aYTW2d0YXLCxVdmZ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aXzdMhEAACEAbMS3\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"a6113607-80f4-45f3-9d88-a7f9cd5474ad\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Detect, diagnose, and recover.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"releases\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJEydWJ-7kSC2x_icon--release-management-x24.svg\",\"id\":\"aCQJEydWJ-7kSC2x\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZK7UUREAACQAMsBn\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"bd2dad2e-cc7c-47a4-9c6b-d14e00a62722\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature Flags\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Scale great release processes.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"release-management\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":24,\"height\":24},\"alt\":null,\"copyright\":null,\"url\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/aCQJECdWJ-7kSC2u_icon--ai-x24.svg\",\"id\":\"aCQJECdWJ-7kSC2u\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"aScrdxIAACUA_zBM\",\"type\":\"broken_type\",\"tags\":[],\"lang\":null,\"slug\":\"-\",\"first_publication_date\":null,\"last_publication_date\":null,\"link_type\":\"Document\",\"key\":\"e1c3e064-69c5-4a8a-9e6d-d47afa6f9a84\",\"isBroken\":true},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI Configs\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Make innovative AI products.\",\"spans\":[],\"direction\":\"ltr\"}],\"hover_class\":[{\"type\":\"paragraph\",\"text\":\"ai\",\"spans\":[],\"direction\":\"ltr\"}]}],\"overview_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agwNv6YofJOwHWkd_platform-overview-icon.png?auto=format,compress\",\"id\":\"agwNv6YofJOwHWkd\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT1iRIAACMAW09R\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"the-runtime-control-layer-for-the-ai-era.\",\"first_publication_date\":\"2026-05-13T22:07:57+0000\",\"last_publication_date\":\"2026-07-29T17:52:40+0000\",\"uid\":\"how-it-works.platform\",\"url\":\"/how-it-works.platform/\",\"link_type\":\"Document\",\"key\":\"cb51a2ac-66b9-445c-add5-1bfd126fdaf1\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Platform overview\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAKYofJOwHTuE_icon-main-nav--FeatureManagement.png?auto=format,compress\",\"id\":\"agpNAKYofJOwHTuE\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agJOJRIAACMAV0KE\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"feature-flags-for-real-time-control-in-production.\",\"first_publication_date\":\"2026-05-11T23:18:47+0000\",\"last_publication_date\":\"2026-07-09T17:32:44+0000\",\"uid\":\"how-it-works.feature-flags\",\"url\":\"/how-it-works.feature-flags/\",\"link_type\":\"Document\",\"key\":\"5b39f1f4-c3e9-4985-a6f4-09d007cdc71a\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNA6YofJOwHTuH_icon-main-nav--Observability.png?auto=format,compress\",\"id\":\"agpNA6YofJOwHTuH\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agUqVRIAACEAW5iJ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"observe-at-the-scale-that-you\",\"first_publication_date\":\"2026-05-14T02:28:03+0000\",\"last_publication_date\":\"2026-07-16T18:41:10+0000\",\"uid\":\"how-it-works.observability\",\"url\":\"/how-it-works.observability/\",\"link_type\":\"Document\",\"key\":\"fb0b6ba7-0f91-4639-a80e-a08103edd108\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Observability\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_6YofJOwHTuD_icon-main-nav--Experimentation.png?auto=format,compress\",\"id\":\"agpM_6YofJOwHTuD\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agT6fRIAAI1IW1Zl\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"AI Refresh\"],\"lang\":\"en-us\",\"slug\":\"optimize-at-the-speed-that-you\",\"first_publication_date\":\"2026-05-13T23:15:56+0000\",\"last_publication_date\":\"2026-08-12T00:12:40+0000\",\"uid\":\"how-it-works.experimentation\",\"url\":\"/how-it-works.experimentation/\",\"link_type\":\"Document\",\"key\":\"026bc403-ba2c-4c10-a9a7-28dc7beb9c0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Experimentation\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpM_qYofJOwHTuC_icon-main-nav--Agentintegrations.png?auto=format,compress\",\"id\":\"agpM_qYofJOwHTuC\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agPiLhIAACEAWZ_F\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"Agent Integration\"],\"lang\":\"en-us\",\"slug\":\"go-agent-native-from-day-1.\",\"first_publication_date\":\"2026-05-13T03:45:19+0000\",\"last_publication_date\":\"2026-07-02T20:40:47+0000\",\"uid\":\"how-it-works.agent-integrations\",\"url\":\"/how-it-works.agent-integrations/\",\"link_type\":\"Document\",\"key\":\"96423778-717a-4a35-b3d1-2966c0f15a99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Agent integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAqYofJOwHTuG_icon-main-nav--Integrations.png?auto=format,compress\",\"id\":\"agpNAqYofJOwHTuG\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agXnzxIAAGfYXLYC\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"integrations\",\"first_publication_date\":\"2026-05-14T15:21:28+0000\",\"last_publication_date\":\"2026-05-19T04:39:17+0000\",\"uid\":\"integrations\",\"url\":\"/integrations/\",\"link_type\":\"Document\",\"key\":\"ac21f49d-de49-4c8f-9cab-03ff74f3aeae\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Integrations\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpNAaYofJOwHTuF_icon-main-nav--Infrastructure.png?auto=format,compress\",\"id\":\"agpNAaYofJOwHTuF\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agstuhIAAGVsZG8v\",\"type\":\"ai_refresh_pages\",\"tags\":[\"how it works\",\"platform architecture\"],\"lang\":\"en-us\",\"slug\":\"built-for-runtime-control-at-scale.\",\"first_publication_date\":\"2026-05-18T15:48:56+0000\",\"last_publication_date\":\"2026-05-20T21:04:24+0000\",\"uid\":\"how-it-works.platform-architecture\",\"url\":\"/how-it-works.platform-architecture/\",\"link_type\":\"Document\",\"key\":\"654903e7-c950-4ee9-ad8d-28ced3798a0e\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Architecture\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_team_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrqYofJOwHTuK_icon-main-nav--ReleaseAI-BuiltCode.png?auto=format,compress\",\"id\":\"agpOrqYofJOwHTuK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZggxIAAGfYXWgr\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ai-coded-it-but-you-own-it-in-production.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T23:57:25+0000\",\"last_publication_date\":\"2026-07-15T15:24:08+0000\",\"uid\":\"solutions.release-ai-built-code\",\"url\":\"/solutions.release-ai-built-code/\",\"link_type\":\"Document\",\"key\":\"89e8e1ad-db87-4479-aeec-83186124bc80\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Release AI-built code\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOrKYofJOwHTuI_icon-main-nav--ControlAIAgents.png?auto=format,compress\",\"id\":\"agpOrKYofJOwHTuI\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVNRxIAACEAW8p2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"agents-make-decisions-you-own-the-results.-stay-in-control.\",\"first_publication_date\":\"2026-05-14T04:20:19+0000\",\"last_publication_date\":\"2026-07-15T15:24:56+0000\",\"uid\":\"solutions.control-ai-agents\",\"url\":\"/solutions.control-ai-agents/\",\"link_type\":\"Document\",\"key\":\"c8ca2188-6dd5-4f79-b127-b32bd5afcc49\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Control AI agents\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOraYofJOwHTuJ_icon-main-nav--OptimizeAIPerformance%26Cost.png?auto=format,compress\",\"id\":\"agpOraYofJOwHTuJ\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZehRIAACEAXWU6\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-guessing.-optimize-model-performance-and-cost-in-real-time.\",\"first_publication_date\":\"2026-05-14T23:47:53+0000\",\"last_publication_date\":\"2026-07-15T15:25:55+0000\",\"uid\":\"solutions.optimize-ai-performance\",\"url\":\"/solutions.optimize-ai-performance/\",\"link_type\":\"Document\",\"key\":\"57b0c941-034c-46e0-80ef-722178945659\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Optimize AI performance \u0026 cost\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOsKYofJOwHTuM_icon-main-nav--Self-HealSystems.png?auto=format,compress\",\"id\":\"agpOsKYofJOwHTuM\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agVxxxIAAI1IW_7K\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"stop-responding-and-automatically-fix-problems-in-production.\",\"first_publication_date\":\"2026-05-14T07:01:00+0000\",\"last_publication_date\":\"2026-07-07T00:03:00+0000\",\"uid\":\"solutions.self-heal-systems\",\"url\":\"/solutions.self-heal-systems/\",\"link_type\":\"Document\",\"key\":\"a777ddee-a6f5-485b-8cb0-df55680e5bd3\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Self-heal systems\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpOr6YofJOwHTuL_icon-main-nav--RunExperiments.png?auto=format,compress\",\"id\":\"agpOr6YofJOwHTuL\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agZhwBIAACMAXWoU\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"experiment-at-ai-scale-without-losing-control.\",\"first_publication_date\":\"2026-05-15T00:01:50+0000\",\"last_publication_date\":\"2026-07-15T15:28:25+0000\",\"uid\":\"solutions.run-experiments\",\"url\":\"/solutions.run-experiments/\",\"link_type\":\"Document\",\"key\":\"0c20b758-07ba-4180-9002-028f2eb0c933\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Run experiments\",\"spans\":[],\"direction\":\"ltr\"}]}],\"by_industry_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmaYofJOwHTuS_icon-main-nav--AIEngineer.png?auto=format,compress\",\"id\":\"agpQmaYofJOwHTuS\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"af-1HRIAACEAU2aQ\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"AI Engineer\"],\"lang\":\"en-us\",\"slug\":\"agents-break-in-production.-thats-where-control-matters.\",\"first_publication_date\":\"2026-05-09T23:06:03+0000\",\"last_publication_date\":\"2026-05-20T21:03:40+0000\",\"uid\":\"persona.ai-engineers\",\"url\":\"/persona.ai-engineers/\",\"link_type\":\"Document\",\"key\":\"fe8f38e4-584c-451d-b926-af442c252bea\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AI engineers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQmqYofJOwHTuT_icon-main-nav--Developers.png?auto=format,compress\",\"id\":\"agpQmqYofJOwHTuT\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaOnBIAACMAXamc\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"development teams\"],\"lang\":\"en-us\",\"slug\":\"ship-faster.-stay-in-control.-fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-27T20:30:26+0000\",\"uid\":\"persona.development-teams\",\"url\":\"/persona.development-teams/\",\"link_type\":\"Document\",\"key\":\"dc747045-cd9a-4d86-aec3-d00c036dff99\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Developers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQm6YofJOwHTuU_icon-main-nav--DevOps-SRE.png?auto=format,compress\",\"id\":\"agpQm6YofJOwHTuU\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaRwhIAAGfYXa5B\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"devops\"],\"lang\":\"en-us\",\"slug\":\"prevent-incidents.fix-problems-automatically.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-08-18T18:21:56+0000\",\"uid\":\"persona.devops-site-reliability-engineer-teams\",\"url\":\"/persona.devops-site-reliability-engineer-teams/\",\"link_type\":\"Document\",\"key\":\"95bbe00c-5ed4-4caf-a18e-830cfa416ced\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"DevOps \u0026 SRE\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpQnaYofJOwHTuW_icon-main-nav--ProductManagers.png?auto=format,compress\",\"id\":\"agpQnaYofJOwHTuW\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agaJuhIAAGfYXaJy\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"product managers\"],\"lang\":\"en-us\",\"slug\":\"launch-confidently.-learn-what-works.-improve-continuously.\",\"first_publication_date\":\"2026-05-15T03:39:15+0000\",\"last_publication_date\":\"2026-05-19T01:10:37+0000\",\"uid\":\"persona.product-managers\",\"url\":\"/persona.product-managers/\",\"link_type\":\"Document\",\"key\":\"aaa44826-4691-462b-a8a1-acc80ad8fbdb\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product managers\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/8Rpfg-gh7BMefouu_persona-data-scientist-icon-nav.png?auto=format,compress\",\"id\":\"8Rpfg-gh7BMefouu\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"alem8REAACwAC87h\",\"type\":\"ai_refresh_pages\",\"tags\":[\"AI Refresh\",\"Persona\",\"data scientists\"],\"lang\":\"en-us\",\"slug\":\"run-experiments-you-can-actually-trust.\",\"first_publication_date\":\"2026-07-15T18:45:45+0000\",\"last_publication_date\":\"2026-07-17T19:14:06+0000\",\"uid\":\"persona.data-scientists\",\"url\":\"/persona.data-scientists/\",\"link_type\":\"Document\",\"key\":\"f7bf52f5-fab6-4ea1-9d9c-e319463a6190\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Data scientists\",\"spans\":[],\"direction\":\"ltr\"}]}],\"learn_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSN6YofJOwHTud_icon-main-nav--Blog.png?auto=format,compress\",\"id\":\"agpSN6YofJOwHTud\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"9ad95dc9-c5ec-4aab-ac8a-7b7405aec915\",\"url\":\"https://launchdarkly.com/blog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOaYofJOwHTuf_icon-main-nav--GuidesandEbooks.png?auto=format,compress\",\"id\":\"agpSOaYofJOwHTuf\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"1b0edfb5-d056-42ae-a4c2-dd530e49f057\",\"url\":\"https://launchdarkly.com/guides/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Guides \u0026 ebooks\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOKYofJOwHTue_icon-main-nav--EventsandWebinars.png?auto=format,compress\",\"id\":\"agpSOKYofJOwHTue\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"YQxWXxIAACkAIPjQ\",\"type\":\"events\",\"tags\":[\"events\",\"webinars\"],\"lang\":\"en-us\",\"slug\":\"events\",\"first_publication_date\":\"2021-08-05T21:26:24+0000\",\"last_publication_date\":\"2026-09-11T15:17:28+0000\",\"uid\":\"events-webinars\",\"url\":\"/events-webinars/\",\"link_type\":\"Document\",\"key\":\"d1154925-59b3-4c22-afcc-e0efad605e91\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Events \u0026 webinars\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSOqYofJOwHTug_icon-main-nav--Videos.png?auto=format,compress\",\"id\":\"agpSOqYofJOwHTug\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"c4b22447-de6e-4d1e-9b7a-11748b8055aa\",\"url\":\"https://www.youtube.com/@LaunchDarkly\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Videos\",\"spans\":[],\"direction\":\"ltr\"}]}],\"success_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSQ6YofJOwHTui_icon-main-nav--Academy.png?auto=format,compress\",\"id\":\"agpSQ6YofJOwHTui\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"8a7c9deb-617c-4160-adeb-5b432b051ecf\",\"url\":\"https://academy.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Academy\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRKYofJOwHTuj_icon-main-nav--CustomerStories.png?auto=format,compress\",\"id\":\"agpSRKYofJOwHTuj\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ajGF7RcAADAA88aj\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"trusted-by-industry-leading-teams.\",\"first_publication_date\":\"2026-06-16T17:59:03+0000\",\"last_publication_date\":\"2026-06-23T21:13:13+0000\",\"uid\":\"customer-stories\",\"url\":\"/customer-stories/\",\"link_type\":\"Document\",\"key\":\"d11dbfa0-bb2d-461c-b5c3-03e978db76b6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Customer stories\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRqYofJOwHTul_icon-main-nav--ProfessionalServices.png?auto=format,compress\",\"id\":\"agpSRqYofJOwHTul\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZSgkThAAACcAC-sT\",\"type\":\"new_pages\",\"tags\":[\"services\",\"professional services\"],\"lang\":\"en-us\",\"slug\":\"launchdarkly-professional-services\",\"first_publication_date\":\"2023-10-12T16:52:47+0000\",\"last_publication_date\":\"2026-07-08T15:43:17+0000\",\"uid\":\"services\",\"url\":\"/services/\",\"link_type\":\"Document\",\"key\":\"93fcdada-dd96-49ca-b8f3-a466eb109f19\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Professional services\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSRaYofJOwHTuk_icon-main-nav--Partners.png?auto=format,compress\",\"id\":\"agpSRaYofJOwHTuk\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"ZMggHhEAACYAn2e4\",\"type\":\"new_pages\",\"tags\":[\"partner program\",\"partner program page\"],\"lang\":\"en-us\",\"slug\":\"lets-build-better-software-together.\",\"first_publication_date\":\"2023-07-31T21:59:14+0000\",\"last_publication_date\":\"2026-07-08T15:56:45+0000\",\"uid\":\"partner-program\",\"url\":\"/partner-program/\",\"link_type\":\"Document\",\"key\":\"c693eb6c-d924-4446-98dc-e50e30a73e31\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Partners\",\"spans\":[],\"direction\":\"ltr\"}]}],\"get_help_group\":[{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiKYofJOwHTu2_icon-main-nav--help-center.png?auto=format,compress\",\"id\":\"agpTiKYofJOwHTu2\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"671d49cc-49d6-4614-90a4-3c31313a2f47\",\"url\":\"https://support.launchdarkly.com/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Help Center\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Explore help topics for everything LaunchDarkly.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":160,\"height\":160},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpTiaYofJOwHTu3_icon-main-nav--request-support.png?auto=format,compress\",\"id\":\"agpTiaYofJOwHTu3\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"b1c38405-1e18-4080-81ee-a86756bec156\",\"url\":\"https://support.launchdarkly.com/hc/en-us/requests/new?ticket_form_id=360000836893\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Request support\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Reach out to us for direct answers to your questions.\",\"spans\":[],\"direction\":\"ltr\"}]}],\"resources_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVKYofJOwHTuo_icon-main-nav--DocsHome.png?auto=format,compress\",\"id\":\"agpSVKYofJOwHTuo\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"79ea2804-386d-45ba-ae92-9de4e6a20aa2\",\"url\":\"https://launchdarkly.com/docs/home\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Docs home\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSVaYofJOwHTup_icon-main-nav--FeatureFlagQuickstart.png?auto=format,compress\",\"id\":\"agpSVaYofJOwHTup\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"d55987b1-30ac-4d93-907a-c50f827814d5\",\"url\":\"https://launchdarkly.com/docs/home/getting-started\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Feature flags Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSUqYofJOwHTum_icon-main-nav--AIConfigsQuickstart.png?auto=format,compress\",\"id\":\"agpSUqYofJOwHTum\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"f3e899b1-5149-4b7f-a205-8d8be0d0d0ca\",\"url\":\"https://launchdarkly.com/docs/home/agentcontrol/quickstart\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl Quickstart\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSU6YofJOwHTun_icon-main-nav--APIDocs.png?auto=format,compress\",\"id\":\"agpSU6YofJOwHTun\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"98e0f384-0d91-4ddc-b989-908d24e47a4d\",\"url\":\"https://launchdarkly.com/docs/api/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"API docs\",\"spans\":[],\"direction\":\"ltr\"}]}],\"workflow_group\":[{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZqYofJOwHTut_icon-main-nav--Productupdates.png?auto=format,compress\",\"id\":\"agpSZqYofJOwHTut\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"daebf9c5-8c24-4a14-9df2-0a7f80d7dfce\",\"url\":\"https://launchdarkly.com/changelog/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Product Updates\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZaYofJOwHTus_icon-main-nav--PowerAnalysisCalculator.png?auto=format,compress\",\"id\":\"agpSZaYofJOwHTus\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"4a2ede12-b83e-4114-bbc3-4a738b3d8ccb\",\"url\":\"https://launchdarkly.com/sample-size-calculator/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Power analysis calculator\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSZKYofJOwHTur_icon-main-nav--FlagshipEngineeringBlog.png?auto=format,compress\",\"id\":\"agpSZKYofJOwHTur\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"0eb1c344-46c1-466a-bc84-f3bb4c46290b\",\"url\":\"https://launchdarkly.com/docs/blog\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Flagship engineering blog\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":48,\"height\":48},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpSY6YofJOwHTuq_icon-main-nav--Community.png?auto=format,compress\",\"id\":\"agpSY6YofJOwHTuq\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"link_type\":\"Web\",\"key\":\"84663d21-e4f8-4631-81cd-6da440a8b828\",\"url\":\"https://launchdarkly.com/community/\"},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"Community\",\"spans\":[],\"direction\":\"ltr\"}]}],\"banner_group\":[{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Solutions\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo now\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"bdb970f8-f1f4-424b-ae6b-5160b38903a2\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Resources\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe and control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4d1ad24c-3879-42e8-86de-2ab76c2778ad\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":267,\"height\":180},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/aatGU1xvIZEnjb9J_top-nav-moving-at-ai-speed.png?auto=format,compress\",\"id\":\"aatGU1xvIZEnjb9J\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Platform\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Move at AI speed. Stay in control.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"See how to release, experiment, observe \u0026 control AI.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Watch demo\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"35310a7f-4223-4c71-b058-f0f99ba04936\",\"url\":\"https://launchdarkly.com/product-demo/platform-overview/\"}},{\"banner_image\":{},\"banner_left_image\":{\"dimensions\":{\"width\":178,\"height\":120},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/abRT8lxvIZEnjqhK_developer-tab-free-trial.png?auto=format,compress\",\"id\":\"abRT8lxvIZEnjqhK\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"banner_subtitle_icon\":{},\"banner_position\":\"Bottom\",\"banner_location\":\"Developers\",\"banner_subtitle\":[{\"type\":\"paragraph\",\"text\":\"Take control of your AI at runtime.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_body\":[{\"type\":\"paragraph\",\"text\":\"Control releases, experiments, and AI behavior in prod.\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link_text\":[{\"type\":\"paragraph\",\"text\":\"Free trial\",\"spans\":[],\"direction\":\"ltr\"}],\"banner_link\":{\"link_type\":\"Web\",\"key\":\"4a0a8a27-41ee-4993-8274-dab982a68d7d\",\"url\":\"https://app.launchdarkly.com/signup\"}}],\"new_products_group\":[{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVqYofJOwHTu-_icon-main-nav--CodeControl.png?auto=format,compress\",\"id\":\"agpUVqYofJOwHTu-\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agTAhBIAACEAWwQ2\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"ship-confidently-with-automatic-recovery-and-continuous-improvement-built-in.\",\"first_publication_date\":\"2026-05-13T18:19:33+0000\",\"last_publication_date\":\"2026-05-19T05:42:39+0000\",\"uid\":\"platform.code-control\",\"url\":\"/platform.code-control/\",\"link_type\":\"Document\",\"key\":\"31f8582d-1543-426b-bfe9-b2e3aa405ab6\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"CodeControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"Ship confidently, with automated control built in.\",\"spans\":[],\"direction\":\"ltr\"}]},{\"icon\":{\"dimensions\":{\"width\":150,\"height\":150},\"alt\":null,\"copyright\":null,\"url\":\"https://images.prismic.io/launchdarkly-marketingsite/agpUVaYofJOwHTu9_icon-main-nav--AgentControl.png?auto=format,compress\",\"id\":\"agpUVaYofJOwHTu9\",\"edit\":{\"x\":0,\"y\":0,\"zoom\":1,\"background\":\"transparent\"}},\"link\":{\"id\":\"agSf7RIAAI1IWtRB\",\"type\":\"ai_refresh_pages\",\"tags\":[],\"lang\":\"en-us\",\"slug\":\"one-place-to-control-agent-behavior.\",\"first_publication_date\":\"2026-05-13T16:04:01+0000\",\"last_publication_date\":\"2026-06-01T17:57:35+0000\",\"uid\":\"platform.agent-control\",\"url\":\"/platform.agent-control/\",\"link_type\":\"Document\",\"key\":\"a6029978-2730-4f8c-aa21-9c15c2e2fbff\",\"isBroken\":false},\"link_text\":[{\"type\":\"paragraph\",\"text\":\"AgentControl\",\"spans\":[],\"direction\":\"ltr\"}],\"description\":[{\"type\":\"paragraph\",\"text\":\"One place to keep your agent behavior under control.\",\"spans\":[],\"direction\":\"ltr\"}]}]}},\"showBanner\":true,\"noNav\":\"$undefined\",\"addRiskMeterLogo\":false,\"hideLinks\":false,\"useSnowflakeHeader\":\"$undefined\",\"EoDNav\":\"$undefined\",\"useAiTheme\":\"$undefined\",\"isHomepage\":\"$undefined\",\"useRefreshDesign\":\"$undefined\",\"useWhiteLogo\":true}]\n"])</script><script>self.__next_f.push([1,"2f:[\"$\",\"$L2c\",null,{\"supportItems\":[{\"title\":\"Support home\",\"url\":\"https://support.launchdarkly.com/\"},{\"title\":\"Professional Services\",\"url\":\"/services/\"},{\"title\":\"Documentation\",\"url\":\"https://launchdarkly.com/docs/home\"},{\"title\":\"Status\",\"url\":\"https://status.launchdarkly.com/\"}],\"whyUsItems\":[{\"title\":\"Economic Impact of LaunchDarkly\",\"url\":\"https://launchdarkly.com/guides/forrester-tei-report-2026/\"},{\"title\":\"How LaunchDarkly works\",\"url\":\"/how-it-works.platform/\"},{\"title\":\"Solutions\",\"url\":\"/solutions/\"},{\"title\":\"Trust \u0026 Security\",\"url\":\"/security/\"},{\"title\":\"Trust Center\",\"url\":\"https://trust.launchdarkly.com\"},{\"title\":\"LaunchDarkly vs. Competitors\",\"url\":\"https://launchdarkly.com/compare/\"},{\"title\":\"LaunchDarkly on AWS\",\"url\":\"https://launchdarkly.com/solutions/launchdarkly-aws/\"}],\"companyItems\":[{\"title\":\"About Us\",\"url\":\"/about-us/\"},{\"title\":\"Careers\",\"url\":\"/careers/\"},{\"title\":\"Media \u0026 Analysts\",\"url\":\"/press-and-analysts/\"},{\"title\":\"Partner Program\",\"url\":\"/partner-program/\"},{\"title\":\"Terms \u0026 Policies\",\"url\":\"https://launchdarkly.com/policies/subscription-terms/\"},{\"title\":\"Contact Us\",\"url\":\"/contact-us/\"},{\"title\":\"Community\",\"url\":\"https://launchdarkly.com/community/\"}],\"snsLinks\":[{\"url\":\"https://twitter.com/launchdarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/b4508c29-da0c-4e9b-bcae-205a95a6ba5d_logo--x-twitter.svg?auto=compress,format\",\"iconAlt\":\"twitter\"},{\"url\":\"https://www.youtube.com/@LaunchDarkly\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/276be984-0bd0-44ed-9e32-44a21a0c4fac_icon-youtube.svg\",\"iconAlt\":\"YouTube\"},{\"url\":\"https://www.linkedin.com/company/launchdarkly/mycompany/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b512fb1-6ecc-4e7f-bfe2-368f1a29898b_icon-LinkedIn.svg\",\"iconAlt\":\"LinkedIn\"},{\"url\":\"https://discord.com/invite/launchdarklycommunity\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/ZpaT7h5LeNNTxNRX_discord-logo-white.svg?auto=compress,format\",\"iconAlt\":\"Discord\"},{\"url\":\"https://www.instagram.com/launchdarkly/\",\"iconUrl\":\"https://launchdarkly-marketingsite.cdn.prismic.io/launchdarkly-marketingsite/8b8446e4-02c7-468e-bb32-79d0432dd1d0_instagram-icon-small.svg\",\"iconAlt\":\"Instagram\"}],\"useRefresShortFooter\":\"$undefined\",\"loadFooterNewsletter\":true,\"shortFooter\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"69:[\"$\",\"p\",\"14\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$13\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The pattern continues for a few days. Server working, then after about ten hours it falls over and won’t run for another two hours. They checked the cooling, they checked for memory leaks, they checked everything but came up with nowt. Then it all stopped.\"]]}]]}]]}]\n6a:[\"$\",\"p\",\"16\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$15\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Then, a week without problems. Everybody was happy… until it started again. The same pattern: 10 hours on, 2-3 hours off.\"]]}]]}]]}]\n6b:[\"$\",\"p\",\"18\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$17\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"And then somebody (I seem to remember he said that the person had nothing to do with IT) said:\"]]}]]}]]}]\n6c:[\"$\",\"p\",\"20\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$19\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"“It’s high tide!”\"]]}]]}]]}]\n6d:[\"$\",\"p\",\"22\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$21\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Which was met with blank looks and probably a wavering hand over the intercom to Security.\"]]}]]}]]}]\n6e:[\"$\",\"p\",\"24\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$23\","])</script><script>self.__next_f.push([1,"{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"“It stops working at high tide.”\"]]}]]}]]}]\n6f:[\"$\",\"p\",\"26\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$25\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"This, it would seem, is a fairly alien concept to IT support staff, who are not likely to be found studying the tide almanac during the coffee breaks. So they explained that it couldn’t be anything to do with the tide, because it was working for a week.\"]]}]]}]]}]\n70:[\"$\",\"p\",\"28\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$27\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"“Last week was Neaps, this week it’s Springs.”\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"71:[\"$\",\"p\",\"30\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$29\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Here’s a bit of jargon busting for those of you who don’t have any RYA qualifications. The tides run on a lunar cycle, and you get high tide every 12.5 hours as the Earth turns. But as the moon’s orbit changes, so does the difference in high and low tide. When the moon is between us and the sun or on the opposite side of the planet, we get “Springs”. These are the highest highs, and the lowest lows. When there’s a half moon, we get “Neaps”. The difference between high and low is greatly reduced. The lunar cycle is 28 days, so Springs – Neaps – Springs – Neaps.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"72:[\"$\",\"p\",\"32\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$31\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Sure enough, they were right. Two weeks previously, a Navy destroyer or something had moored up nearby. Every time the tide got to a certain height, the crow’s nest was in direct line with the floor that the servers were sitting on. It seems that the radar (or radar jamming, or whatever the military have on their toy dinghies) was playing havoc with the computers.\"]]}]]}]]}]\n74:[\"$\",\"p\",\"39\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$38\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"In this case, the desktop app didn’t check what it was getting. It just downloaded the 404 page, saved it as a program updater.exe and ran it. Or rather, it used a system call to tell Windows to run it.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"75:[\"$\",\"p\",\"41\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$40\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Windows looked at updater.exe and immediately saw that it wasn’t in the standard format for .exe files. But instead of just quitting with an error, this system call decided to try harder. Windows is known for its dedication to legacy support: you can still run programs from back in the MS-DOS days, ones that had the suffix .COM. Unfortunately, this system call didn’t check what it was getting, and ran updater.exe as if it was a .COM program.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"76:[\"$\",\"p\",\"43\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$42\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Binary data is binary data, and can be interpreted in infinite ways. It seems that – for entirely accidental reasons – when the Second Life website’s 404 page is interpreted as a .COM file, it can be read as a set of instructions to open the computer’s LPT device and yell gibberish into it. Which is what it did.\"]]}]]}]]}]\n77:[\"$\",\"p\",\"45\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$44\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Those of you old enough to have used MS-DOS may remember that LPT is the route to the printer. Windows, once again, went the extra mile to help legacy DOS software work. It received the gibberish spewed by the 404-page-run-as-a-program, didn’t check what it was getting (you may be sensing a theme here), and helpfully sent it along to whatever printer it knew about.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"78:[\"$\",\"p\",\"59\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$46\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Fortunately, plenty of printers \"]]}]]}],[\"$\",\"em\",\".$48\",{\"children\":[[\"$\",\"$1\",\".$.$47\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"do\"]]}]]}]]}],[\"$\",\"$1\",\".$49\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" check what they’re getting! Unfortunately, that still leaves plenty that don’t, especially if they’re cheap inkjet printers from the 90s. And those printers went \"]]}]]}],[\"$\",\"em\",\".$51\",{\"children\":[[\"$\",\"$1\",\".$.$50\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"wild\"]]}]]}]]}],[\"$\",\"$1\",\".$52\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\". In Mark’s own words: “\"]]}]]}],[\"$\",\"em\",\".$57\",{\"children\":[[\"$\",\"$1\",\".$.$53\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"… they would freak out, spew paper, and in one case, \"]]}]]}],[\"$\",\"strong\",\".$.$55\",{\"children\":[[\"$\",\"$1\",\".$.$.$54\",{\"children\":[[\"$\",\"$1\",\".$.$.$.$0__line\",{\"children\":[[\"physically break\"]]}]]}]]}],[\"$\",\"$1\",\".$.$56\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\".\"]]}]]}]]}],[\"$\",\"$1\",\".$58\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"”\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"7a:[\"$\",\"em\",\".$65\",{\"children\":[[\"$\",\"$1\",\".$.$64\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"also\"]]}]]}]]}]\n7b:[\"$\",\"$1\",\".$66\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" included the aforementioned, not-so-harmless CSS file. So errors begat errors begat errors, resulting in a hard loop on every Apache process on every box.\"]]}]]}]\n7c:[\"$\",\"p\",\"69\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$68\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The looping Apache processes locked up the servers so hard that they couldn’t be restarted remotely. Some poor Etsy employee had to go to the datacenter and reboot the servers manually.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"7e:[\"$\",\"$1\",\".$75\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The developer was worried about real charges being incurred while the credit card payments were being tested. So their code checked if the environment was set to dev in which case, regardless of the amount calculated at checkout, no actual transactions would be sent to the credit card processor. When the project was shipped, that environment flag was never changed to prod, so even though everything looked good on the customer end for adding items to their cart, checking out and receiving the invoice for the correct amount, the credit card was never charged for the said amount. Instead, it consistently charged the customer a whole amount of ZERO dollars.\"]]}]]}]\n"])</script><script>self.__next_f.push([1,"7f:[\"$\",\"p\",\"78\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$77\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"By the time this was discovered, they estimated it was something like 2 million dollars of goods that were shipped and sold, with no payments collected.\"]]}]]}]]}]\n81:[\"$\",\"p\",\"85\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$84\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Finally, I had an epiphany! Eureka! With some more in-depth research, I realized the problem. The outages were aligned with reported solar flares in the region. The flares were knocking out satellite connectivity taking our systems offline. When the flare passed the systems came back on-line.\"]]}]]}]]}]\n83:[\"$\",\"$1\",\".$93\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"9am PST is a magical time: West Coast workers sign on, East Coasters leave for lunch, Europeans leave work for the day, and finally, it’s bedtime in India. For an instant messaging platform, this is the time when the most people change state around the world.\"]]}]]}]\n"])</script><script>self.__next_f.push([1,"84:[\"$\",\"p\",\"99\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$95\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"So the question remained: \"]]}]]}],[\"$\",\"em\",\".$97\",{\"children\":[[\"$\",\"$1\",\".$.$96\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"why Monday?\"]]}]]}]]}],[\"$\",\"$1\",\".$98\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" We got just as many packets other weekdays, but spread over a larger amount of time. Our theory was that people seemed a bit more likely to be on time for work on Mondays. So to help combat this traffic spike, we made our XMPP server fork presence packets to another server that just served a static bit of xml for the XMPP packet. Voila! We were online and available. Always.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"86:[\"$\",\"em\",\".$108\",{\"children\":[[\"$\",\"$1\",\".$.$107\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"in front\"]]}]]}]]}]\n87:[\"$\",\"$1\",\".$109\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" of the character; this is important in stealth-based games so that players can, for example, sneak quietly behind a guard. For \"]]}]]}]\n88:[\"$\",\"em\",\".$111\",{\"children\":[[\"$\",\"$1\",\".$.$110\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Skyrim\"]]}]]}]]}]\n89:[\"$\",\"$1\",\".$112\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\", Bethesda took this even further: characters react to events which they can see \"]]}]]}]\n8a:[\"$\",\"em\",\".$114\",{\"children\":[[\"$\",\"$1\",\".$.$113\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"with their eyes\"]]}]]}]]}]\n8b:[\"$\",\"$1\",\".$115\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\". It means that characters can turn their heads to notice more events.\"]]}]]}]\n8c:[\"$\",\"p\",\"121\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$117\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Unfortunately, the \"]]}]]}],[\"$\",\"em\",\".$119\",{\"children\":[[\"$\",\"$1\",\".$.$118\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Skyrim\"]]}]]}]]}],[\"$\",\"$1\",\".$120\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" developers didn’t implement the ability for characters to realise when their head is covered with a bucket, put there by a player who knows it’s the easiest way to steal things from shopkeepers:\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"90:[\"$\",\"p\",\"136\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$132\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The “find it” part of the previous sentence is key to this story. For the horse to get to the food, they couldn’t just move in a straight line as there might be obstacles in the way. They had algorithms for finding a route around those obstacles and propelling themselves to the food. In video game terminology, this kind of algorithm is known as \"]]}]]}],[\"$\",\"em\",\".$134\",{\"children\":[[\"$\",\"$1\",\".$.$133\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"pathfinding\"]]}]]}]]}],[\"$\",\"$1\",\".$135\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\". The SL developer platform now has built-in pathfinding functions which any developer can use, but they were added after this story took place. Back then, the horses used custom pathfinding code written by the horse creator. And, like most code written in SL’s haphazardly-designed scripting language, it wasn’t very good.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"91:[\"$\",\"p\",\"138\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$137\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"As mentioned earlier, almost all the content in Second Life is created by its users. This includes tens of thousands, maybe hundreds of thousands of unique scripts, embedded in hundreds of millions of virtual objects. These scripts are executed by the underlying platform code, maintained by Linden Lab, and updated constantly. When there are new releases of the SL platform, it isn’t fully tested with all the scripts that content creators write. There are far, far too many to do that.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"92:[\"$\",\"p\",\"140\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$139\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"One release had a tiny tweak to the physics engine, related to friction of objects moving on the ground. You may guess what’s coming next.\"]]}]]}]]}]\n93:[\"$\",\"p\",\"142\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$141\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"The horse pathfinding logic was using the old friction rules. As soon as the SL region code updated, horses started skating past their food. In some cases, horses living on high-altitude platforms started falling off them. (I imagine them whinnying as they pirouetted into space.)\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"94:[\"$\",\"p\",\"147\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$143\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"This all seems really comical until you realise how many people owned these horses, and how much they’d spent on them. Within a couple of hours of the code going live, staff realised that user possessions worth tens of thousands of US dollars were being destroyed by a bug. (Yes, US dollars. Not Linden dollars. Just in virtual horses. You have no idea how much the SL economy is \"]]}]]}],[\"$\",\"em\",\".$145\",{\"children\":[[\"$\",\"$1\",\".$.$144\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"still\"]]}]]}]]}],[\"$\",\"$1\",\".$146\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" worth.)\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"95:[\"$\",\"p\",\"149\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$148\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Once the size of the problem was realised, the SL platform release was rolled back. But that still took several hours over the thousands of servers. (No feature flags, see.) So, during the rollback, several dedicated QA engineers stayed up much of the night, saving virtual horses from starving to death.\"]]}]]}]]}]\n97:[\"$\",\"em\",\".$158\",{\"children\":[[\"$\",\"$1\",\".$.$157\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"over ten times as big\"]]}]]}]]}]\n98:[\"$\",\"$1\",\".$159\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\".\"]]}]]}]\n99:[\"$\",\"p\",\"162\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$161\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"However, those who remember the period know what came next: the dot-com bubble burst, and the Knight Capital rollercoaster ride went screaming downwards. On top of the losses, Knight was caught breaking many stock market regulations and doing naughty things like intercepting customer trades so that the firm could profit off them first.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"9a:[\"$\",\"p\",\"167\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$163\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"As Knight floundered, the founders who oversaw these problems were replaced. Thomas Joyce, an experienced industry leader, took over as CEO and returned the firm to financial success. By 2011 they had a net income of $115 million and over 100 software developers working on Knight’s future: an overhauled, optimised version of its trading systems. The new technology was known as Smart Market Access Routing System (SMARS). When launched, it accelerated Knight Capital’s transactions to thousands of trades \"]]}]]}],[\"$\",\"em\",\".$165\",{\"children\":[[\"$\",\"$1\",\".$.$164\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"per second\"]]}]]}]]}],[\"$\",\"$1\",\".$166\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\".\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"9b:[\"$\",\"p\",\"169\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$168\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"In 2012, the New York Stock Exchange (NYSE) announced the Retail Liquidity Program (RLP), a new private market for stock trading. The RLP was highly controversial because it would allow big market players to trade for fractions of pennies above or below the displayed prices. For big players, those fractions of pennies would rapidly add up to millions of dollars in profits.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"9c:[\"$\",\"p\",\"174\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$170\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Knight Capital, being a \"]]}]]}],[\"$\",\"em\",\".$172\",{\"children\":[[\"$\",\"$1\",\".$.$171\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"huge\"]]}]]}]]}],[\"$\",\"$1\",\".$173\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" player, had to be in the RLP. But first, they had to tweak SMARS to work with the new market. Thanks to the controversy around it, the SEC had taken a while to approve the RLP. When the approval was announced in June 2012, the NYSE followed up with a rapidly approaching launch date: August 1st, 2012. The trading firms had just over a month to prepare.\"]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"9d:[\"$\",\"p\",\"176\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$175\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"Knight’s engineers scrambled to make SMARS ready for the RLP. It needed a set of new code to handle the RLP’s rules, which were different from the rest of the NYSE markets. For SMARS to know whether to use the standard NYSE rules or the new RLP rules, they repurposed an existing feature flag that was previously used for some old testing routines. If this flag was enabled, SMARS would know that it was trading on the RLP.\"]]}]]}]]}]\n9f:[\"$\",\"em\",\".$186\",{\"children\":[[\"$\",\"$1\",\".$.$185\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"low\"]]}]]}]]}]\na0:[\"$\",\"$1\",\".$187\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\", which is exactly the opposite of what a sensible player would do. They created this exact algorithm and called it \"]]}]]}]\na1:[\"$\",\"strong\",\".$189\",{\"children\":[[\"$\",\"$1\",\".$.$.$188\",{\"children\":[[\"$\",\"$1\",\".$.$.$.$0__line\",{\"children\":[[\"Power Peg\"]]}]]}]]}]\na2:[\"$\",\"$1\",\".$190\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\".\"]]}]]}]\na7:[\"$\",\"strong\",\".$212\",{\"children\":[[\"$\",\"$1\",\".$.$.$211\",{\"children\":[[\"$\",\"$1\",\".$.$.$.$0__line\",{\"children\":[[\"Unfortunately, this engineer missed one of the servers, and it still contained the old code.\"]]}]]}]]}]\na8:[\"$\",\"$1\",\".$213\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\" Knight’s infrastructure team had no standard process for verifying that code deployments were correct, so nobody noticed.\"]]}]]}]\nab:[\"$\",\"p\",\"226\",{\"className\":\"styles-module__5zGs1G__text styles-module__5zGs1G__variant_body styles-module__5zGs1G__size_md styles-module__5zGs1G__spacing_md\",\"children\":[[\"$\",\"$1\",\".$225\",{\"children\":[[\"$\",\"$1\",\".$.$0__line\",{\"children\":[[\"By 9:45am, Knight’s engineers had looked at the problem, conferred, and leaped into action.\"]]}]]}]]}]\naf:[\"$\",\"$1\",\".$244\",{\"children\":[[\"$\",\"$1\",\".$.$0"])</script><script>self.__next_f.push([1,"__line\",{\"children\":[[\"In the end, Knight Capital made a loss of about $440 million on Power Peg’s trades. The company immediately lost most of its biggest clients, its reputation destroyed. Knight was acquired a few months later by a rival trader for less than a third of its previous share price.\"]]}]]}]\n"])</script><script>self.__next_f.push([1,"b5:I[91711,[\"7503\",\"static/chunks/7503-b90474bdcb57e2a8.js\",\"7724\",\"static/chunks/7724-f653158a9ba1984f.js\",\"2151\",\"static/chunks/2151-1b788faaa737d8a8.js\",\"8149\",\"static/chunks/8149-7f3e93382769fd21.js\",\"4544\",\"static/chunks/4544-0392fd1bc10fce67.js\",\"8072\",\"static/chunks/8072-5f4bd0e6a2406823.js\",\"7950\",\"static/chunks/7950-199b90cf99360b48.js\",\"6486\",\"static/chunks/6486-65f1afba5f178bdd.js\",\"4089\",\"static/chunks/4089-4672fdbd787dddc6.js\",\"5265\",\"static/chunks/5265-7f81f179d2fa0221.js\",\"685\",\"static/chunks/685-dc88876e3a3ca418.js\",\"8941\",\"static/chunks/8941-6bf805c661ac7247.js\",\"739\",\"static/chunks/739-f05d34af20af1cd5.js\",\"4661\",\"static/chunks/4661-d6f876059d7e275f.js\",\"7550\",\"static/chunks/7550-010a17a69ff132e0.js\",\"9244\",\"static/chunks/9244-3b918f1b79c82aa2.js\",\"8687\",\"static/chunks/8687-88b6a1a725cd10c9.js\",\"8634\",\"static/chunks/8634-33081268eea6ca62.js\",\"4932\",\"static/chunks/app/blog/%5Buid%5D/page-1dbdf0f3b7bbcc12.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"31:[\"$\",\"$Lb5\",null,{\"mainBreadcrumb\":\"Blog\",\"mainBreadcrumbLink\":\"/blog\",\"subBreadcrumb\":\"General\",\"subBreadcrumbLink\":\"/blog/category/general\",\"title\":\"10 Days of Errors \",\"popularSearchTerms\":[{\"term\":[{\"type\":\"paragraph\",\"text\":\"Feature flags\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"Progressive delivery\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"feature management\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"Git branching strategies vs. trunk-based development\",\"spans\":[]}]},{\"term\":[{\"type\":\"paragraph\",\"text\":\"experimentation and A/B testing\",\"spans\":[]}]}]}]\n"])</script></body></html>