1013 lines
104 KiB
HTML
1013 lines
104 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="profile" href="http://gmpg.org/xfn/11">
|
|
|
|
<title>Labeling a root cause is predicting the future, poorly – Surfing Complexity</title>
|
|
<meta name='robots' content='max-image-preview:large' />
|
|
|
|
<!-- Async WordPress.com Remote Login -->
|
|
<script id="wpcom_remote_login_js">
|
|
var wpcom_remote_login_extra_auth = '';
|
|
function wpcom_remote_login_remove_dom_node_id( element_id ) {
|
|
var dom_node = document.getElementById( element_id );
|
|
if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); }
|
|
}
|
|
function wpcom_remote_login_remove_dom_node_classes( class_name ) {
|
|
var dom_nodes = document.querySelectorAll( '.' + class_name );
|
|
for ( var i = 0; i < dom_nodes.length; i++ ) {
|
|
dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] );
|
|
}
|
|
}
|
|
function wpcom_remote_login_final_cleanup() {
|
|
wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" );
|
|
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
|
|
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" );
|
|
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" );
|
|
wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" );
|
|
wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" );
|
|
}
|
|
|
|
// Watch for messages back from the remote login
|
|
window.addEventListener( "message", function( e ) {
|
|
if ( e.origin === "https://r-login.wordpress.com" ) {
|
|
var data = {};
|
|
try {
|
|
data = JSON.parse( e.data );
|
|
} catch( e ) {
|
|
wpcom_remote_login_final_cleanup();
|
|
return;
|
|
}
|
|
|
|
if ( data.msg === 'LOGIN' ) {
|
|
// Clean up the login check iframe
|
|
wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
|
|
|
|
var id_regex = new RegExp( /^[0-9]+$/ );
|
|
var token_regex = new RegExp( /^.*|.*|.*$/ );
|
|
if (
|
|
token_regex.test( data.token )
|
|
&& id_regex.test( data.wpcomid )
|
|
) {
|
|
// We have everything we need to ask for a login
|
|
var script = document.createElement( "script" );
|
|
script.setAttribute( "id", "wpcom_remote_login_validate" );
|
|
script.src = '/remote-login.php?wpcom_remote_login=validate'
|
|
+ '&wpcomid=' + data.wpcomid
|
|
+ '&token=' + encodeURIComponent( data.token )
|
|
+ '&host=' + window.location.protocol
|
|
+ '//' + window.location.hostname
|
|
+ '&postid=6216'
|
|
+ '&is_singular=1';
|
|
document.body.appendChild( script );
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
// Safari ITP, not logged in, so redirect
|
|
if ( data.msg === 'LOGIN-REDIRECT' ) {
|
|
window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href;
|
|
return;
|
|
}
|
|
|
|
// Safari ITP, storage access failed, remove the request
|
|
if ( data.msg === 'LOGIN-REMOVE' ) {
|
|
var css_zap = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } @media screen and ( max-width: 782px ) { html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } }';
|
|
var style_zap = document.createElement( 'style' );
|
|
style_zap.type = 'text/css';
|
|
style_zap.appendChild( document.createTextNode( css_zap ) );
|
|
document.body.appendChild( style_zap );
|
|
|
|
var e = document.getElementById( 'wpcom_request_access_iframe' );
|
|
e.parentNode.removeChild( e );
|
|
|
|
document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000';
|
|
|
|
return;
|
|
}
|
|
|
|
// Safari ITP
|
|
if ( data.msg === 'REQUEST_ACCESS' ) {
|
|
console.log( 'request access: safari' );
|
|
|
|
// Check ITP iframe enable/disable knob
|
|
if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) {
|
|
return;
|
|
}
|
|
|
|
// If we are in a "private window" there is no ITP.
|
|
var private_window = false;
|
|
try {
|
|
var opendb = window.openDatabase( null, null, null, null );
|
|
} catch( e ) {
|
|
private_window = true;
|
|
}
|
|
|
|
if ( private_window ) {
|
|
console.log( 'private window' );
|
|
return;
|
|
}
|
|
|
|
var iframe = document.createElement( 'iframe' );
|
|
iframe.id = 'wpcom_request_access_iframe';
|
|
iframe.setAttribute( 'scrolling', 'no' );
|
|
iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' );
|
|
iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid );
|
|
|
|
var css = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 46px !important; } * html body { margin-top: 46px !important; } @media screen and ( max-width: 660px ) { html { margin-top: 71px !important; } * html body { margin-top: 71px !important; } #wpcom_request_access_iframe { display: block; height: 71px !important; } } #wpcom_request_access_iframe { border: 0px; height: 46px; position: fixed; top: 0; left: 0; width: 100%; min-width: 100%; z-index: 99999; background: #23282d; } ';
|
|
|
|
var style = document.createElement( 'style' );
|
|
style.type = 'text/css';
|
|
style.id = 'wpcom_request_access_styles';
|
|
style.appendChild( document.createTextNode( css ) );
|
|
document.body.appendChild( style );
|
|
|
|
document.body.appendChild( iframe );
|
|
}
|
|
|
|
if ( data.msg === 'DONE' ) {
|
|
wpcom_remote_login_final_cleanup();
|
|
}
|
|
}
|
|
}, false );
|
|
|
|
// Inject the remote login iframe after the page has had a chance to load
|
|
// more critical resources
|
|
window.addEventListener( "DOMContentLoaded", function( e ) {
|
|
var iframe = document.createElement( "iframe" );
|
|
iframe.style.display = "none";
|
|
iframe.setAttribute( "scrolling", "no" );
|
|
iframe.setAttribute( "id", "wpcom_remote_login_key" );
|
|
iframe.src = "https://r-login.wordpress.com/remote-login.php"
|
|
+ "?wpcom_remote_login=key"
|
|
+ "&origin=aHR0cHM6Ly9zdXJmaW5nY29tcGxleGl0eS5ibG9n"
|
|
+ "&wpcomid=30291541"
|
|
+ "&time=" + Math.floor( Date.now() / 1000 );
|
|
document.body.appendChild( iframe );
|
|
}, false );
|
|
</script>
|
|
<link rel='dns-prefetch' href='//s2.wp.com' />
|
|
<link rel='dns-prefetch' href='//widgets.wp.com' />
|
|
<link rel='dns-prefetch' href='//s1.wp.com' />
|
|
<link rel='dns-prefetch' href='//s0.wp.com' />
|
|
<link rel="alternate" type="application/rss+xml" title="Surfing Complexity » Feed" href="https://surfingcomplexity.blog/feed/" />
|
|
<link rel="alternate" type="application/rss+xml" title="Surfing Complexity » Comments Feed" href="https://surfingcomplexity.blog/comments/feed/" />
|
|
<link rel="alternate" type="application/rss+xml" title="Surfing Complexity » Labeling a root cause is predicting the future, poorly Comments Feed" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/feed/" />
|
|
<script type="text/javascript">
|
|
/* <![CDATA[ */
|
|
function addLoadEvent(func) {
|
|
var oldonload = window.onload;
|
|
if (typeof window.onload != 'function') {
|
|
window.onload = func;
|
|
} else {
|
|
window.onload = function () {
|
|
oldonload();
|
|
func();
|
|
}
|
|
}
|
|
}
|
|
/* ]]> */
|
|
</script>
|
|
<style id="wp-img-auto-sizes-contain-inline-css">
|
|
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
|
|
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
|
|
</style>
|
|
<link crossorigin='anonymous' rel='stylesheet' id='all-css-2-1' href='/_static/??-eJxtjEsKgDAMBS9kjbqwuBDPUtog9o9J8fpaEQSRBw8GhoEjC50iY2QIRWRf1i0SWOSstHsYQkr1TPFIsKNXjEbkRPyhVhM18J/0m8M3fFPVlzD3UnbTtWG0J2CTNNk=&cssminify=yes' type='text/css' media='all' />
|
|
<style id="wp-emoji-styles-inline-css">
|
|
|
|
img.wp-smiley, img.emoji {
|
|
display: inline !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
height: 1em !important;
|
|
width: 1em !important;
|
|
margin: 0 0.07em !important;
|
|
vertical-align: -0.1em !important;
|
|
background: none !important;
|
|
padding: 0 !important;
|
|
}
|
|
/*# sourceURL=wp-emoji-styles-inline-css */
|
|
</style>
|
|
<style id="wp-block-library-inline-css">
|
|
:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
|
|
|
|
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/common.min.css */
|
|
</style>
|
|
<style id="wp-block-latest-posts-inline-css">
|
|
.wp-block-latest-posts{box-sizing:border-box}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none}.wp-block-latest-posts.wp-block-latest-posts__list li{clear:both;overflow-wrap:break-word}.wp-block-latest-posts.is-grid:not(.is-layout-grid){display:flex;flex-wrap:wrap}.wp-block-latest-posts.is-grid:not(.is-layout-grid) li{margin:0 1.25em 1.25em 0;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2:not(.is-layout-grid) li{width:calc(50% - .625em)}.wp-block-latest-posts.columns-2:not(.is-layout-grid) li:nth-child(2n){margin-right:0}.wp-block-latest-posts.columns-3:not(.is-layout-grid) li{width:calc(33.33333% - .83333em)}.wp-block-latest-posts.columns-3:not(.is-layout-grid) li:nth-child(3n){margin-right:0}.wp-block-latest-posts.columns-4:not(.is-layout-grid) li{width:calc(25% - .9375em)}.wp-block-latest-posts.columns-4:not(.is-layout-grid) li:nth-child(4n){margin-right:0}.wp-block-latest-posts.columns-5:not(.is-layout-grid) li{width:calc(20% - 1em)}.wp-block-latest-posts.columns-5:not(.is-layout-grid) li:nth-child(5n){margin-right:0}.wp-block-latest-posts.columns-6:not(.is-layout-grid) li{width:calc(16.66667% - 1.04167em)}.wp-block-latest-posts.columns-6:not(.is-layout-grid) li:nth-child(6n){margin-right:0}}@media (max-width:600px){.wp-block-latest-posts-is-layout-grid[class*=columns-]:not(.has-native-responsive-grid){grid-template-columns:1fr}}:root :where(.wp-block-latest-posts.is-grid){padding:0}:root :where(.wp-block-latest-posts.wp-block-latest-posts__list){padding-left:0}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;font-size:.8125em}.wp-block-latest-posts__post-excerpt,.wp-block-latest-posts__post-full-content{margin-bottom:1em;margin-top:.5em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;max-width:100%;width:auto}.wp-block-latest-posts__featured-image.alignleft{float:left;margin-right:1em}.wp-block-latest-posts__featured-image.alignright{float:right;margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}
|
|
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/latest-posts/style.min.css */
|
|
</style>
|
|
<style id="wp-block-list-inline-css">
|
|
ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}
|
|
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/list/style.min.css */
|
|
</style>
|
|
<style id="wp-block-paragraph-inline-css">
|
|
.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
|
|
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/paragraph/style.min.css */
|
|
</style>
|
|
<style id="wp-block-search-inline-css">
|
|
.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;height:1.25em;min-height:24px;min-width:24px;vertical-align:text-bottom;width:1.25em}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}:where(.wp-block-search__label){width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){-webkit-appearance:initial;-moz-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}
|
|
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/search/style.min.css */
|
|
</style>
|
|
<style id="wp-block-search-theme-inline-css">
|
|
:where(.wp-block-search .wp-block-search__label){font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}
|
|
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/search/theme.min.css */
|
|
</style>
|
|
<style id="wp-block-library-inline-css-extra">
|
|
.has-text-align-justify {
|
|
text-align:justify;
|
|
}
|
|
.has-text-align-justify{text-align:justify;}
|
|
/*# sourceURL=wp-block-library-inline-css */
|
|
</style>
|
|
|
|
<style id="classic-theme-styles-inline-css">
|
|
.wp-block-button__link{background-color:#32373c;border-radius:9999px;box-shadow:none;color:#fff;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-file__button{background:#32373c;color:#fff}.wp-block-accordion-heading{margin:0}.wp-block-accordion-heading__toggle{background-color:inherit!important;color:inherit!important}.wp-block-accordion-heading__toggle:not(:focus-visible){outline:none}.wp-block-accordion-heading__toggle:focus,.wp-block-accordion-heading__toggle:hover{background-color:inherit!important;border:none;box-shadow:none;color:inherit;padding:var(--wp--preset--spacing--20,1em) 0;text-decoration:none}.wp-block-accordion-heading__toggle:focus-visible{outline:auto;outline-offset:0}.wp-block-tab:not(.has-text-color){color:inherit!important}.wp-block-tab:not(.has-background){background-color:inherit!important}.wp-block-tab:focus,.wp-block-tab:hover{text-decoration:none}.wp-block-tab:focus-visible{outline:auto;outline-offset:0}
|
|
/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.9.1/build/styles/block-library/classic.min.css */
|
|
</style>
|
|
|
|
<style id="coblocks-inline-format-inline-css">
|
|
.uppercase{text-transform:uppercase}
|
|
/*# sourceURL=coblocks-inline-format-inline-css */
|
|
</style>
|
|
<link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='/_static/??-eJx9jEEOAiEQBD/kQECjeDC+ZWEnijIwYWA3/l72op689KFTVXplCCU3zE1z6reYRYfiUwlP0VYZpwxIJE4IFRd10HOU9iFA2iuhCiI7/ROiDt9WxfETT20jCOc4YUIa2D9t5eGA91xRBMZS7ATtPkTZvCtdzNEZt7f2fHq8Afl7R7w=&cssminify=yes' type='text/css' media='all' />
|
|
<style id="global-styles-inline-css">
|
|
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--medium-blue: #0087be;--wp--preset--color--bright-blue: #00aadc;--wp--preset--color--dark-gray: #4d4d4b;--wp--preset--color--light-gray: #b3b3b1;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-medium-blue-color{color: var(--wp--preset--color--medium-blue) !important;}.has-bright-blue-color{color: var(--wp--preset--color--bright-blue) !important;}.has-dark-gray-color{color: var(--wp--preset--color--dark-gray) !important;}.has-light-gray-color{color: var(--wp--preset--color--light-gray) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-medium-blue-background-color{background-color: var(--wp--preset--color--medium-blue) !important;}.has-bright-blue-background-color{background-color: var(--wp--preset--color--bright-blue) !important;}.has-dark-gray-background-color{background-color: var(--wp--preset--color--dark-gray) !important;}.has-light-gray-background-color{background-color: var(--wp--preset--color--light-gray) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-medium-blue-border-color{border-color: var(--wp--preset--color--medium-blue) !important;}.has-bright-blue-border-color{border-color: var(--wp--preset--color--bright-blue) !important;}.has-dark-gray-border-color{border-color: var(--wp--preset--color--dark-gray) !important;}.has-light-gray-border-color{border-color: var(--wp--preset--color--light-gray) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;}
|
|
:where(.wp-block-latest-posts.is-layout-flex){gap: 1.25em;}:where(.wp-block-latest-posts.is-layout-grid){gap: 1.25em;}
|
|
/*# sourceURL=global-styles-inline-css */
|
|
</style>
|
|
|
|
<link crossorigin='anonymous' rel='stylesheet' id='all-css-14-1' href='/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/verbum-comments/verbum-comments.css?m=1785895867i&cssminify=yes' type='text/css' media='all' />
|
|
<link rel='stylesheet' id='verbum-gutenberg-css-css' href='https://widgets.wp.com/verbum-block-editor/block-editor.css?ver=1771405207' media='all' />
|
|
<link crossorigin='anonymous' rel='stylesheet' id='all-css-16-1' href='/_static/??-eJydkNEKwjAMRX/IGh0D7YP4KbLV2GVr09J2DP/ebAgOFB/2Eu59OPcmgSkqE7ggF/Cjim60xBl6LLExw9uDD4HhRmzAImMiIfJvuTc572AVWjr0mCGOLRDfMaIMLkq8o9xhUhXk8nS4BRQEWhfMsKl2PmepVlM0wX9FrN6RUGqsSLt0fuw/yGJQslxTSJ63NurhGkozevWX4+lcaX3Qte5fvXGUcQ==&cssminify=yes' type='text/css' media='all' />
|
|
<link crossorigin='anonymous' rel='stylesheet' id='print-css-17-1' href='/wp-content/mu-plugins/global-print/global-print.css?m=1465851035i&cssminify=yes' type='text/css' media='print' />
|
|
<style id="jetpack-global-styles-frontend-style-inline-css">
|
|
:root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;}
|
|
/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */
|
|
</style>
|
|
<link crossorigin='anonymous' rel='stylesheet' id='all-css-20-1' href='/_static/??-eJyNjcEKAjEMRH/ImhVlqwfxU6TbhrZrmhTTIv69u+JFvHgZ5sHwBh7VeOGG3KB0U6nHzAoztur87cNQRNYInVBBk7tjcCE83zVz3HrVDfxvumb2MPVMAVR8dmRIougX/DhbwrK8pwNEksnROriU884e9+PJDnaYXxwFS20=&cssminify=yes' type='text/css' media='all' />
|
|
<script id="jetpack_related-posts-js-extra">
|
|
var related_posts_js_options = {"post_heading":"h4"};
|
|
//# sourceURL=jetpack_related-posts-js-extra
|
|
</script>
|
|
<script id="wpcom-actionbar-placeholder-js-extra">
|
|
var actionbardata = {"siteID":"30291541","postID":"6216","siteURL":"https://surfingcomplexity.blog","xhrURL":"https://surfingcomplexity.blog/wp-admin/admin-ajax.php","nonce":"e8f3aebd24","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https://s0.wp.com/wp-content/js/wpcom-proxy-request.js?m=1513050504i&ver=20211021","shortlink":"https://wp.me/p236df-1Cg","i18n":{"followedText":"New posts from this site will now appear in your \u003Ca href=\"https://wordpress.com/reader\"\u003EReader\u003C/a\u003E","foldBar":"Collapse this bar","unfoldBar":"Expand this bar","shortLinkCopied":"Shortlink copied to clipboard."}};
|
|
//# sourceURL=wpcom-actionbar-placeholder-js-extra
|
|
</script>
|
|
<script id="jetpack-mu-wpcom-settings-js-before">
|
|
var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https://s1.wp.com/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/"};
|
|
//# sourceURL=jetpack-mu-wpcom-settings-js-before
|
|
</script>
|
|
<script crossorigin='anonymous' type='text/javascript' src='/_static/??/wp-content/mu-plugins/jetpack-plugin/moon/_inc/build/related-posts/related-posts.min.js,/wp-content/js/rlt-proxy.js?m=1788798821j'></script>
|
|
<script id="rlt-proxy-js-after">
|
|
rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} );
|
|
//# sourceURL=rlt-proxy-js-after
|
|
</script>
|
|
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://lorinhochstein.wordpress.com/xmlrpc.php?rsd" />
|
|
<meta name="generator" content="WordPress.com" />
|
|
<link rel="canonical" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/" />
|
|
<link rel='shortlink' href='https://wp.me/p236df-1Cg' />
|
|
<link rel="alternate" type="application/json+oembed" href="https://public-api.wordpress.com/oembed/?format=json&url=https%3A%2F%2Fsurfingcomplexity.blog%2F2025%2F05%2F15%2Flabeling-a-root-cause-is-predicting-the-future-poorly%2F&for=wpcom-auto-discovery" /><link rel="alternate" type="application/xml+oembed" href="https://public-api.wordpress.com/oembed/?format=xml&url=https%3A%2F%2Fsurfingcomplexity.blog%2F2025%2F05%2F15%2Flabeling-a-root-cause-is-predicting-the-future-poorly%2F&for=wpcom-auto-discovery" />
|
|
<!-- Jetpack Open Graph Tags -->
|
|
<meta property="og:type" content="article" />
|
|
<meta property="og:title" content="Labeling a root cause is predicting the future, poorly" />
|
|
<meta property="og:url" content="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/" />
|
|
<meta property="og:description" content="Why do we retrospect on our incidents? Why spend the time doing those write-ups and holding review meetings? We don’t do this work as some sort of intellectual exercise for amusement. Rather,…" />
|
|
<meta property="article:published_time" content="2025-05-16T02:58:15+00:00" />
|
|
<meta property="article:modified_time" content="2025-05-16T02:58:15+00:00" />
|
|
<meta property="og:site_name" content="Surfing Complexity" />
|
|
<meta property="og:image" content="https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120" />
|
|
<meta property="og:image:width" content="200" />
|
|
<meta property="og:image:height" content="200" />
|
|
<meta property="og:image:alt" content="" />
|
|
<meta property="og:locale" content="en_US" />
|
|
<meta property="article:publisher" content="https://www.facebook.com/WordPresscom" />
|
|
<meta name="twitter:text:title" content="Labeling a root cause is predicting the future, poorly" />
|
|
<meta name="twitter:image" content="https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120" />
|
|
<meta name="twitter:card" content="summary" />
|
|
|
|
<!-- End Jetpack Open Graph Tags -->
|
|
<link rel='openid.server' href='https://surfingcomplexity.blog/?openidserver=1' />
|
|
<link rel='openid.delegate' href='https://surfingcomplexity.blog/' />
|
|
<link rel="search" type="application/opensearchdescription+xml" href="https://surfingcomplexity.blog/osd.xml" title="Surfing Complexity" />
|
|
<link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" />
|
|
<link rel="pingback" href="https://surfingcomplexity.blog/xmlrpc.php"> <style type="text/css">
|
|
.recentcomments a {
|
|
display: inline !important;
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
table.recentcommentsavatartop img.avatar, table.recentcommentsavatarend img.avatar {
|
|
border: 0px;
|
|
margin: 0;
|
|
}
|
|
|
|
table.recentcommentsavatartop a, table.recentcommentsavatarend a {
|
|
border: 0px !important;
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
td.recentcommentsavatarend, td.recentcommentsavatartop {
|
|
padding: 0px 0px 1px 0px;
|
|
margin: 0px;
|
|
}
|
|
|
|
td.recentcommentstextend {
|
|
border: none !important;
|
|
padding: 0px 0px 2px 10px;
|
|
}
|
|
|
|
.rtl td.recentcommentstextend {
|
|
padding: 0px 10px 2px 0px;
|
|
}
|
|
|
|
td.recentcommentstexttop {
|
|
border: none;
|
|
padding: 0px 0px 0px 10px;
|
|
}
|
|
|
|
.rtl td.recentcommentstexttop {
|
|
padding: 0px 10px 0px 0px;
|
|
}
|
|
</style>
|
|
<meta name="description" content="Why do we retrospect on our incidents? Why spend the time doing those write-ups and holding review meetings? We don't do this work as some sort of intellectual exercise for amusement. Rather, we believe that if we spend the time to understand how the incident happened, we can use that insight to improve the system…" />
|
|
<link rel="icon" href="https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=32" sizes="32x32" />
|
|
<link rel="icon" href="https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120" sizes="192x192" />
|
|
<link rel="apple-touch-icon" href="https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120" />
|
|
<meta name="msapplication-TileImage" content="https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120" />
|
|
</head>
|
|
|
|
<body class="wp-singular post-template-default single single-post postid-6216 single-format-standard wp-embed-responsive wp-theme-pubindependent-publisher-2 customizer-styles-applied has-sidebar jetpack-reblog-enabled">
|
|
|
|
<div id="page" class="hfeed site">
|
|
<a class="skip-link screen-reader-text" href="#content">Skip to content</a>
|
|
|
|
<div id="hero-header" class="site-hero-section">
|
|
<header id="masthead" class="site-header" role="banner">
|
|
<div class="inner">
|
|
<div class="site-branding">
|
|
|
|
<a class="site-logo-link" href="https://surfingcomplexity.blog/">
|
|
<img referrerpolicy="no-referrer" alt='Unknown's avatar' src='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=80&d=identicon&r=G' srcset='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=80&d=identicon&r=G 1x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=120&d=identicon&r=G 1.5x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=160&d=identicon&r=G 2x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=240&d=identicon&r=G 3x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=320&d=identicon&r=G 4x' class='avatar avatar-80 site-logo-image' height='80' width='80' loading='eager' decoding='async' /> </a><!-- .site-logo-link -->
|
|
<p class="site-title"><a href="https://surfingcomplexity.blog/" rel="home">Surfing Complexity</a></p>
|
|
<p class="site-description">Lorin Hochstein's ramblings about software, complex systems, and incidents.</p>
|
|
</div><!-- .site-branding -->
|
|
|
|
|
|
|
|
</div><!-- .inner -->
|
|
</header><!-- #masthead -->
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="content-wrapper" class="content-wrapper">
|
|
<div id="content" class="site-content">
|
|
|
|
<div id="primary" class="content-area">
|
|
<main id="main" class="site-main" role="main">
|
|
|
|
|
|
|
|
<article id="post-6216" class="post-6216 post type-post status-publish format-standard hentry category-incidents category-resilience category-systems">
|
|
<header class="entry-header">
|
|
<h1 class="entry-title">Labeling a root cause is predicting the future, poorly</h1> </header><!-- .entry-header --> <div class="entry-meta">
|
|
<span class="byline">
|
|
<a href="https://surfingcomplexity.blog/author/lorinh/" rel="author">Lorin Hochstein</a> </span>
|
|
<span class="cat-links">
|
|
<a href="https://surfingcomplexity.blog/category/systems/incidents/" rel="category tag">incidents</a>, <a href="https://surfingcomplexity.blog/category/resilience/" rel="category tag">resilience</a>, <a href="https://surfingcomplexity.blog/category/systems/" rel="category tag">systems</a> </span><!-- .cat-links -->
|
|
|
|
|
|
<span class="published-on">
|
|
<time class="entry-date published updated" datetime="2025-05-15T19:58:15-07:00">May 15, 2025</time> </span>
|
|
|
|
<span class="word-count">3 Minutes</span> </div><!-- .entry-meta -->
|
|
|
|
<div class="entry-content">
|
|
|
|
<p class="wp-block-paragraph">Why do we retrospect on our incidents? Why spend the time doing those write-ups and holding review meetings? We don’t do this work as some sort of intellectual exercise for amusement. Rather, we believe that if we spend the time to understand how the incident happened, we can use that insight to improve the system in general, and availability in particular. We improve availability by preventing incidents as well as reducing the impact of incidents that we are unable to prevent. This post-incident work should help us do both.</p>
|
|
|
|
|
|
|
|
<p class="wp-block-paragraph">The typical approach to post-incident work is to do a <em>root cause analysis</em> (RCA). The idea of an RCA is to go beyond the surface-level symptoms to identify and address the underlying problems revealed by the incident. After all, it’s only by getting at the root at the problem that we will be able to permanently address it. When doing an RCA, when we attach the label <em>root cause</em> to something, we’re making a specific claim. That claim is: <strong>we should focus our attention on the issues that we’ve labeled “root cause”, because spending our time addressing these root causes will yield the largest improvements to future availability</strong><em>.</em> Sure, it may be that there were a number of different factors <em>involved</em> in the incident, but we should focus on the <em>root cause</em> (or, sometimes, a small number of <em>root causes</em>), because those are the ones that really matter. Sure, the fact that Joe happened to be on PTO that day, and he’s normally the one that spots these sorts of these problems early, that’s interesting, but it isn’t the <em>real</em> root cause.</p>
|
|
|
|
|
|
|
|
<p class="wp-block-paragraph">Remember that an RCA, like all post-incident work, is supposed to be about improving future outcomes. As a consequence, a claim about root cause is really a prediction about future incidents. It says that of all of the contributing factors to an incident, we are able to predict which factor is most likely to lead to an incident in the future. That’s quite a claim to make!</p>
|
|
|
|
|
|
|
|
<p class="wp-block-paragraph">Here’s the thing, though. As our history of incidents teaches us over and over again, <em>we aren’t able to predict how future incidents will happen<strong>.</strong></em> Sure, we can always tell a compelling story of why an incident happened, through the benefit of hindsight. But that somehow never translates into predictive power: we’re never able to tell a story about the next incident the way we can about the last one. After all, if we were as good at prediction as we are at hindsight, we wouldn’t have had that incident in the first place! </p>
|
|
|
|
|
|
|
|
<p class="wp-block-paragraph">A good incident retrospective can reveal a surprisingly large number of different factors that contributed to the incident, providing signals for many different kinds of risks. So here’s my claim: <strong><em>there’s no way to know which of those factors is going to bite you next.</em></strong> You simply don’t possess a priori knowledge about which factors you should pay more attention to at the time of the incident retrospective, no matter what the vibes tell you. Zeroing in on a small number of factors will blind you to the role that the other factors might play in future incidents. Today’s “X wasn’t the root cause of incident A” could easily be tomorrow’s “X was the root cause of incident B”. Since you can’t predict which factors will play the most significant roles in future incidents, it’s best to cast as wide a net as possible. The more you identify, the more context you’ll have about the possible risks. Heck, maybe something that only played a minor role in this incident will be the trigger in the next one! There’s no way to know.</p>
|
|
|
|
|
|
|
|
<p class="wp-block-paragraph">Even if you’re convinced that you can identify the <em>real root cause</em> of the last incident, it doesn’t actually matter. The last incident already happened, <a href="/2025/05/04/you-cant-prevent-your-last-outage-no-matter-how-hard-you-try/">there’s no way to prevent it</a>. What’s important is not the last incident, but the next one: we’re looking at the past only as a guide to help us improve in the future. And while I think incidents are inherently unpredictable, here’s a prediction I’m comfortable making: your next incident is going to be a surprise, just like your last one was, and the one before that. Don’t fool yourself into thinking otherwise. </p>
|
|
<div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer"
|
|
data-shared="sharing-twitter-6216"
|
|
class="share-twitter sd-button share-icon"
|
|
href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/?share=twitter"
|
|
target="_blank"
|
|
aria-labelledby="sharing-twitter-6216"
|
|
>
|
|
<span id="sharing-twitter-6216" hidden>Share on X (Opens in new window)</span>
|
|
<span>X</span>
|
|
</a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer"
|
|
data-shared="sharing-facebook-6216"
|
|
class="share-facebook sd-button share-icon"
|
|
href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/?share=facebook"
|
|
target="_blank"
|
|
aria-labelledby="sharing-facebook-6216"
|
|
>
|
|
<span id="sharing-facebook-6216" hidden>Share on Facebook (Opens in new window)</span>
|
|
<span>Facebook</span>
|
|
</a></li><li class="share-end"></li></ul></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-30291541-6216-6aa4f466ad13a' data-src='//widgets.wp.com/likes/index.html?ver=20260912#blog_id=30291541&post_id=6216&origin=lorinhochstein.wordpress.com&obj_id=30291541-6216-6aa4f466ad13a&domain=surfingcomplexity.blog' data-name='like-post-frame-30291541-6216-6aa4f466ad13a' data-title='Like or Reblog'><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class='loading'>Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div>
|
|
<div id='jp-relatedposts' class='jp-relatedposts' >
|
|
|
|
</div></div> </div><!-- .entry-content -->
|
|
|
|
<div class="entry-footer">
|
|
</div><!-- .entry-footer -->
|
|
|
|
<div class="entry-author-wrapper">
|
|
<div class="entry-author author-avatar-show">
|
|
<div class="author-avatar">
|
|
<img referrerpolicy="no-referrer" alt='Unknown's avatar' src='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=80&d=identicon&r=G' srcset='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=80&d=identicon&r=G 1x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=120&d=identicon&r=G 1.5x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=160&d=identicon&r=G 2x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=240&d=identicon&r=G 3x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=320&d=identicon&r=G 4x' class='avatar avatar-80' height='80' width='80' decoding='async' /> </div><!-- .author-avatar -->
|
|
|
|
<div class="author-heading">
|
|
<h2 class="author-title">
|
|
Published by <span class="author-name">Lorin Hochstein</span> </h2>
|
|
</div><!-- .author-heading -->
|
|
|
|
<p class="author-bio">
|
|
<a class="author-link" href="https://surfingcomplexity.blog/author/lorinh/" rel="author">
|
|
View all posts by Lorin Hochstein </a>
|
|
</p><!-- .author-bio -->
|
|
</div><!-- .entry-auhtor -->
|
|
<div class="site-posted-on">
|
|
<strong>Published</strong>
|
|
<time class="entry-date published updated" datetime="2025-05-15T19:58:15-07:00">May 15, 2025</time> </div><!-- .site-posted-on -->
|
|
</div>
|
|
</article><!-- #post-## -->
|
|
|
|
|
|
<nav class="navigation post-navigation" aria-label="Posts">
|
|
<h2 class="screen-reader-text">Post navigation</h2>
|
|
<div class="nav-links"><div class="nav-previous"><a href="https://surfingcomplexity.blog/2025/05/10/on-work-processes-and-outcomes/" rel="prev"><span class="meta-nav screen-reader-text">Previous Post</span> On work processes and outcomes</a></div><div class="nav-next"><a href="https://surfingcomplexity.blog/2025/05/19/not-causal-chains-but-interactions-and-adaptations/" rel="next"><span class="meta-nav screen-reader-text">Next Post</span> Not causal chains, but interactions and adaptations</a></div></div>
|
|
</nav>
|
|
|
|
<div id="comments" class="comments-area">
|
|
|
|
|
|
<h2 class="comments-title">
|
|
6 thoughts on “<span>Labeling a root cause is predicting the future, poorly</span>” </h2><!-- .comments-title -->
|
|
|
|
|
|
<ol class="comment-list">
|
|
<li id="comment-9617" class="comment even thread-even depth-1 parent">
|
|
<article id="div-comment-9617" class="comment-body">
|
|
<footer class="comment-meta">
|
|
<div class="comment-author vcard">
|
|
<img referrerpolicy="no-referrer" alt='foo's avatar' src='https://0.gravatar.com/avatar/3b01838144293a3624357aeaef6cb53b534477208ae559885979118b5e4f5677?s=48&d=identicon&r=G' srcset='https://0.gravatar.com/avatar/3b01838144293a3624357aeaef6cb53b534477208ae559885979118b5e4f5677?s=48&d=identicon&r=G 1x, https://0.gravatar.com/avatar/3b01838144293a3624357aeaef6cb53b534477208ae559885979118b5e4f5677?s=72&d=identicon&r=G 1.5x, https://0.gravatar.com/avatar/3b01838144293a3624357aeaef6cb53b534477208ae559885979118b5e4f5677?s=96&d=identicon&r=G 2x, https://0.gravatar.com/avatar/3b01838144293a3624357aeaef6cb53b534477208ae559885979118b5e4f5677?s=144&d=identicon&r=G 3x, https://0.gravatar.com/avatar/3b01838144293a3624357aeaef6cb53b534477208ae559885979118b5e4f5677?s=192&d=identicon&r=G 4x' class='avatar avatar-48' height='48' width='48' decoding='async' /> <b class="fn">foo</b> <span class="says">says:</span> </div><!-- .comment-author -->
|
|
|
|
<div class="comment-metadata">
|
|
<a href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/#comment-9617"><time datetime="2025-05-17T05:54:25-07:00">May 17, 2025 at 5:54 am</time></a> </div><!-- .comment-metadata -->
|
|
|
|
</footer><!-- .comment-meta -->
|
|
|
|
<div class="comment-content">
|
|
<p class="wp-block-paragraph">I’m conflicted reading this post, as it seems that the main takeaway is “RCAs are useless because predicting the future is doomed to fail”.</p>
|
|
<p class="wp-block-paragraph">I mean, I understand you can be overconfident with an RCA, but that basically applies to anything remotely error-prone or human-made.</p>
|
|
<p class="wp-block-paragraph">More importantly, if you try predicting often enough, you may be wrong most of the time, but you might right some of the time, and that can lead to durable progress. But progress can only happen if you do try some times.</p>
|
|
<p class="wp-block-paragraph">And so I think it is with RCAs, or any reaction to feedback in general: you try to learn from events and to improve things in the process.</p>
|
|
<p class="wp-block-paragraph">Building things is very much trying to predict the future: it fails often enough, but clearly not always. And maybe there’s a ceiling to progress, but we won’t reach it if we don’t even try.</p>
|
|
<p class="wp-block-paragraph">
|
|
</div><!-- .comment-content -->
|
|
|
|
<div class="reply"><a rel="nofollow" class="comment-reply-link" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/?replytocom=9617#respond" data-commentid="9617" data-postid="6216" data-belowelement="div-comment-9617" data-respondelement="respond" data-replyto="Reply to foo" aria-label="Reply to foo">Reply</a></div> </article><!-- .comment-body -->
|
|
<ol class="children">
|
|
<li id="comment-9618" class="comment byuser comment-author-lorinh bypostauthor odd alt depth-2">
|
|
<article id="div-comment-9618" class="comment-body">
|
|
<footer class="comment-meta">
|
|
<div class="comment-author vcard">
|
|
<img referrerpolicy="no-referrer" alt='Lorin Hochstein's avatar' src='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=48&d=identicon&r=G' srcset='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=48&d=identicon&r=G 1x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=72&d=identicon&r=G 1.5x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=96&d=identicon&r=G 2x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=144&d=identicon&r=G 3x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=192&d=identicon&r=G 4x' class='avatar avatar-48' height='48' width='48' decoding='async' /> <b class="fn"><a href="https://lorinhochstein.wordpress.com" class="url" rel="ugc external nofollow">Lorin Hochstein</a></b> <span class="says">says:</span> </div><!-- .comment-author -->
|
|
|
|
<div class="comment-metadata">
|
|
<a href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/#comment-9618"><time datetime="2025-05-17T11:13:46-07:00">May 17, 2025 at 11:13 am</time></a> </div><!-- .comment-metadata -->
|
|
|
|
</footer><!-- .comment-meta -->
|
|
|
|
<div class="comment-content">
|
|
<p class="wp-block-paragraph">My belief is that we’ll do a better job at improving if we assume that all future incidents will be surprises, and therefore we focus on getting better at generally dealing with surprise. </p>
|
|
<p class="wp-block-paragraph">
|
|
</div><!-- .comment-content -->
|
|
|
|
<div class="reply"><a rel="nofollow" class="comment-reply-link" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/?replytocom=9618#respond" data-commentid="9618" data-postid="6216" data-belowelement="div-comment-9618" data-respondelement="respond" data-replyto="Reply to Lorin Hochstein" aria-label="Reply to Lorin Hochstein">Reply</a></div> </article><!-- .comment-body -->
|
|
</li><!-- #comment-## -->
|
|
</ol><!-- .children -->
|
|
</li><!-- #comment-## -->
|
|
<li id="comment-9619" class="comment even thread-odd thread-alt depth-1 parent">
|
|
<article id="div-comment-9619" class="comment-body">
|
|
<footer class="comment-meta">
|
|
<div class="comment-author vcard">
|
|
<img referrerpolicy="no-referrer" alt='Karl DeLooff's avatar' src='https://2.gravatar.com/avatar/851238ad8f917db6fe2da28488fc41a8cd3a21b4c2254b321079a2fb91f1a9e6?s=48&d=identicon&r=G' srcset='https://2.gravatar.com/avatar/851238ad8f917db6fe2da28488fc41a8cd3a21b4c2254b321079a2fb91f1a9e6?s=48&d=identicon&r=G 1x, https://2.gravatar.com/avatar/851238ad8f917db6fe2da28488fc41a8cd3a21b4c2254b321079a2fb91f1a9e6?s=72&d=identicon&r=G 1.5x, https://2.gravatar.com/avatar/851238ad8f917db6fe2da28488fc41a8cd3a21b4c2254b321079a2fb91f1a9e6?s=96&d=identicon&r=G 2x, https://2.gravatar.com/avatar/851238ad8f917db6fe2da28488fc41a8cd3a21b4c2254b321079a2fb91f1a9e6?s=144&d=identicon&r=G 3x, https://2.gravatar.com/avatar/851238ad8f917db6fe2da28488fc41a8cd3a21b4c2254b321079a2fb91f1a9e6?s=192&d=identicon&r=G 4x' class='avatar avatar-48' height='48' width='48' loading='lazy' decoding='async' /> <b class="fn">Karl DeLooff</b> <span class="says">says:</span> </div><!-- .comment-author -->
|
|
|
|
<div class="comment-metadata">
|
|
<a href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/#comment-9619"><time datetime="2025-05-18T04:56:12-07:00">May 18, 2025 at 4:56 am</time></a> </div><!-- .comment-metadata -->
|
|
|
|
</footer><!-- .comment-meta -->
|
|
|
|
<div class="comment-content">
|
|
<p class="wp-block-paragraph">There is a profound difference between planning and preparation. A solid RCA with contributing factors can lead to useful corrective and improvement actions. Solid investigations are historical research that can inform the present and future. We still study ancient military history to inform us how to fight and win a cyber and space war. Use the information to plan safe work and how to prepare for the next incident.</p>
|
|
</div><!-- .comment-content -->
|
|
|
|
<div class="reply"><a rel="nofollow" class="comment-reply-link" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/?replytocom=9619#respond" data-commentid="9619" data-postid="6216" data-belowelement="div-comment-9619" data-respondelement="respond" data-replyto="Reply to Karl DeLooff" aria-label="Reply to Karl DeLooff">Reply</a></div> </article><!-- .comment-body -->
|
|
<ol class="children">
|
|
<li id="comment-9621" class="comment byuser comment-author-lorinh bypostauthor odd alt depth-2">
|
|
<article id="div-comment-9621" class="comment-body">
|
|
<footer class="comment-meta">
|
|
<div class="comment-author vcard">
|
|
<img referrerpolicy="no-referrer" alt='Lorin Hochstein's avatar' src='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=48&d=identicon&r=G' srcset='https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=48&d=identicon&r=G 1x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=72&d=identicon&r=G 1.5x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=96&d=identicon&r=G 2x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=144&d=identicon&r=G 3x, https://0.gravatar.com/avatar/f2641f12e815a54896f8f2ac04660c52efb896e09131390ad2a6f2f5fca81432?s=192&d=identicon&r=G 4x' class='avatar avatar-48' height='48' width='48' loading='lazy' decoding='async' /> <b class="fn"><a href="https://lorinhochstein.wordpress.com" class="url" rel="ugc external nofollow">Lorin Hochstein</a></b> <span class="says">says:</span> </div><!-- .comment-author -->
|
|
|
|
<div class="comment-metadata">
|
|
<a href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/#comment-9621"><time datetime="2025-05-18T21:52:49-07:00">May 18, 2025 at 9:52 pm</time></a> </div><!-- .comment-metadata -->
|
|
|
|
</footer><!-- .comment-meta -->
|
|
|
|
<div class="comment-content">
|
|
<p class="wp-block-paragraph">Of course, we want to study our incidents! But there are better alternatives to the RCA approach. To extend the military analogy, you don’t want to keep fighting the last war.</p>
|
|
<p class="wp-block-paragraph">
|
|
</div><!-- .comment-content -->
|
|
|
|
<div class="reply"><a rel="nofollow" class="comment-reply-link" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/?replytocom=9621#respond" data-commentid="9621" data-postid="6216" data-belowelement="div-comment-9621" data-respondelement="respond" data-replyto="Reply to Lorin Hochstein" aria-label="Reply to Lorin Hochstein">Reply</a></div> </article><!-- .comment-body -->
|
|
</li><!-- #comment-## -->
|
|
</ol><!-- .children -->
|
|
</li><!-- #comment-## -->
|
|
<li id="comment-9626" class="comment byuser comment-author-workshopshed even thread-even depth-1">
|
|
<article id="div-comment-9626" class="comment-body">
|
|
<footer class="comment-meta">
|
|
<div class="comment-author vcard">
|
|
<img referrerpolicy="no-referrer" alt='Workshopshed's avatar' src='https://2.gravatar.com/avatar/2f1e3d38c1dc36284f61f066ac21a30fa12515f487aeff8ee456ac5fae1b1912?s=48&d=identicon&r=G' srcset='https://2.gravatar.com/avatar/2f1e3d38c1dc36284f61f066ac21a30fa12515f487aeff8ee456ac5fae1b1912?s=48&d=identicon&r=G 1x, https://2.gravatar.com/avatar/2f1e3d38c1dc36284f61f066ac21a30fa12515f487aeff8ee456ac5fae1b1912?s=72&d=identicon&r=G 1.5x, https://2.gravatar.com/avatar/2f1e3d38c1dc36284f61f066ac21a30fa12515f487aeff8ee456ac5fae1b1912?s=96&d=identicon&r=G 2x, https://2.gravatar.com/avatar/2f1e3d38c1dc36284f61f066ac21a30fa12515f487aeff8ee456ac5fae1b1912?s=144&d=identicon&r=G 3x, https://2.gravatar.com/avatar/2f1e3d38c1dc36284f61f066ac21a30fa12515f487aeff8ee456ac5fae1b1912?s=192&d=identicon&r=G 4x' class='avatar avatar-48' height='48' width='48' loading='lazy' decoding='async' /> <b class="fn"><a href="http://www.workshopshed.com" class="url" rel="ugc external nofollow">Workshopshed</a></b> <span class="says">says:</span> </div><!-- .comment-author -->
|
|
|
|
<div class="comment-metadata">
|
|
<a href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/#comment-9626"><time datetime="2025-05-23T04:39:35-07:00">May 23, 2025 at 4:39 am</time></a> </div><!-- .comment-metadata -->
|
|
|
|
</footer><!-- .comment-meta -->
|
|
|
|
<div class="comment-content">
|
|
<p>I think rather that striving to fix all root causes you also need to look at probability and impact (classic risk assessment). And focus your resources appropriately. But also be aware that these may change.</p>
|
|
<p>Example: We detected an issue which occurs when a customer places an order during a daylight savings event. Given these only happen twice per year this impacts a tiny number of orders.</p>
|
|
<p>However, we’ve since expanded to cover multiple timezones and are seeing a steady increase of orders. Hence what was a low probability, low impact issue is now medium probability, medium impact.</p>
|
|
<p>Using your example, there’s a high probability that one of the team might be on vacation or unavailable at anyone time. So having a system that relies on just one person is a higher risk and perhaps that’s what needs fixing rather than the system issue.</p>
|
|
</div><!-- .comment-content -->
|
|
|
|
<div class="reply"><a rel="nofollow" class="comment-reply-link" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/?replytocom=9626#respond" data-commentid="9626" data-postid="6216" data-belowelement="div-comment-9626" data-respondelement="respond" data-replyto="Reply to Workshopshed" aria-label="Reply to Workshopshed">Reply</a></div> </article><!-- .comment-body -->
|
|
</li><!-- #comment-## -->
|
|
<li id="comment-9627" class="pingback odd alt thread-odd thread-alt depth-1">
|
|
<div class="comment-body">
|
|
Pingback: <a href="https://sreweekly.com/sre-weekly-issue-478/" class="url" rel="ugc external nofollow">SRE Weekly Issue #478 – SRE WEEKLY</a> </div>
|
|
</li><!-- #comment-## -->
|
|
</ol><!-- .comment-list -->
|
|
|
|
|
|
|
|
|
|
<div id="respond" class="comment-respond">
|
|
<h3 id="reply-title" class="comment-reply-title">Leave a comment <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/#respond" style="display:none;">Cancel reply</a></small></h3><form action="https://surfingcomplexity.blog/wp-comments-post.php" method="post" id="commentform" class="comment-form">
|
|
|
|
|
|
<div class="comment-form__verbum transparent"></div><div class="verbum-form-meta"><input type='hidden' name='comment_post_ID' value='6216' id='comment_post_ID' />
|
|
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
|
|
|
|
<input type="hidden" name="highlander_comment_nonce" id="highlander_comment_nonce" value="4affefa77f" />
|
|
<input type="hidden" name="verbum_show_subscription_modal" value="" /></div><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="2538f534b4" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="73"/><script>
|
|
document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );
|
|
</script>
|
|
</p></form> </div><!-- #respond -->
|
|
|
|
</div><!-- #comments -->
|
|
|
|
|
|
</main><!-- #main -->
|
|
</div><!-- #primary -->
|
|
|
|
<div id="secondary" class="widget-area" role="complementary">
|
|
<aside id="block-3" class="widget widget_block widget_search"><form role="search" method="get" action="https://surfingcomplexity.blog/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-1" >Search</label><div class="wp-block-search__inside-wrapper" ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="" value="" type="search" name="s" required /><button aria-label="Search" class="wp-block-search__button wp-element-button" type="submit" >Search</button></div></form></aside><aside id="block-7" class="widget widget_block">
|
|
<ul class="wp-block-list">
|
|
<li><a href="https://lorinhochstein.org">lorinhochstein.org</a></li>
|
|
|
|
|
|
|
|
<li><a href="https://bsky.app/profile/norootcause.surfingcomplexity.com">Bluesky</a></li>
|
|
|
|
|
|
|
|
<li><a href="https://hachyderm.io/@norootcause">Mastodon</a></li>
|
|
</ul>
|
|
</aside><aside id="block-4" class="widget widget_block widget_recent_entries"><ul class="wp-block-latest-posts__list wp-block-latest-posts is-layout-flow wp-block-latest-posts-is-layout-flow"><li><a class="wp-block-latest-posts__post-title" href="https://surfingcomplexity.blog/2026/09/01/thoughts-on-the-buildkite-aug-25-incident/">Thoughts on the Buildkite Aug 25 incident</a></li>
|
|
<li><a class="wp-block-latest-posts__post-title" href="https://surfingcomplexity.blog/2026/08/29/quick-thoughts-on-github-actions-aug-26-incident/">Quick thoughts on GitHub Actions Aug 26 incident</a></li>
|
|
<li><a class="wp-block-latest-posts__post-title" href="https://surfingcomplexity.blog/2026/08/29/omnipresent-availability-risks-in-cloud-software/">Omnipresent availability risks in cloud software</a></li>
|
|
<li><a class="wp-block-latest-posts__post-title" href="https://surfingcomplexity.blog/2026/08/22/wild-ai-related-reliability-incidents-are-coming/">Wild AI-related reliability incidents are coming</a></li>
|
|
<li><a class="wp-block-latest-posts__post-title" href="https://surfingcomplexity.blog/2026/08/19/github-autoscaling-and-the-component-substitution-fallacy/">GitHub, autoscaling, and the component substitution fallacy</a></li>
|
|
</ul></aside></div><!-- #secondary -->
|
|
|
|
</div><!-- #content -->
|
|
|
|
<footer id="colophon" class="site-footer" role="contentinfo">
|
|
<div class="site-info">
|
|
<a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog at WordPress.com.</a>
|
|
|
|
</div><!-- .site-info -->
|
|
</footer><!-- #colophon -->
|
|
</div><!-- #content-wrapper -->
|
|
</div><!-- #page -->
|
|
|
|
<!-- -->
|
|
<script type="speculationrules">
|
|
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/files/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/pub/independent-publisher-2/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
|
|
</script>
|
|
<script id="grofiles-cards-js" src="//0.gravatar.com/js/hovercards/hovercards.min.js?ver=202637d1133547e8a1f2801609f51cef12522abe7f6647d869e9fbc974fe356a37e613"></script>
|
|
<script id="wpgroho-js-extra">
|
|
var WPGroHo = {"my_hash":""};
|
|
//# sourceURL=wpgroho-js-extra
|
|
</script>
|
|
<script crossorigin='anonymous' type='text/javascript' src='/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1610363240i'></script>
|
|
|
|
<script>
|
|
// Initialize and attach hovercards to all gravatars
|
|
( function() {
|
|
function init() {
|
|
if ( typeof Gravatar === 'undefined' ) {
|
|
return;
|
|
}
|
|
|
|
if ( typeof Gravatar.init !== 'function' ) {
|
|
return;
|
|
}
|
|
|
|
Gravatar.profile_cb = function ( hash, id ) {
|
|
WPGroHo.syncProfileData( hash, id );
|
|
};
|
|
|
|
Gravatar.my_hash = WPGroHo.my_hash;
|
|
Gravatar.init(
|
|
'body',
|
|
'#wp-admin-bar-my-account',
|
|
{
|
|
i18n: {
|
|
'Edit your profile →': 'Edit your profile →',
|
|
'View profile →': 'View profile →',
|
|
'Contact': 'Contact',
|
|
'Send money': 'Send money',
|
|
'Sorry, we are unable to load this Gravatar profile.': 'Sorry, we are unable to load this Gravatar profile.',
|
|
'Gravatar not found.': 'Gravatar not found.',
|
|
'Too Many Requests.': 'Too Many Requests.',
|
|
'Internal Server Error.': 'Internal Server Error.',
|
|
'Is this you?': 'Is this you?',
|
|
'Claim your free profile.': 'Claim your free profile.',
|
|
'Email': 'Email',
|
|
'Home Phone': 'Home Phone',
|
|
'Work Phone': 'Work Phone',
|
|
'Cell Phone': 'Cell Phone',
|
|
'Contact Form': 'Contact Form',
|
|
'Calendar': 'Calendar',
|
|
},
|
|
}
|
|
);
|
|
}
|
|
|
|
if ( document.readyState !== 'loading' ) {
|
|
init();
|
|
} else {
|
|
document.addEventListener( 'DOMContentLoaded', init );
|
|
}
|
|
} )();
|
|
</script>
|
|
|
|
<div style="display:none">
|
|
<div class="grofile-hash-map-c690634d340d85fb40ac03668259ff1c">
|
|
</div>
|
|
<div class="grofile-hash-map-0bffea28d67872cf1d250d89461c1464">
|
|
</div>
|
|
<div class="grofile-hash-map-c690634d340d85fb40ac03668259ff1c">
|
|
</div>
|
|
<div class="grofile-hash-map-5ea5a34645e738dde335feb6f6e0fea3">
|
|
</div>
|
|
<div class="grofile-hash-map-2c358ac7f237c44a158c0939da2b9623">
|
|
</div>
|
|
</div>
|
|
<div id="actionbar" dir="ltr" style="display: none;"
|
|
class="actnbr-pub-independent-publisher-2 actnbr-has-follow actnbr-has-actions">
|
|
<ul>
|
|
<li class="actnbr-btn actnbr-hidden">
|
|
<a class="actnbr-action actnbr-actn-comment" href="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/#comments">
|
|
<svg class="gridicon gridicons-comment" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M12 16l-5 5v-5H5c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v9c0 1.1-.9 2-2 2h-7z"/></g></svg> <span>Comment </span>
|
|
</a>
|
|
</li>
|
|
<li class="actnbr-btn actnbr-hidden">
|
|
<a class="actnbr-action actnbr-actn-reblog" href="">
|
|
<svg class="gridicon gridicons-reblog" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M22.086 9.914L20 7.828V18c0 1.105-.895 2-2 2h-7v-2h7V7.828l-2.086 2.086L14.5 8.5 19 4l4.5 4.5-1.414 1.414zM6 16.172V6h7V4H6c-1.105 0-2 .895-2 2v10.172l-2.086-2.086L.5 15.5 5 20l4.5-4.5-1.414-1.414L6 16.172z"/></g></svg><span>Reblog</span>
|
|
</a>
|
|
</li>
|
|
<li class="actnbr-btn actnbr-hidden">
|
|
<a class="actnbr-action actnbr-actn-follow " href="">
|
|
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg>
|
|
<span>Subscribe</span>
|
|
</a>
|
|
<a class="actnbr-action actnbr-actn-following no-display" href="">
|
|
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V3H17.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H14.5V13.5H10.5V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path d="M19.5303 15.0303L15.5 19.0605L12.9697 16.5303L14.0303 15.4697L15.5 16.9395L18.4697 13.9697L19.5303 15.0303Z" fill="#008A20"></path></svg>
|
|
<span>Subscribed</span>
|
|
</a>
|
|
<div class="actnbr-popover tip tip-top-left actnbr-notice" id="follow-bubble">
|
|
<div class="tip-arrow"></div>
|
|
<div class="tip-inner actnbr-follow-bubble">
|
|
<ul>
|
|
<li class="actnbr-sitename">
|
|
<a href="https://surfingcomplexity.blog">
|
|
<img loading='lazy' alt='' src='https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=50' srcset='https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=50 1x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=75 1.5x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=100 2x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120 3x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120 4x' class='avatar avatar-50' height='50' width='50' /> Surfing Complexity </a>
|
|
</li>
|
|
<div class="actnbr-message no-display"></div>
|
|
<form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" style="display: none;">
|
|
<div class="actnbr-follow-count">Join 263 other subscribers</div>
|
|
<div>
|
|
<input type="email" name="email" placeholder="Enter your email address" class="actnbr-email-field" aria-label="Enter your email address" />
|
|
</div>
|
|
<input type="hidden" name="action" value="subscribe" />
|
|
<input type="hidden" name="blog_id" value="30291541" />
|
|
<input type="hidden" name="source" value="https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/" />
|
|
<input type="hidden" name="sub-type" value="actionbar-follow" />
|
|
<input type="hidden" id="_wpnonce" name="_wpnonce" value="0db45c92b7" /> <div class="actnbr-button-wrap">
|
|
<button type="submit" value="Sign me up">
|
|
Sign me up </button>
|
|
</div>
|
|
</form>
|
|
<li class="actnbr-login-nudge">
|
|
<div>
|
|
Already have a WordPress.com account? <a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fsurfingcomplexity.blog%252F2025%252F05%252F15%252Flabeling-a-root-cause-is-predicting-the-future-poorly%252F">Log in now.</a> </div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="actnbr-ellipsis actnbr-hidden">
|
|
<svg class="gridicon gridicons-ellipsis" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M7 12c0 1.104-.896 2-2 2s-2-.896-2-2 .896-2 2-2 2 .896 2 2zm12-2c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2zm-7 0c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2z"/></g></svg> <div class="actnbr-popover tip tip-top-left actnbr-more">
|
|
<div class="tip-arrow"></div>
|
|
<div class="tip-inner">
|
|
<ul>
|
|
<li class="actnbr-sitename">
|
|
<a href="https://surfingcomplexity.blog">
|
|
<img loading='lazy' alt='' src='https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=50' srcset='https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=50 1x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=75 1.5x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=100 2x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120 3x, https://surfingcomplexity.blog/wp-content/uploads/2020/05/surfer_1f3c4.png?w=120 4x' class='avatar avatar-50' height='50' width='50' /> Surfing Complexity </a>
|
|
</li>
|
|
<li class="actnbr-folded-follow">
|
|
<a class="actnbr-action actnbr-actn-follow " href="">
|
|
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg>
|
|
<span>Subscribe</span>
|
|
</a>
|
|
<a class="actnbr-action actnbr-actn-following no-display" href="">
|
|
<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V3H17.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H14.5V13.5H10.5V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path d="M19.5303 15.0303L15.5 19.0605L12.9697 16.5303L14.0303 15.4697L15.5 16.9395L18.4697 13.9697L19.5303 15.0303Z" fill="#008A20"></path></svg>
|
|
<span>Subscribed</span>
|
|
</a>
|
|
</li>
|
|
<li class="actnbr-signup"><a href="https://wordpress.com/start/">Sign up</a></li>
|
|
<li class="actnbr-login"><a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fsurfingcomplexity.blog%252F2025%252F05%252F15%252Flabeling-a-root-cause-is-predicting-the-future-poorly%252F">Log in</a></li>
|
|
<li class="actnbr-shortlink">
|
|
<a href="https://wp.me/p236df-1Cg">
|
|
<span class="actnbr-shortlink__text">Copy shortlink</span>
|
|
<span class="actnbr-shortlink__icon"><svg class="gridicon gridicons-checkmark" height="16" width="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M9 19.414l-6.707-6.707 1.414-1.414L9 16.586 20.293 5.293l1.414 1.414"/></g></svg></span>
|
|
</a>
|
|
</li>
|
|
<li class="flb-report">
|
|
<a href="https://wordpress.com/abuse/?report_url=https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/" target="_blank" rel="noopener noreferrer">
|
|
Report this content </a>
|
|
</li>
|
|
<li class="actnbr-reader">
|
|
<a href="https://wordpress.com/reader/blogs/30291541/posts/6216">
|
|
View post in Reader </a>
|
|
</li>
|
|
<li class="actnbr-subs">
|
|
<a href="https://subscribe.wordpress.com/">Manage subscriptions</a>
|
|
</li>
|
|
<li class="actnbr-fold"><a href="">Collapse this bar</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<script>
|
|
window.addEventListener( "DOMContentLoaded", function( event ) {
|
|
var link = document.createElement( "link" );
|
|
link.href = "/wp-content/mu-plugins/actionbar/actionbar.css?v=20250116";
|
|
link.type = "text/css";
|
|
link.rel = "stylesheet";
|
|
document.head.appendChild( link );
|
|
|
|
var script = document.createElement( "script" );
|
|
script.src = "/wp-content/mu-plugins/actionbar/actionbar.js?v=20250204";
|
|
document.body.appendChild( script );
|
|
} );
|
|
</script>
|
|
|
|
|
|
<script type="text/javascript">
|
|
window.WPCOM_sharing_counts = {"https://surfingcomplexity.blog/2025/05/15/labeling-a-root-cause-is-predicting-the-future-poorly/":6216};
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
(function () {
|
|
var wpcom_reblog = {
|
|
source: 'toolbar',
|
|
|
|
toggle_reblog_box_flair: function (obj_id, post_id) {
|
|
|
|
// Go to site selector. This will redirect to their blog if they only have one.
|
|
const postEndpoint = `https://wordpress.com/post`;
|
|
|
|
// Ideally we would use the permalink here, but fortunately this will be replaced with the
|
|
// post permalink in the editor.
|
|
const originalURL = `${ document.location.href }?page_id=${ post_id }`;
|
|
|
|
const url =
|
|
postEndpoint +
|
|
'?url=' +
|
|
encodeURIComponent( originalURL ) +
|
|
'&is_post_share=true' +
|
|
'&v=5';
|
|
|
|
const redirect = function () {
|
|
if (
|
|
! window.open( url, '_blank' )
|
|
) {
|
|
location.href = url;
|
|
}
|
|
};
|
|
|
|
if ( /Firefox/.test( navigator.userAgent ) ) {
|
|
setTimeout( redirect, 0 );
|
|
} else {
|
|
redirect();
|
|
}
|
|
},
|
|
};
|
|
|
|
window.wpcom_reblog = wpcom_reblog;
|
|
})();
|
|
</script>
|
|
<script crossorigin='anonymous' type='text/javascript' src='/wp-content/mu-plugins/likes/queuehandler.js?m=1741961244i'></script>
|
|
<script id="wp-hooks-js" src="/wp-content/plugins/gutenberg-core/v23.9.1/build/scripts/hooks/index.min.js?m=1788785546i&ver=f0f188028580e8dc1255"></script>
|
|
<script id="wp-i18n-js" src="/wp-content/plugins/gutenberg-core/v23.9.1/build/scripts/i18n/index.min.js?m=1788785546i&ver=1dfe7db3940c23ea9216"></script>
|
|
<script id="wp-i18n-js-after">
|
|
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
|
|
//# sourceURL=wp-i18n-js-after
|
|
</script>
|
|
<script id="verbum-settings-js-before">
|
|
window.VerbumComments = {"Log in or provide your name and email to leave a reply.":"Log in or provide your name and email to leave a reply.","Log in or provide your name and email to leave a comment.":"Log in or provide your name and email to leave a comment.","Receive web and mobile notifications for posts on this site.":"Receive web and mobile notifications for posts on this site.","Name":"Name","Email (address never made public)":"Email (address never made public)","Website (optional)":"Website (optional)","Leave a reply. (log in optional)":"Leave a reply. (log in optional)","Leave a comment. (log in optional)":"Leave a comment. (log in optional)","Log in to leave a reply.":"Log in to leave a reply.","Log in to leave a comment.":"Log in to leave a comment.","Logged in via %s":"Logged in via %s","Log out":"Log out","Your browser is blocking the cookies needed to log in and comment here. Allow cookies in your privacy settings, then reload the page.":"Your browser is blocking the cookies needed to log in and comment here. Allow cookies in your privacy settings, then reload the page.","Email":"Email","(Address never made public)":"(Address never made public)","Instantly":"Instantly","Daily":"Daily","Reply":"Reply","Comment":"Comment","WordPress":"WordPress","Weekly":"Weekly","Notify me of new posts":"Notify me of new posts","Email me new posts":"Email me new posts","Email me new comments":"Email me new comments","Cancel":"Cancel","Write a comment...":"Write a comment...","Write a reply...":"Write a reply...","Website":"Website","Optional":"Optional","We'll keep you in the loop!":"We'll keep you in the loop!","Loading your comment...":"Loading your comment...","Discover more from":"Discover more from Surfing Complexity","Subscribe now to keep reading and get access to the full archive.":"Subscribe now to keep reading and get access to the full archive.","Continue reading":"Continue reading","Never miss a beat!":"Never miss a beat!","Interested in getting blog post updates? Simply click the button below to stay in the loop!":"Interested in getting blog post updates? Simply click the button below to stay in the loop!","Enter your email address":"Enter your email address","Subscribe":"Subscribe","Comment sent successfully":"Comment sent successfully","Save my name, email, and website in this browser for the next time I comment.":"Save my name, email, and website in this browser for the next time I comment.","hovercardi18n":{"Edit your profile \u2192":"Edit your profile \u2192","View profile \u2192":"View profile \u2192","Contact":"Contact","Send money":"Send money","Gravatar not found.":"Gravatar not found.","This profile is private.":"This profile is private.","Too Many Requests.":"Too Many Requests.","Internal Server Error.":"Internal Server Error.","Sorry, we are unable to load this Gravatar profile.":"Sorry, we are unable to load this Gravatar profile."},"siteId":30291541,"postId":6216,"mustLogIn":false,"requireNameEmail":true,"commentRegistration":false,"connectURL":"https://lorinhochstein.wordpress.com/public.api/connect/?action=request\u0026domain=surfingcomplexity.blog","logoutURL":"https://lorinhochstein.wordpress.com/wp-login.php?action=logout\u0026_wpnonce=b263a00deb","homeURL":"https://surfingcomplexity.blog/","subscribeToBlog":true,"subscribeToComment":true,"isJetpackCommentsLoggedIn":false,"jetpackUsername":"","jetpackUserId":0,"jetpackSignature":"","jetpackAvatar":"https://0.gravatar.com/avatar/?s=96\u0026amp;d=identicon\u0026amp;r=G","enableBlocks":true,"enableSubscriptionModal":true,"currentLocale":"en","isJetpackComments":false,"allowedBlocks":["core/paragraph","core/list","core/code","core/list-item","core/quote","core/image","core/embed","core/quote","core/code"],"embedNonce":"2db44e3fcc","verbumBundleUrl":"/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/features/verbum-comments/dist/index.js","isRTL":false,"vbeCacheBuster":1771405207,"iframeUniqueId":0,"colorScheme":false}
|
|
//# sourceURL=verbum-settings-js-before
|
|
</script>
|
|
<script data-wp-strategy="defer" defer id="verbum-dynamic-loader-js" src="/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/verbum-comments/assets/dynamic-loader.js?m=1772518873i&minify=false&ver=8b5296f9195db92c42e4"></script>
|
|
<script id="sharing-js-js-extra">
|
|
var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"};
|
|
//# sourceURL=sharing-js-js-extra
|
|
</script>
|
|
<script id="jetpack-script-data-js-before">
|
|
window.JetpackScriptData = {"site":{"host":"wpcom","is_wpcom_platform":true}};
|
|
//# sourceURL=jetpack-script-data-js-before
|
|
</script>
|
|
<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJydkNFOwzAMRX+I1IOJbTwgPmXykrR12zhR7Gzs78lKOyEeEPASJdfX514FLsnYyOpZQXsfvEAqJyB2Pvl6sJr6nkh6n80TDAKMZ+pQKXIzyAP8eV9GSmYiHk0bbRHT0vsKIrZTcRVRbTaGcNvOPk3XJtB/0ioPxGZKai6pAr8jQjFpKh1xTfSa0I6mSrN1GUCIkdfh8VwzYgYsGgOqkr2voYhXgVOhyd3FJdqh4g/JOJIEr2bbbOB4a7wKbZ7N7hetv5adGZ9FpMfsHTp3na/E3fKRb+H1cX/YvzxvDrvd8AFo0cDP'></script>
|
|
<script id="sharing-js-js-after">
|
|
window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {};
|
|
window.WPCOM_sharing_popups[ "twitter" ] = "menubar=1,resizable=1,width=600,height=350";
|
|
window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {};
|
|
window.WPCOM_sharing_popups[ "facebook" ] = "menubar=1,resizable=1,width=600,height=400";
|
|
//# sourceURL=sharing-js-js-after
|
|
</script>
|
|
<script id="wp-emoji-settings" type="application/json">
|
|
{"baseUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/","ext":".png","svgUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/svg/","svgExt":".svg","source":{"concatemoji":"/wp-includes/js/wp-emoji-release.min.js?m=1783090810i&ver=7.1.1-alpha-63555"}}
|
|
</script>
|
|
<script type="module">
|
|
/*! This file is auto-generated */
|
|
var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
|
|
//# sourceURL=/wp-includes/js/wp-emoji-loader.min.js
|
|
</script>
|
|
<iframe src='https://widgets.wp.com/likes/master.html?ver=20260912#ver=20260912' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe>
|
|
<div id='likes-other-gravatars' role="dialog" aria-hidden="true" tabindex="-1"><div class="likes-text"><span>%d</span></div><ul class="wpl-avatars sd-like-gravatars"></ul></div>
|
|
<script src="//stats.wp.com/w.js?69" defer></script> <script type="text/javascript">
|
|
_tkq = window._tkq || [];
|
|
_stq = window._stq || [];
|
|
_tkq.push(['storeContext', {'blog_id':'30291541','blog_tz':'-7','user_lang':'en','blog_lang':'en','user_id':'0'}]);
|
|
// Prevent sending pageview tracking from WP-Admin pages.
|
|
_stq.push(['view', {'blog':'30291541','v':'wpcom','tz':'-7','user_id':'0','post':'6216','subd':'lorinhochstein'}]);
|
|
_stq.push(['extra', {'crypt':'UE5tW3cvZGRTd1VXTHx0Q0pyYT89K3QrZXh+YlZCT3lNLEN2NzQ2Njh8QTJiL1BzZVh+MTlwZTc3TkdTOFRnU25kb3V1UXJpTUJadTA4dlFlKyVuRDh1eXFJYUo1PUtfPU1KdmVJL0tIb3QyfFQ0VTYsSmRGZn53WUFFVlRzOWN1MT1bUWtyeVRXemRBQTVoa1ZJeHRCQS5jM3FTSE9JRjhySW01ZUpOU2czLHppYV8sWEMrRzl4Z0xYMCZ1azddN0tdfllXUlRULFdDOGVKSm8mLFkz'}]);
|
|
_stq.push([ 'clickTrackerInit', '30291541', '6216' ]);
|
|
</script>
|
|
<noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript>
|
|
<meta id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="America/Los_Angeles" data-custom-props="{"logged_in":"0","wptheme":"pub\/independent-publisher-2","wptheme_is_block":"0"}" >
|
|
<script defer src="/wp-content/js/bilmur.min.js?i=17&m=202637"></script>
|
|
<script>
|
|
(function() {
|
|
'use strict';
|
|
|
|
const fetches = {};
|
|
const promises = {};
|
|
const urls = {
|
|
'wp-polyfill': '/wp-includes/js/dist/vendor/wp-polyfill.min.js?m=1786440387i&ver=3.15.0',
|
|
'verbum': '/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/verbum-comments/verbum-comments.js?m=1788898305i&minify=false&ver=3d6130a57c3104d5bc3b'
|
|
};
|
|
const loaders = {
|
|
'verbum': () => {
|
|
fetchExternalScript('wp-polyfill');
|
|
fetchExternalScript('verbum');
|
|
promises['wp-polyfill'] = promises['wp-polyfill'] || loadWPScript('wp-polyfill');
|
|
promises['verbum'] = promises['verbum'] || promises['wp-polyfill'].then( () => loadWPScript('verbum') );
|
|
return promises['verbum'];
|
|
},
|
|
|
|
};
|
|
const scriptExtras = {
|
|
|
|
};
|
|
|
|
window.WP_Enqueue_Dynamic_Script = {
|
|
loadScript: (handle) => {
|
|
if (!loaders[handle]) {
|
|
console.error('WP_Enqueue_Dynamic_Script: unregistered script `' + handle + '`.');
|
|
}
|
|
return loaders[handle]();
|
|
}
|
|
};
|
|
|
|
function fetchExternalScript(handle) {
|
|
if (!urls[handle]) {
|
|
return Promise.resolve();
|
|
}
|
|
|
|
fetches[handle] = fetches[handle] || fetch(urls[handle], { mode: 'no-cors' });
|
|
return fetches[handle];
|
|
}
|
|
|
|
function runExtraScript(handle, type, index) {
|
|
const id = 'wp-enqueue-dynamic-script:' + handle + ':' + type + ':' + (index + 1);
|
|
const template = document.getElementById(id);
|
|
if (!template) {
|
|
return Promise.reject();
|
|
}
|
|
|
|
const script = document.createElement( 'script' );
|
|
script.innerHTML = template.innerHTML;
|
|
document.body.appendChild( script );
|
|
return Promise.resolve();
|
|
}
|
|
|
|
function loadExternalScript(handle) {
|
|
if (!urls[handle]) {
|
|
return Promise.resolve();
|
|
}
|
|
|
|
return fetches[handle].then(() => {
|
|
return new Promise((resolve, reject) => {
|
|
const script = document.createElement('script');
|
|
script.onload = () => resolve();
|
|
script.onerror = (e) => reject(e);
|
|
script.src = urls[handle];
|
|
document.body.appendChild(script);
|
|
});
|
|
});
|
|
}
|
|
|
|
function loadExtra(handle, pos) {
|
|
const count = (scriptExtras[handle] && scriptExtras[handle][pos]) || 0;
|
|
let promise = Promise.resolve();
|
|
|
|
for (let i = 0; i < count; i++) {
|
|
promise = promise.then(() => runExtraScript(handle, pos, i));
|
|
}
|
|
|
|
return promise;
|
|
}
|
|
|
|
function loadWPScript(handle) {
|
|
// Core loads scripts in this order. See: https://github.com/WordPress/WordPress/blob/a59eb9d39c4fcba834b70c9e8dfd64feeec10ba6/wp-includes/class-wp-scripts.php#L428.
|
|
return loadExtra(handle, 'translations')
|
|
.then(() => loadExtra(handle, 'before'))
|
|
.then(() => loadExternalScript(handle))
|
|
.then(() => loadExtra(handle, 'after'));
|
|
}
|
|
} )();
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|
|
<!--
|
|
generated in 0.189 seconds
|
|
107345 bytes batcached for 300 seconds
|
|
-->
|