1<!DOCTYPE html> 2<!--[if IE 7]> 3<html class="ie ie7" lang="en"> 4<![endif]--> 5<!--[if IE 8]> 6<html class="ie ie8" lang="en"> 7<![endif]--> 8<!--[if !(IE 7) & !(IE 8)]><!--> 9<html lang="en"> 10<!--<![endif]--> 11<head> 12<meta charset="UTF-8" /> 13<meta name="viewport" content="width=device-width" /> 14<title>Hugh E. Williams | Advisor, Tech Exec, Charity Co-Founder</title> 15<link rel="profile" href="https://gmpg.org/xfn/11" /> 16<link rel="pingback" href="https://hughewilliams.com/xmlrpc.php"> 17<!--[if lt IE 9]>
18<script src="https://s2.wp.com/wp-content/themes/pub/twentytwelve/js/html5.js?m=1394055319i&ver=3.7.0" type="text/javascript"></script>
18 19<![endif]--> 20<meta name='robots' content='max-image-preview:large' /> 21 22<!-- Async WordPress.com Remote Login -->
23<script id="wpcom_remote_login_js"> 24var wpcom_remote_login_extra_auth = ''; 25function wpcom_remote_login_remove_dom_node_id( element_id ) { 26 var dom_node = document.getElementById( element_id ); 27 if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); } 28} 29function wpcom_remote_login_remove_dom_node_classes( class_name ) { 30 var dom_nodes = document.querySelectorAll( '.' + class_name ); 31 for ( var i = 0; i < dom_nodes.length; i++ ) { 32 dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] ); 33 } 34} 35function wpcom_remote_login_final_cleanup() { 36 wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" ); 37 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); 38 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" ); 39 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" ); 40 wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" ); 41 wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" ); 42} 43 44// Watch for messages back from the remote login 45window.addEventListener( "message", function( e ) { 46 if ( e.origin === "https://r-login.wordpress.com" ) { 47 var data = {}; 48 try { 49 data = JSON.parse( e.data ); 50 } catch( e ) { 51 wpcom_remote_login_final_cleanup(); 52 return; 53 } 54 55 if ( data.msg === 'LOGIN' ) { 56 // Clean up the login check iframe 57 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); 58 59 var id_regex = new RegExp( /^[0-9]+$/ ); 60 var token_regex = new RegExp( /^.*|.*|.*$/ ); 61 if ( 62 token_regex.test( data.token ) 63 && id_regex.test( data.wpcomid ) 64 ) { 65 // We have everything we need to ask for a login 66 var script = document.createElement( "script" ); 67 script.setAttribute( "id", "wpcom_remote_login_validate" ); 68 script.src = '/remote-login.php?wpcom_remote_login=validate' 69 + '&wpcomid=' + data.wpcomid 70 + '&token=' + encodeURIComponent( data.token ) 71 + '&host=' + window.location.protocol 72 + '//' + window.location.hostname 73 + '&postid=2' 74 + '&is_singular='; 75 document.body.appendChild( script ); 76 } 77 78 return; 79 } 80 81 // Safari ITP, not logged in, so redirect 82 if ( data.msg === 'LOGIN-REDIRECT' ) { 83 window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href; 84 return; 85 } 86 87 // Safari ITP, storage access failed, remove the request 88 if ( data.msg === 'LOGIN-REMOVE' ) { 89 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; } }'; 90 var style_zap = document.createElement( 'style' ); 91 style_zap.type = 'text/css'; 92 style_zap.appendChild( document.createTextNode( css_zap ) ); 93 document.body.appendChild( style_zap ); 94 95 var e = document.getElementById( 'wpcom_request_access_iframe' ); 96 e.parentNode.removeChild( e ); 97 98 document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000'; 99 100 return; 101 } 102 103 // Safari ITP 104 if ( data.msg === 'REQUEST_ACCESS' ) { 105 console.log( 'request access: safari' ); 106 107 // Check ITP iframe enable/disable knob 108 if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) { 109 return; 110 } 111 112 // If we are in a "private window" there is no ITP. 113 var private_window = false; 114 try { 115 var opendb = window.openDatabase( null, null, null, null ); 116 } catch( e ) { 117 private_window = true; 118 } 119 120 if ( private_window ) { 121 console.log( 'private window' ); 122 return; 123 } 124 125 var iframe = document.createElement( 'iframe' ); 126 iframe.id = 'wpcom_request_access_iframe'; 127 iframe.setAttribute( 'scrolling', 'no' ); 128 iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' ); 129 iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid ); 130 131 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; } '; 132 133 var style = document.createElement( 'style' ); 134 style.type = 'text/css'; 135 style.id = 'wpcom_request_access_styles'; 136 style.appendChild( document.createTextNode( css ) ); 137 document.body.appendChild( style ); 138 139 document.body.appendChild( iframe ); 140 } 141 142 if ( data.msg === 'DONE' ) { 143 wpcom_remote_login_final_cleanup(); 144 } 145 } 146}, false ); 147 148// Inject the remote login iframe after the page has had a chance to load 149// more critical resources 150window.addEventListener( "DOMContentLoaded", function( e ) { 151 var iframe = document.createElement( "iframe" );
152 iframe.style.display = "none"; 153 iframe.setAttribute( "scrolling", "no" ); 154 iframe.setAttribute( "id", "wpcom_remote_login_key" ); 155 iframe.src = "https://r-login.wordpress.com/remote-login.php" 156 + "?wpcom_remote_login=key" 157 + "&origin=aHR0cHM6Ly9odWdoZXdpbGxpYW1zLmNvbQ%3D%3D" 158 + "&wpcomid=6586643" 159 + "&time=" + Math.floor( Date.now() / 1000 ); 160 document.body.appendChild( iframe ); 161}, false ); 162</script>
162 163<link rel='dns-prefetch' href='//s2.wp.com' /> 164<link rel='dns-prefetch' href='//widgets.wp.com' /> 165<link rel='dns-prefetch' href='//fonts-api.wp.com' /> 166<link rel='dns-prefetch' href='//s1.wp.com' /> 167<link rel='dns-prefetch' href='//s0.wp.com' /> 168<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' /> 169<link rel="alternate" type="application/rss+xml" title="Hugh E. Williams » Feed" href="https://hughewilliams.com/feed/" /> 170<link rel="alternate" type="application/rss+xml" title="Hugh E. Williams » Comments Feed" href="https://hughewilliams.com/comments/feed/" /> 171<link rel="alternate" type="application/rss+xml" title="Hugh E. Williams » Comments Feed" href="https://hughewilliams.com/bio/feed/" /> 172
172<script type="text/javascript"> 173 /* <![CDATA[ */ 174 function addLoadEvent(func) { 175 var oldonload = window.onload; 176 if (typeof window.onload != 'function') { 177 window.onload = func; 178 } else { 179 window.onload = function () { 180 oldonload(); 181 func(); 182 } 183 } 184 } 185 /* ]]> */ 186 </script>
186 187 <style id="wp-img-auto-sizes-contain-inline-css"> 188img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 189/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 190</style> 191<link crossorigin='anonymous' rel='stylesheet' id='all-css-2-1' href='/wp-content/mu-plugins/likes/jetpack-likes.css?m=1743883414i&cssminify=yes' type='text/css' media='all' /> 192<style id="wp-emoji-styles-inline-css"> 193 194 img.wp-smiley, img.emoji { 195 display: inline !important; 196 border: none !important; 197 box-shadow: none !important; 198 height: 1em !important; 199 width: 1em !important; 200 margin: 0 0.07em !important; 201 vertical-align: -0.1em !important; 202 background: none !important; 203 padding: 0 !important; 204 } 205/*# sourceURL=wp-emoji-styles-inline-css */ 206</style> 207<style id="wp-block-library-inline-css"> 208: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;
208--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{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal!important;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}} 209 210/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.1.0/build/styles/block-library/common.min.css */ 211</style> 212<style id="wp-block-library-inline-css-extra"> 213.has-text-align-justify { 214 text-align:justify; 215} 216.has-text-align-justify{text-align:justify;} 217/*# sourceURL=wp-block-library-inline-css */ 218</style> 219 220<style id="classic-theme-styles-inline-css"> 221.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} 222/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.1.0/build/styles/block-library/classic.min.css */ 223</style> 224 225<style id="coblocks-inline-format-inline-css"> 226.uppercase{text-transform:uppercase} 227/*# sourceURL=coblocks-inline-format-inline-css */ 228</style> 229<link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='/_static/??/wp-content/mu-plugins/core-compat/wp-mediaelement.css,/wp-content/mu-plugins/wpcom-bbpress-premium-themes.css?m=1432920480j&cssminify=yes' type='text/css' media='all' /> 230<style id="global-styles-inline-css"> 231: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--blue: #21759b;--wp--preset--color--dark-gray: #444;--wp--preset--color--medium-gray: #9f9f9f;--wp--preset--color--light-gray: #e6e6e6;--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,
2310) 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--text-shadow--light: 0.05em 0.05em 0.1em rgba(0, 0, 0, 0.3);--wp--preset--text-shadow--strong: 0.1em 0.1em 0.25em rgba(0, 0, 0, 0.5);--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-blue-color{color: var(--wp--preset--color--blue) !important;}.has-dark-gray-color{color: var(--wp--preset--color--dark-gray) !important;}.has-medium-gray-color{color: var(--wp--preset--color--medium-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-blue-background-color{background-color: var(--wp--preset--color--blue) !important;}.has-dark-gray-background-color{background-color: var(--wp--preset--color--dark-gray) !important;}.has-medium-gray-background-color{background-color: var(--wp--preset--color--medium-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-blue-border-color{border-color: var(--wp--preset--color--blue) !important;}.has-dark-gray-border-color{border-color: var(--wp--preset--color--dark-gray) !important;}.has-medium-gray-border-color{border-color: var(--wp--preset--color--medium-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;}
231.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;}.has-light-text-shadow{text-shadow: var(--wp--preset--text-shadow--light) !important;}.has-strong-text-shadow{text-shadow: var(--wp--preset--text-shadow--strong) !important;} 232/*# sourceURL=global-styles-inline-css */ 233</style> 234 235<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=1790593351i&cssminify=yes' type='text/css' media='all' /> 236<link rel='stylesheet' id='verbum-gutenberg-css-css' href='https://widgets.wp.com/verbum-block-editor/block-editor.css?ver=1771405207' media='all' /> 237<link rel='stylesheet' id='twentytwelve-fonts-css' href='https://fonts-api.wp.com/css?family=Open+Sans%3A400italic%2C700italic%2C400%2C700&subset=latin%2Clatin-ext&display=fallback' media='all' /> 238<link crossorigin='anonymous' rel='stylesheet' id='all-css-18-1' href='/_static/??-eJzTLy/QTc7PK0nNK9EvyUjNTS3WLyhN0i8pBwpUAsmcslT94pLKnFS95OJiHX0iVAPV6Sfl5CdnF4O02OfaGpqbWpibWJiZW2YBADBZKMU=&cssminify=yes' type='text/css' media='all' /> 239<link crossorigin='anonymous' rel='stylesheet' id='all-css-20-1' href='/_static/??-eJx9i0EOwjAMBD+EcUEiggPiLW1k0iAnjmqnUX9PuLUXLqud1Q62Al6yUTa0mRIpljqhtT5sPXklVNuYoBUv6exVT7hzUoXCNcSsuNDEEnoN2F87/CcFEmDxo0XJB4A3j3H5qa/0vNyGh3PD1d0/X5shQdY=&cssminify=yes' type='text/css' media='all' /> 240<style id="jetpack-global-styles-frontend-style-inline-css"> 241: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;} 242/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */ 243</style> 244<link crossorigin='anonymous' rel='stylesheet' id='all-css-22-1' href='/_static/??-eJyNjcEKAjEMRH/ImhVlqwfxU6TbhrZrmhTTIv69u+JFvHgZ5sHwBh7VeOGG3KB0U6nHzAoztur87cNQRNYInVBBk7tjcCE83zVz3HrVDfxvumb2MPVMAVR8dmRIougX/DhbwrK8pwNEksnROriU884e9+PJDnaYXxwFS20=&cssminify=yes' type='text/css' media='all' />
245<script id="wpcom-actionbar-placeholder-js-extra"> 246var actionbardata = {"siteID":"6586643","postID":"2","siteURL":"https://hughewilliams.com","xhrURL":"https://hughewilliams.com/wp-admin/admin-ajax.php","nonce":"527e7f319a","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https://s0.wp.com/wp-content/js/wpcom-proxy-request.js?m=1513050504i&ver=20211021","shortlink":"https://wp.me/PrDub-2","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":"Copied to clipboard."}}; 247//# sourceURL=wpcom-actionbar-placeholder-js-extra 248</script>
vendor: 1 bytes, line 248
248
249<script id="jetpack-mu-wpcom-settings-js-before"> 250var 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/"}; 251//# sourceURL=jetpack-mu-wpcom-settings-js-before 252</script>
vendor: 1 bytes, line 252
252
253<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI='></script>
vendor: 1 bytes, line 253
253
254<script id="rlt-proxy-js-after"> 255 rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} ); 256//# sourceURL=rlt-proxy-js-after 257</script>
257 258<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://hughewilliams.wordpress.com/xmlrpc.php?rsd" /> 259<meta name="generator" content="WordPress.com" /> 260<link rel="canonical" href="https://hughewilliams.com/" /> 261<link rel='shortlink' href='https://wp.me/PrDub-2' /> 262<link rel="alternate" type="application/json+oembed" href="https://public-api.wordpress.com/oembed/?format=json&url=https%3A%2F%2Fhughewilliams.com%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%2Fhughewilliams.com%2F&for=wpcom-auto-discovery" /> 263<!-- Jetpack Open Graph Tags --> 264<meta property="og:type" content="website" /> 265<meta property="og:title" content="Hugh E. Williams" /> 266<meta property="og:description" content="Advisor, Tech Exec, Charity Co-Founder" /> 267<meta property="og:url" content="https://hughewilliams.com/" /> 268<meta property="og:site_name" content="Hugh E. Williams" /> 269<meta property="og:image" content="https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg" /> 270<meta property="og:image:secure_url" content="https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg" /> 271<meta property="og:image:width" content="568" /> 272<meta property="og:image:height" content="338" /> 273<meta property="og:image:alt" content="" /> 274<meta property="og:locale" content="en_US" /> 275<meta property="article:publisher" content="https://www.facebook.com/WordPresscom" /> 276<meta name="twitter:text:title" content="Hugh E. Williams" /> 277<meta name="twitter:image" content="https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=640" /> 278<meta name="twitter:card" content="summary_large_image" /> 279 280<!-- End Jetpack Open Graph Tags --> 281<link rel="shortcut icon" type="image/x-icon" href="https://s1.wp.com/i/favicon.ico?m=1713425267i" sizes="16x16 24x24 32x32 48x48" /> 282<link rel="icon" type="image/x-icon" href="https://s1.wp.com/i/favicon.ico?m=1713425267i" sizes="16x16 24x24 32x32 48x48" /> 283<link rel="apple-touch-icon" href="https://s2.wp.com/i/webclip.png?m=1713868326i" /> 284<link rel='openid.server' href='https://hughewilliams.com/?openidserver=1' /> 285<link rel='openid.delegate' href='https://hughewilliams.com/' /> 286<link rel="search" type="application/opensearchdescription+xml" href="https://hughewilliams.com/osd.xml" title="Hugh E. Williams" /> 287<link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" /> 288<meta name="theme-color" content="#e6e6e6" /> 289<meta name="description" content="Hugh Williams is an Executive Vice President at Paramount. He is also co-host of the Tech Overflow podcast and a charity board member. Hugh is a co-founder and the Chair of Australian charity Tech Futures Australia that runs the successful Code for Schools programme. In 2025, the charity supported coding classes for 191,000 students across…" /> 290 <link rel="stylesheet" id="custom-css-css" type="text/css" href="https://s1.wp.com/?custom-css=1&csblog=rDub&cscache=6&csrev=2" /> 291 <link crossorigin='anonymous' rel='stylesheet' id='all-css-2-3' href='/_static/??-eJyNjMEKgzAQBX+o9ikVYg/ipxS7LhJNdoOb4O+Xgnr2OMMw2FNFKpklI5YqhTJ7MSyc00jrwYiqgo8XwjcorQbbfeLtSWYP3D9EnUpgA42bFuNwRaf4D4fYN+5dd61z7rX8ACk+O3g=&cssminify=yes' type='text/css' media='all' /> 292 293</head> 294 295<body class="home wp-singular page-template-default page page-id-2 wp-embed-responsive wp-theme-pubtwentytwelve customizer-styles-applied full-width custom-font-enabled single-author jetpack-reblog-enabled"> 296<div id="page" class="hfeed site"> 297 <header id="masthead" class="site-header"> 298 <hgroup> 299 <h1 class="site-title"><a href="https://hughewilliams.com/" title="Hugh E. Williams" rel="home">Hugh E. Williams</a></h1> 300 <h2 class="site-description">Advisor, Tech Exec, Charity Co-Founder</h2> 301 </hgroup> 302 303 <nav id="site-navigation" class="main-navigation"> 304 <button class="menu-toggle">Menu</button> 305 <a class="assistive-text" href="#content" title="Skip to content">Skip to content</a> 306 <div class="menu-main-container"><ul id="menu-main" class="nav-menu"><li id="menu-item-1988" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1988"><a href="https://hughewilliams.wordpress.com">Home</a></li> 307<li id="menu-item-2107" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2107"><a href="https://hughewilliams.com/publications/">Publications</a></li> 308<li id="menu-item-1989" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1989"><a href="https://hughewilliams.com/shortbio/">Short Bio</a></li> 309<li id="menu-item-1992" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1992"><a href="https://hughewilliams.com/contact/">Contact</a></li> 310</ul></div> </nav><!-- #site-navigation --> 311 312 </header><!-- #masthead --> 313 314 <div id="main" class="wrapper"> 315 <div id="primary" class="site-content"> 316 <div id="content" role="main"> 317 318
319 <article id="post-2" class="post-2 page type-page status-publish hentry"> 320 <header class="entry-header"> 321 <h1 class="entry-title"></h1> 322 </header> 323 324 <div class="entry-content"> 325 <p style="text-align: left">Hugh Williams is an Executive Vice President at <a href="https://www.paramount.com/">Paramount</a>. He is also co-host of the <a href="https://techoverflowpodcast.com">Tech Overflow podcast</a> and a charity board member.</p> 326<p style="text-align: left">Hugh is a co-founder and the Chair of Australian charity <a href="http://tfa.org.au">Tech Futures Australia</a> that runs the successful <a href="https://csinschools.com">Code for Schools programme</a>. In 2025, the charity supported coding classes for 191,000 students across Australia. He is also a Chairman of <a href="https://www.toorakcollege.vic.edu.au/">Toorak College</a> and a Director of the Hugh and Selina Williams Foundation. Since 2017, Hugh has been an Honorary Professor at RMIT University.</p> 327<figure class="wp-block-image"><img data-attachment-id="1947" data-permalink="https://hughewilliams.com/bio/dsc09026/" data-orig-file="https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg" data-orig-size="3693,2201" data-comments-opened="1" data-image-meta="{"aperture":"1.8","camera":"ILCE-7SM2","created_timestamp":"1550842109","focal_length":"55","iso":"400","shutter_speed":"0.0015625","orientation":"1"}" data-image-title="DSC09026" data-image-description="" data-image-caption="" data-large-file="https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=3693" class="wp-image-1947 aligncenter" src="https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=568&h=338" alt="" width="568" height="338" srcset="https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=568&h=339 568w, https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=1136&h=677 1136w, https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=128&h=76 128w, https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=300&h=179 300w, https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=768&h=458 768w, https://hughewilliams.com/wp-content/uploads/2019/05/dsc09026.jpg?w=1024&h=610 1024w" sizes="(max-width: 568px) 100vw, 568px" /></figure> 328<p style="text-align: left">From 2017 to 2025, Hugh was as an advisor and interim executive with many companies including <a href="https://asos.com">ASOS</a> (UK), <a href="http://doordash.com">Doordash</a> (US), and <a href="https://ocadotechnology.com">Ocado Technology</a> (UK). Prior to 2017, he was a Vice President at Google and eBay, a Senior Vice President at Pivotal, and a Partner at Microsoft. Earlier, he spent over 10 years researching and developing search technologies, and 5 years running his own startup and consultancy.</p> 329<p style="text-align: left">He is one of the <a href="https://hughewilliams.com/2012/03/06/ideas-and-invention-and-the-story-of-bings-image-search/">inventors of Infinite Scroll</a> and he holds 38 US patents with another 41 US patents pending. In recognition, he was recently elected as a Fellow of the US National Academy of Inventors.</p> 330<p style="text-align: left">Hugh has <a href="https://hughewilliams.com/publications">published 115 works</a>, mostly in the field of Information Retrieval. He is the author of two books, including a <a href="https://www.oreilly.com/library/view/web-database-applications/0596005431/">best-seller on programming</a> that sold over 100,000 copies. According to Google Scholar, his H-index is 40 and his works have been cited over 6,000 times. Hugh has a PhD in Computer Science from RMIT University in Australia.</p> 331<p style="text-align: left">Outside of work, Hugh is a fan of the <a href="http://mariners.com">Seattle Mariners</a>, a 30-year <a href="http://www.richmondfc.com.au/">Richmond Tigers</a> member, and a <a href="https://www.qpr.co.uk/">Queens Park Rangers</a> supporter. He was once the drummer in <a href="https://www.abc.net.au/doublej/music-reads/features/snout-were-masters-of-peculiar-pop-through-the-90s-what-happened/10267904">Snout</a> and played on the album <a href="https://www.cheersquad.com.au/releases/snout-whats-that-sound/">What’s That Sound that is available on vinyl</a>.</p> 332<p style="text-align: left">If you’re interested in Hugh’s background, visit his<a href="https://www.linkedin.com/in/hughewilliams/"> linkedin profile</a>.</p>
333<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-official sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a href="https://twitter.com/share" class="twitter-share-button" data-url="https://hughewilliams.com/" data-text="" data-related="wordpressdotcom">Tweet</a></li><li class="share-facebook"><div class="fb-share-button" data-href="https://hughewilliams.com/" data-layout="button_count"></div></li><li class="share-linkedin"><div class="linkedin_button">
333<script type="in/share" data-url="https://hughewilliams.com/" data-counter="right"></script>
333</div></li><li class="share-email"><a rel="nofollow noopener noreferrer" 334 data-shared="sharing-email-2" 335 class="share-email sd-button" 336 href="mailto:?subject=%5BShared%20Post%5D%20&body=https%3A%2F%2Fhughewilliams.com%2F&share=email" 337 target="_blank" 338 aria-labelledby="sharing-email-2" 339 data-email-share-error-title="Do you have email set up?" data-email-share-error-text="If you're having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself." data-email-share-nonce="6bee9b42a2" data-email-share-track-url="https://hughewilliams.com/?share=email"> 340 <span id="sharing-email-2" hidden>Email a link to a friend (Opens in new window)</span> 341 <span>Email</span> 342 </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-6586643-2-6abecb3e6414d' data-src='//widgets.wp.com/likes/index.html?ver=20261001#blog_id=6586643&post_id=2&origin=hughewilliams.wordpress.com&obj_id=6586643-2-6abecb3e6414d&domain=hughewilliams.com' data-name='like-post-frame-6586643-2-6abecb3e6414d' 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> </div><!-- .entry-content --> 343 <footer class="entry-meta"> 344 </footer><!-- .entry-meta --> 345 </article><!-- #post --> 346 347<div id="comments" class="comments-area"> 348 349 350 <h2 class="comments-title"> 351 1 thought on “<span></span>” </h2> 352 353 <ol class="commentlist"> 354 <li class="pingback even thread-even depth-1" id="comment-1285"> 355 <p>Pingback: <a href="http://jeffplumb.com/2013/05/15/variable-byte-integer-encoding/" class="url" rel="ugc external nofollow">Variable Byte Integer Encoding | Jeff Plumb</a> </p> 356 </li><!-- #comment-## --> 357 </ol><!-- .commentlist --> 358 359 360 361 362 <div id="respond" class="comment-respond"> 363 <h3 id="reply-title" class="comment-reply-title">Leave a comment</h3><form action="https://hughewilliams.com/wp-comments-post.php" method="post" id="commentform" class="comment-form"> 364 365 366<div class="comment-form__verbum transparent"></div><div class="verbum-form-meta"><input type='hidden' name='comment_post_ID' value='2' id='comment_post_ID' /> 367<input type='hidden' name='comment_parent' id='comment_parent' value='0' /> 368 369 <input type="hidden" name="highlander_comment_nonce" id="highlander_comment_nonce" value="40ce012325" /> 370 <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="088270a3d5" /></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="21"/>
370<script> 371document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); 372</script>
372 373</p></form> </div><!-- #respond --> 374 375</div><!-- #comments .comments-area --> 376 377 </div><!-- #content --> 378 </div><!-- #primary --> 379 380 381 </div><!-- #main .wrapper --> 382 <footer id="colophon" role="contentinfo"> 383 <div class="site-info"> 384 <a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog at WordPress.com.</a> 385 </div><!-- .site-info --> 386 </footer><!-- #colophon --> 387</div><!-- #page --> 388 389<!-- -->
390<script type="speculationrules"> 391{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/files/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/pub/twentytwelve/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 392</script>
392 393 <div style="display:none"> 394 </div> 395 <div id="actionbar" dir="ltr" style="display: none;" 396 class="actnbr-pub-twentytwelve" role="region" aria-label="Site actions"> 397 <span class="actnbr-live" aria-live="polite"></span> 398 <ul> 399 <li class="actnbr-btn actnbr-hidden"> 400 <a class="actnbr-action actnbr-actn-follow " href="" role="button" aria-haspopup="dialog" aria-expanded="false"> 401 <svg class="actnbr-icon actnbr-icon-bell" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z"/></svg> <span>Subscribe</span> 402 </a> 403 <a class="actnbr-action actnbr-actn-following no-display" href="" role="button"> 404 <svg class="actnbr-icon actnbr-icon-check" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" style="fill: none" stroke="currentColor" stroke-width="1.5"><path d="M7 12L10 15L17 8" vector-effect="non-scaling-stroke"/></svg> <span>Subscribed</span> 405 </a> 406 <div class="actnbr-popover actnbr-panel actnbr-notice" id="follow-bubble" role="dialog" aria-label="Subscribe to Hugh E. Williams"> 407 <div class="actnbr-follow-bubble"> 408 <div class="actnbr-panel__group"><a class="actnbr-menu__item actnbr-sitename" href="https://hughewilliams.com"><img loading='lazy' alt='' src='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png?m=1479929237i' srcset='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png 1x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">Hugh E. Williams</span></a></div> <div class="actnbr-panel__group"> 409 <div class="actnbr-message no-display" aria-live="polite"></div> 410 <form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" class="no-display"> 411 <div class="actnbr-follow-count">Join 208 other subscribers</div> 412 <input type="email" name="email" placeholder="Want updates? Enter your email" class="actnbr-email-field" aria-label="Email address" /> 413 <input type="hidden" name="action" value="subscribe" /> 414 <input type="hidden" name="blog_id" value="6586643" /> 415 <input type="hidden" name="source" value="https://hughewilliams.com/" /> 416 <input type="hidden" name="sub-type" value="actionbar-follow" /> 417 <input type="hidden" id="_wpnonce" name="_wpnonce" value="f194a8ae09" /> <button type="submit" class="actnbr-button">Sign me up</button> 418 </form> 419 <p class="actnbr-login-nudge"> 420 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%252Fhughewilliams.com%252F">Log in now.</a> </p> 421 </div> 422 </div> 423 </div> 424 </li> 425 <li class="actnbr-ellipsis actnbr-hidden"> 426 <button type="button" class="actnbr-more-toggle" aria-haspopup="true" aria-expanded="false" aria-label="More options"> 427 <svg class="actnbr-icon actnbr-icon-more-horizontal" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path d="M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z"/></svg> </button> 428 <div class="actnbr-popover actnbr-menu" role="menu" aria-label="Site options"> 429 <div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-sitename" href="https://hughewilliams.com"><img loading='lazy' alt='' src='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png?m=1479929237i' srcset='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png 1x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">
429Hugh E. Williams</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-shortlink" href="https://wp.me/PrDub-2"><span class="actnbr-menu__label actnbr-shortlink__text">Copy shortlink</span><span class="actnbr-menu__icon actnbr-shortlink__icon"><svg class="actnbr-icon actnbr-icon-copy" width="18" height="18" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z"/></svg></span><span class="actnbr-menu__icon actnbr-shortlink__icon-copied"><svg class="actnbr-icon actnbr-icon-check" width="18" height="18" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" style="fill: none" stroke="currentColor" stroke-width="1.5"><path d="M7 12L10 15L17 8" vector-effect="non-scaling-stroke"/></svg></span></a><a role="menuitem" class="actnbr-menu__item actnbr-reader" href="https://wordpress.com/reader/blogs/6586643/posts/2"><span class="actnbr-menu__label">View post in Reader</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-subs" href="https://subscribe.wordpress.com/"><span class="actnbr-menu__label">Manage subscriptions</span></a><a role="menuitem" class="actnbr-menu__item actnbr-signup" href="https://wordpress.com/start/"><span class="actnbr-menu__label">Sign up</span></a><a role="menuitem" class="actnbr-menu__item actnbr-login" href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fhughewilliams.com%252F"><span class="actnbr-menu__label">Log in</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item flb-report" href="https://wordpress.com/abuse/?report_url=https://hughewilliams.com/" target="_blank" rel="noopener noreferrer"><span class="actnbr-menu__label">Report this content</span><span class="actnbr-menu__icon"><svg class="actnbr-icon actnbr-icon-external" width="18" height="18" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path d="M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z"/></svg></span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-fold" href=""><span class="actnbr-menu__label">Collapse this bar</span></a></div> </div> 430 </li> 431 </ul> 432 </div> 433
433<script> 434window.addEventListener( "DOMContentLoaded", function () { 435 var link = document.createElement( "link" ); 436 link.href = "\/wp-content\/mu-plugins\/jetpack-plugin\/moon\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.css?ver=33ad88c8b02f7d5bc6d2"; 437 link.rel = "stylesheet"; 438 document.head.appendChild( link ); 439 440 var script = document.createElement( "script" ); 441 script.src = "\/wp-content\/mu-plugins\/jetpack-plugin\/moon\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.js?ver=33ad88c8b02f7d5bc6d2"; 442 document.body.appendChild( script ); 443 } ); 444</script>
444 445<link rel="prefetch" href="/wp-content/mu-plugins/jetpack-plugin/moon/_inc/blocks/swiper.js" as="script" /> 446 <div id="jp-carousel-loading-overlay" style="display: none;"> 447 <div id="jp-carousel-loading-wrapper"> 448 <span id="jp-carousel-library-loading"><svg class="jetpack-spinner" width="40" height="40" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indefinite"/></path></svg></span> 449 </div> 450 </div> 451 <div class="jp-carousel-overlay" style="display: none;"> 452 453 <div class="jp-carousel-container"> 454 <!-- The Carousel Swiper --> 455 <div 456 class="jp-carousel-wrap swiper jp-carousel-swiper-container jp-carousel-transitions" 457 itemscope 458 itemtype="https://schema.org/ImageGallery"> 459 <div class="jp-carousel swiper-wrapper"></div> 460 <div class="jp-swiper-button-prev swiper-button-prev"> 461 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 462 <mask id="maskPrev" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="9" height="12"> 463 <path d="M16.2072 16.59L11.6496 12L16.2072 7.41L14.8041 6L8.8335 12L14.8041 18L16.2072 16.59Z" fill="white"/> 464 </mask> 465 <g mask="url(#maskPrev)"> 466 <rect x="0.579102" width="23.8823" height="24" fill="#FFFFFF"/> 467 </g> 468 </svg> 469 </div> 470 <div class="jp-swiper-button-next swiper-button-next"> 471 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 472 <mask id="maskNext" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="8" height="12"> 473 <path d="M8.59814 16.59L13.1557 12L8.59814 7.41L10.0012 6L15.9718 12L10.0012 18L8.59814 16.59Z" fill="white"/> 474 </mask> 475 <g mask="url(#maskNext)"> 476 <rect x="0.34375" width="23.8822" height="24" fill="#FFFFFF"/> 477 </g> 478 </svg> 479 </div> 480 </div> 481 <!-- The main close buton --> 482 <div class="jp-carousel-close-hint"> 483 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 484 <mask id="maskClose" mask-type="alpha" maskUnits="userSpaceOnUse" x="5" y="5" width="15" height="14"> 485 <path d="M19.3166 6.41L17.9135 5L12.3509 10.59L6.78834 5L5.38525 6.41L10.9478 12L5.38525 17.59L6.78834 19L12.3509 13.41L17.9135 19L19.3166 17.59L13.754 12L19.3166 6.41Z" fill="white"/> 486 </mask> 487 <g mask="url(#maskClose)"> 488 <rect x="0.409668" width="23.8823" height="24" fill="#FFFFFF"/> 489 </g> 490 </svg> 491 </div> 492 <!-- Image info, comments and meta --> 493 <div class="jp-carousel-info"> 494 <div class="jp-carousel-info-footer"> 495 <div class="jp-carousel-pagination-container"> 496 <div class="jp-swiper-pagination swiper-pagination"></div> 497 <div class="jp-carousel-pagination"></div> 498 </div> 499 <div class="jp-carousel-photo-title-container"> 500 <div class="jp-carousel-photo-caption"></div> 501 </div> 502 <div class="jp-carousel-photo-icons-container"> 503 <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-info" aria-label="Toggle photo metadata visibility"> 504 <span class="jp-carousel-icon"> 505 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 506 <mask id="maskInfo" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> 507 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.7537 2C7.26076 2 2.80273 6.48 2.80273 12C2.80273 17.52 7.26076 22 12.7537 22C18.2466 22 22.7046 17.52 22.7046 12C22.7046 6.48 18.2466 2 12.7537 2ZM11.7586 7V9H13.7488V7H11.7586ZM11.7586 11V17H13.7488V11H11.7586ZM4.79292 12C4.79292 16.41 8.36531 20 12.7537 20C17.142 20 20.7144 16.41 20.7144 12C20.7144 7.59 17.142 4 12.7537 4C8.36531 4 4.79292 7.59 4.79292 12Z" fill="white"/> 508 </mask> 509 <g mask="url(#maskInfo)"> 510 <rect x="0.8125" width="23.8823" height="24" fill="#FFFFFF"/> 511 </g> 512 </svg> 513 </span> 514 </a> 515 <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-comments" aria-label="Toggle photo comments visibility"> 516 <span class="jp-carousel-icon"> 517 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 518 <mask id="maskComments" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> 519 <path fill-rule="evenodd" clip-rule="evenodd" d="M4.3271 2H20.2486C21.3432 2 22.2388 2.9 22.2388 4V16C22.2388 17.1 21.3432 18 20.2486 18H6.31729L2.33691 22V4C2.33691 2.9 3.2325 2 4.3271 2ZM6.31729 16H20.2486V4H4.3271V18L6.31729 16Z" fill="white"/> 520 </mask> 521 <g mask="url(#maskComments)"> 522 <rect x="0.34668" width="23.8823" height="24" fill="#FFFFFF"/> 523 </g> 524 </svg> 525 526 <span class="jp-carousel-has-comments-indicator" aria-label="This image has comments."></span> 527 </span> 528 </a> 529 </div>
530 </div> 531 <div class="jp-carousel-info-extra"> 532 <div class="jp-carousel-info-content-wrapper"> 533 <div class="jp-carousel-photo-title-container"> 534 <div class="jp-carousel-photo-title"></div> 535 </div> 536 <div class="jp-carousel-comments-wrapper"> 537 <div id="jp-carousel-comments-loading"> 538 <span>Loading Comments...</span> 539 </div> 540 <div class="jp-carousel-comments"></div> 541 <div id="jp-carousel-comment-form-container"> 542 <span id="jp-carousel-comment-form-spinner"><svg class="jetpack-spinner" width="20" height="20" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indefinite"/></path></svg></span> 543 <div id="jp-carousel-comment-post-results"></div> 544 <form id="jp-carousel-comment-form"> 545 <label for="jp-carousel-comment-form-comment-field" class="screen-reader-text">Write a Comment...</label> 546 <textarea 547 name="comment" 548 class="jp-carousel-comment-form-field jp-carousel-comment-form-textarea" 549 id="jp-carousel-comment-form-comment-field" 550 placeholder="Write a Comment..." 551 ></textarea> 552 <div id="jp-carousel-comment-form-submit-and-info-wrapper"> 553 <div id="jp-carousel-comment-form-commenting-as"> 554 <fieldset> 555 <label for="jp-carousel-comment-form-email-field">Email (Required)</label> 556 <input type="text" name="email" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-email-field" /> 557 </fieldset> 558 <fieldset> 559 <label for="jp-carousel-comment-form-author-field">Name (Required)</label> 560 <input type="text" name="author" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-author-field" /> 561 </fieldset> 562 <fieldset> 563 <label for="jp-carousel-comment-form-url-field">Website</label> 564 <input type="text" name="url" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-url-field" /> 565 </fieldset> 566 </div> 567 <input 568 type="submit" 569 name="submit" 570 class="jp-carousel-comment-form-button" 571 id="jp-carousel-comment-form-button-submit" 572 value="Post Comment" /> 573 </div> 574 </form> 575 </div> 576 </div> 577 <div class="jp-carousel-image-meta"> 578 <div class="jp-carousel-title-and-caption"> 579 <div class="jp-carousel-photo-info"> 580 <div class="jp-carousel-caption" itemprop="caption description"></div> 581 </div> 582 583 <div class="jp-carousel-photo-description"></div> 584 </div> 585 <a class="jp-carousel-image-download" href="#" aria-label="Download image" target="_blank" style="display: none;"> 586 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 587 <mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="3" y="3" width="19" height="18"> 588 <path fill-rule="evenodd" clip-rule="evenodd" d="M5.84615 5V19H19.7775V12H21.7677V19C21.7677 20.1 20.8721 21 19.7775 21H5.84615C4.74159 21 3.85596 20.1 3.85596 19V5C3.85596 3.9 4.74159 3 5.84615 3H12.8118V5H5.84615ZM14.802 5V3H21.7677V10H19.7775V6.41L9.99569 16.24L8.59261 14.83L18.3744 5H14.802Z" fill="white"/> 589 </mask> 590 <g mask="url(#mask0)"> 591 <rect x="0.870605" width="23.8823" height="24" fill="#FFFFFF"/> 592 </g> 593 </svg> 594 <span class="jp-carousel-download-text"></span> 595 </a> 596 <div class="jp-carousel-image-map" style="display: none;"></div> 597 </div> 598 </div>
599 </div> 600 </div> 601 </div> 602 603 </div> 604 605
605<script type="text/javascript"> 606 window.WPCOM_sharing_counts = {"https://hughewilliams.com/":2}; 607 </script>
607 608
608<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
608 609 <div id="fb-root"></div> 610
610<script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&appId=249643311490&version=v2.3'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>
610 611
611<script> 612 document.body.addEventListener( 'is.post-load', function() { 613 if ( 'undefined' !== typeof FB ) { 614 FB.XFBML.parse(); 615 } 616 } ); 617 </script>
617 618
618<script type="text/javascript"> 619 ( function () { 620 var currentScript = document.currentScript; 621 622 // Helper function to load an external script. 623 function loadScript( url, cb ) { 624 var script = document.createElement( 'script' ); 625 var prev = currentScript || document.getElementsByTagName( 'script' )[ 0 ]; 626 script.setAttribute( 'async', true ); 627 script.setAttribute( 'src', url ); 628 prev.parentNode.insertBefore( script, prev ); 629 script.addEventListener( 'load', cb ); 630 } 631 632 function init() { 633 loadScript( 'https://platform.linkedin.com/in.js?async=true', function () { 634 if ( typeof IN !== 'undefined' ) { 635 IN.init(); 636 } 637 } ); 638 } 639 640 if ( document.readyState === 'loading' ) { 641 document.addEventListener( 'DOMContentLoaded', init ); 642 } else { 643 init(); 644 } 645 646 document.body.addEventListener( 'is.post-load', function() { 647 if ( typeof IN !== 'undefined' ) { 648 IN.parse(); 649 } 650 } ); 651 } )(); 652 </script>
652 653 654
654<script type="text/javascript"> 655 (function () { 656 var wpcom_reblog = { 657 source: 'toolbar', 658 659 toggle_reblog_box_flair: function (obj_id, post_id) { 660 661 // Go to site selector. This will redirect to their blog if they only have one. 662 const postEndpoint = `https://wordpress.com/post`; 663 664 // Ideally we would use the permalink here, but fortunately this will be replaced with the 665 // post permalink in the editor. 666 const originalURL = `${ document.location.href }?page_id=${ post_id }`; 667 668 const url = 669 postEndpoint + 670 '?url=' + 671 encodeURIComponent( originalURL ) + 672 '&is_post_share=true' + 673 '&v=5'; 674 675 const redirect = function () { 676 if ( 677 ! window.open( url, '_blank' ) 678 ) { 679 location.href = url; 680 } 681 }; 682 683 if ( /Firefox/.test( navigator.userAgent ) ) { 684 setTimeout( redirect, 0 ); 685 } else { 686 redirect(); 687 } 688 }, 689 }; 690 691 window.wpcom_reblog = wpcom_reblog; 692 })(); 693 </script>
vendor: 1 bytes, line 693
693
694<script crossorigin='anonymous' type='text/javascript' src='/wp-content/mu-plugins/likes/queuehandler.js?m=1741961244i'></script>
vendor: 1 bytes, line 694
694
695<script id="wp-hooks-js" src="/wp-content/plugins/gutenberg-core/v24.1.0/build/scripts/hooks/index.min.js?m=1790763666i&ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 695
695
696<script id="wp-i18n-js" src="/wp-content/plugins/gutenberg-core/v24.1.0/build/scripts/i18n/index.min.js?m=1790763666i&ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 696
696
697<script id="wp-i18n-js-after"> 698wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 699//# sourceURL=wp-i18n-js-after 700</script>
vendor: 1 bytes, line 700
700
701<script id="verbum-settings-js-before"> 702window.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 Hugh E. Williams","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":6586643,"postId":2,"mustLogIn":false,"requireNameEmail":true,"commentRegistration":false,"connectURL":"https://hughewilliams.wordpress.com/public.api/connect/?action=request\u0026domain=hughewilliams.com","logoutURL":"https://hughewilliams.wordpress.com/wp-login.php?action=logout\u0026_wpnonce=9e07f72170","homeURL":"https://hughewilliams.com/","subscribeToBlog":true,"subscribeToComment":true,"isJetpackCommentsLoggedIn":false,"jetpackUsername":"","jetpackUserId":0,"jetpackSignature":"","jetpackAvatar":"https://0.gravatar.com/avatar/?s=96\u0026amp;d=identicon","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":"4360ddb7d2","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":1789740582,"iframeUniqueId":0,"colorScheme":false} 703//# sourceURL=verbum-settings-js-before 704</script>
vendor: 1 bytes, line 704
704
705<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>
vendor: 1 bytes, line 705
705
706<script id="jetpack-carousel-js-extra"> 707var jetpackSwiperLibraryPath = {"url":"/wp-content/mu-plugins/jetpack-plugin/moon/_inc/blocks/swiper.js"}; 708var jetpackCarouselStrings = {"widths":[370,700,1000,1200,1400,2000],"is_logged_in":"","lang":"en","ajaxurl":"https://hughewilliams.com/wp-admin/admin-ajax.php","nonce":"41f93483e0","display_exif":"1","display_comments":"1","single_image_gallery":"1","single_image_gallery_media_file":"","background_color":"black","comment":"Comment","post_comment":"Post Comment","write_comment":"Write a Comment...","loading_comments":"Loading Comments...","image_label":"Open image in full-screen.","download_original":"View full size \u003Cspan class=\"photo-size\"\u003E{0}\u003Cspan class=\"photo-size-times\"\u003E\u00d7\u003C/span\u003E{1}\u003C/span\u003E","no_comment_text":"Please be sure to submit some text with your comment.","no_comment_email":"Please provide an email address to comment.","no_comment_author":"Please provide your name to comment.","comment_post_error":"Sorry, but there was an error posting your comment. Please try again later.","comment_approved":"Your comment was approved.","comment_unapproved":"Your comment is in moderation.","camera":"Camera","aperture":"Aperture","shutter_speed":"Shutter Speed","focal_length":"Focal Length","copyright":"Copyright","comment_registration":"0","require_name_email":"1","login_url":"https://hughewilliams.wordpress.com/wp-login.php?redirect_to=https%3A%2F%2Fhughewilliams.com%2F","blog_id":"6586643","meta_data":["camera","aperture","shutter_speed","focal_length","copyright"],"stats_query_args":"blog=6586643&v=wpcom&tz=-7&user_id=0&subd=hughewilliams","is_public":"1"}; 709//# sourceURL=jetpack-carousel-js-extra 710</script>
vendor: 1 bytes, line 710
710
711<script id="sharing-js-js-extra"> 712var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"}; 713//# sourceURL=sharing-js-js-extra 714</script>
vendor: 1 bytes, line 714
714
715<script id="jetpack-script-data-js-before"> 716window.JetpackScriptData = {"site":{"host":"wpcom","is_wpcom_platform":true}}; 717//# sourceURL=jetpack-script-data-js-before 718</script>
vendor: 1 bytes, line 718
718
719<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJydkNFqwzAMRX9ojrIV1vVh7FOKamup0lg2lpzQv19ok1D2UMZehHWkq8s1TNn5JEZiYGeKpJDrCWyawXWuw0jQKwiO3KFxkqbXF3gQxeryUDsWhZ4so7+4GU3Zp7gMIKYk6/A4koRUAKuliGbsNxmqkimcKg9hg+oLZ3MBDf/g/Gh4ZPHLMY8lVaVh21tBE/lZILywRjK3a9r7uRV8l9tyeKJdLe5f8av9fxQ9Y6GAIVxvT5ZuyfAVP1/3h/ajfTu87/sf5bGxXA=='></script>
vendor: 1 bytes, line 719
719
720<script id="sharing-js-js-after"> 721window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {}; 722window.WPCOM_sharing_popups[ "facebook" ] = "menubar=1,resizable=1,width=600,height=400"; 723//# sourceURL=sharing-js-js-after 724</script>
vendor: 1 bytes, line 724
724
725<script id="wp-emoji-settings" type="application/json"> 726{"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.2-alpha-63525"}} 727</script>
vendor: 1 bytes, line 727
727
728<script type="module"> 729/*! This file is auto-generated */ 730var 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)))}); 731//# sourceURL=/wp-includes/js/wp-emoji-loader.min.js 732</script>
732 733 <iframe src='https://widgets.wp.com/likes/master.html?ver=20261001#ver=20261001' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe> 734 <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> 735
735<script src="//stats.wp.com/w.js?69" defer></script>
735
735<script type="text/javascript"> 736_tkq = window._tkq || []; 737_stq = window._stq || []; 738_tkq.push(['storeContext', {'blog_id':'6586643','blog_tz':'-7','user_lang':'en','blog_lang':'en','user_id':'0'}]); 739 // Prevent sending pageview tracking from WP-Admin pages. 740 _stq.push(['view', {'blog':'6586643','v':'wpcom','tz':'-7','user_id':'0','post':'2','subd':'hughewilliams'}]); 741 _stq.push(['extra', {'crypt':'UE5tW3cvZGQ/JUs1UEpSdi1BRVlaLixtWWVadTAwLTFrNG9mU0c9K0tmZ0dkM1lSbGtYTGlEMSssVEhZM0pRJTBMZktaMzIscyVUPWNvd0xvSGhXdVZOQjM1Mk42eVFMUHNlLnRSU1dDUkdLMDF4MnhnLT8vPXVHYzFsMn5QaW8tRHFyeStmP1gwJUdyVE5pLix6ZTgxQXd2WEJva1pQaWx6WXRzJXVWaFNubGNZQ0YtP1I/SGdmWHg4dUl3WFpSR2tiSjRLW00='}]); 742_stq.push([ 'clickTrackerInit', '6586643', '2' ]); 743</script>
743 744<noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript> 745<meta id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="America/Los_Angeles" data-custom-props="{"enq_jquery":"1","logged_in":"0","wptheme":"pub\/twentytwelve","wptheme_is_block":"0"}" > 746
746<script defer src="/wp-content/js/bilmur.min.js?i=19&m=202640"></script>
746
747<script> 748(function() { 749 'use strict'; 750 751 const fetches = {}; 752 const promises = {}; 753 const urls = { 754 'wp-polyfill': '/wp-includes/js/dist/vendor/wp-polyfill.min.js?m=1786440387i&ver=3.15.0', 755 'verbum': '/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/moon/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/verbum-comments/verbum-comments.js?m=1790802967i&minify=false&ver=03e9edda7ccdfe9a67c4' 756 }; 757 const loaders = { 758 'verbum': () => { 759 fetchExternalScript('wp-polyfill'); 760 fetchExternalScript('verbum'); 761 promises['wp-polyfill'] = promises['wp-polyfill'] || loadWPScript('wp-polyfill'); 762 promises['verbum'] = promises['verbum'] || promises['wp-polyfill'].then( () => loadWPScript('verbum') ); 763 return promises['verbum']; 764 }, 765 766 }; 767 const scriptExtras = { 768 769 }; 770 771 window.WP_Enqueue_Dynamic_Script = { 772 loadScript: (handle) => { 773 if (!loaders[handle]) { 774 console.error('WP_Enqueue_Dynamic_Script: unregistered script `' + handle + '`.'); 775 } 776 return loaders[handle](); 777 } 778 }; 779 780 function fetchExternalScript(handle) { 781 if (!urls[handle]) { 782 return Promise.resolve(); 783 } 784 785 fetches[handle] = fetches[handle] || fetch(urls[handle], { mode: 'no-cors' }); 786 return fetches[handle]; 787 } 788 789 function runExtraScript(handle, type, index) { 790 const id = 'wp-enqueue-dynamic-script:' + handle + ':' + type + ':' + (index + 1); 791 const template = document.getElementById(id); 792 if (!template) { 793 return Promise.reject(); 794 } 795 796 const script = document.createElement( 'script' ); 797 script.innerHTML = template.innerHTML; 798 document.body.appendChild( script ); 799 return Promise.resolve(); 800 } 801 802 function loadExternalScript(handle) { 803 if (!urls[handle]) { 804 return Promise.resolve(); 805 } 806 807 return fetches[handle].then(() => { 808 return new Promise((resolve, reject) => { 809 const script = document.createElement('script'); 810 script.onload = () => resolve(); 811 script.onerror = (e) => reject(e); 812 script.src = urls[handle]; 813 document.body.appendChild(script); 814 }); 815 }); 816 } 817 818 function loadExtra(handle, pos) { 819 const count = (scriptExtras[handle] && scriptExtras[handle][pos]) || 0; 820 let promise = Promise.resolve(); 821 822 for (let i = 0; i < count; i++) { 823 promise = promise.then(() => runExtraScript(handle, pos, i)); 824 } 825 826 return promise; 827 } 828 829 function loadWPScript(handle) { 830 // Core loads scripts in this order. See: https://github.com/WordPress/WordPress/blob/a59eb9d39c4fcba834b70c9e8dfd64feeec10ba6/wp-includes/class-wp-scripts.php#L428. 831 return loadExtra(handle, 'translations') 832 .then(() => loadExtra(handle, 'before')) 833 .then(() => loadExternalScript(handle)) 834 .then(() => loadExtra(handle, 'after')); 835 } 836} )(); 837</script>
837 838</body> 839</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.