1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1"> 6<link rel="profile" href="http://gmpg.org/xfn/11"> 7<link rel="pingback" href="https://andy.xyz/xmlrpc.php"> 8 9<title>Speaking – Andy.xyz</title>
10<script type="text/javascript"> 11 WebFontConfig = {"google":{"families":["Noto+Sans:r,i,b,bi:latin,latin-ext","Space+Mono:r:latin,latin-ext"]},"api_url":"https:\/\/fonts-api.wp.com\/css"}; 12 (function() { 13 var wf = document.createElement('script'); 14 wf.src = '/wp-content/plugins/custom-fonts/js/webfont.js'; 15 wf.type = 'text/javascript'; 16 wf.async = 'true'; 17 var s = document.getElementsByTagName('script')[0]; 18 s.parentNode.insertBefore(wf, s); 19 })(); 20</script>
20<style id="jetpack-custom-fonts-css">.wf-active body, .wf-active button, .wf-active input, .wf-active select, .wf-active textarea{font-family:"Noto Sans",sans-serif}.wf-active .hentry div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post-title{font-family:"Noto Sans",sans-serif}.wf-active .widget_authors > ul > li > a{font-family:"Noto Sans",sans-serif}.wf-active h1, .wf-active h2:not(site-description):not(.author-title), .wf-active h3, .wf-active h4, .wf-active h5, .wf-active h6{font-family:"Space Mono",monospace;font-weight:400;font-style:normal}.wf-active h1{font-style:normal;font-weight:400}.wf-active h2:not(site-description):not(.author-title){font-style:normal;font-weight:400}.wf-active h3{font-style:normal;font-weight:400}.wf-active h4{font-style:normal;font-weight:400}.wf-active h5{font-style:normal;font-weight:400}.wf-active h6{font-style:normal;font-weight:400}.wf-active .post-navigation .post-title{font-family:"Space Mono",monospace;font-weight:400;font-style:normal}.wf-active .widget-title, .wf-active .widgettitle{font-style:normal;font-weight:400}.wf-active .site-title{font-style:normal;font-weight:400}.wf-active .site-description{font-style:normal;font-weight:400}.wf-active .featured-content .entry-title{font-style:normal;font-weight:400}.wf-active .page-title{font-style:normal;font-weight:400}.wf-active .archive .hentry .entry-title, .wf-active .blog .hentry .entry-title, .wf-active .search .hentry .entry-title{font-style:normal;font-weight:400}.wf-active .page .entry-title, .wf-active .single .entry-title{font-style:normal;font-weight:400}.wf-active .author-info .author-name{font-style:normal;font-weight:400}.wf-active .comment-reply-title, .wf-active .comments-title, .wf-active .no-comments{font-style:normal;font-weight:400}.wf-active .no-comments{font-family:"Space Mono",monospace;font-weight:400;font-style:normal}.wf-active .comment-author{font-family:"Space Mono",monospace;font-weight:400;font-style:normal}.wf-active .hentry div#jp-relatedposts h3.jp-relatedposts-headline{font-family:"Space Mono",monospace;font-weight:400;font-style:normal}.wf-active .widget-grofile h4{font-style:normal;font-weight:400}@media screen and (min-width: 768px){.wf-active .site-title{font-style:normal;font-weight:400}}.wf-active .aboutme_widget #am_name{font-style:normal;font-weight:400}.wf-active .aboutme_widget #am_headline{font-style:normal;font-weight:400}</style> 21<meta name='robots' content='max-image-preview:large' /> 22 23<!-- Async WordPress.com Remote Login -->
24<script id="wpcom_remote_login_js"> 25var wpcom_remote_login_extra_auth = ''; 26function wpcom_remote_login_remove_dom_node_id( element_id ) { 27 var dom_node = document.getElementById( element_id ); 28 if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); } 29} 30function wpcom_remote_login_remove_dom_node_classes( class_name ) { 31 var dom_nodes = document.querySelectorAll( '.' + class_name ); 32 for ( var i = 0; i < dom_nodes.length; i++ ) { 33 dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] ); 34 } 35} 36function wpcom_remote_login_final_cleanup() { 37 wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" ); 38 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); 39 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" ); 40 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" ); 41 wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" ); 42 wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" ); 43} 44 45// Watch for messages back from the remote login 46window.addEventListener( "message", function( e ) { 47 if ( e.origin === "https://r-login.wordpress.com" ) { 48 var data = {}; 49 try { 50 data = JSON.parse( e.data ); 51 } catch( e ) { 52 wpcom_remote_login_final_cleanup(); 53 return; 54 } 55 56 if ( data.msg === 'LOGIN' ) { 57 // Clean up the login check iframe 58 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); 59 60 var id_regex = new RegExp( /^[0-9]+$/ ); 61 var token_regex = new RegExp( /^.*|.*|.*$/ ); 62 if ( 63 token_regex.test( data.token ) 64 && id_regex.test( data.wpcomid ) 65 ) { 66 // We have everything we need to ask for a login 67 var script = document.createElement( "script" ); 68 script.setAttribute( "id", "wpcom_remote_login_validate" ); 69 script.src = '/remote-login.php?wpcom_remote_login=validate' 70 + '&wpcomid=' + data.wpcomid 71 + '&token=' + encodeURIComponent( data.token ) 72 + '&host=' + window.location.protocol 73 + '//' + window.location.hostname 74 + '&postid=7850' 75 + '&is_singular='; 76 document.body.appendChild( script ); 77 } 78 79 return; 80 } 81 82 // Safari ITP, not logged in, so redirect 83 if ( data.msg === 'LOGIN-REDIRECT' ) { 84 window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href; 85 return; 86 } 87 88 // Safari ITP, storage access failed, remove the request 89 if ( data.msg === 'LOGIN-REMOVE' ) { 90 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; } }'; 91 var style_zap = document.createElement( 'style' ); 92 style_zap.type = 'text/css'; 93 style_zap.appendChild( document.createTextNode( css_zap ) ); 94 document.body.appendChild( style_zap ); 95 96 var e = document.getElementById( 'wpcom_request_access_iframe' ); 97 e.parentNode.removeChild( e ); 98 99 document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000'; 100 101 return; 102 } 103 104 // Safari ITP 105 if ( data.msg === 'REQUEST_ACCESS' ) { 106 console.log( 'request access: safari' ); 107 108 // Check ITP iframe enable/disable knob 109 if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) { 110 return; 111 } 112 113 // If we are in a "private window" there is no ITP. 114 var private_window = false; 115 try { 116 var opendb = window.openDatabase( null, null, null, null ); 117 } catch( e ) { 118 private_window = true; 119 } 120 121 if ( private_window ) { 122 console.log( 'private window' ); 123 return; 124 } 125 126 var iframe = document.createElement( 'iframe' ); 127 iframe.id = 'wpcom_request_access_iframe'; 128 iframe.setAttribute( 'scrolling', 'no' ); 129 iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' ); 130 iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid ); 131 132 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; } '; 133 134 var style = document.createElement( 'style' ); 135 style.type = 'text/css'; 136 style.id = 'wpcom_request_access_styles'; 137 style.appendChild( document.createTextNode( css ) ); 138 document.body.appendChild( style ); 139 140 document.body.appendChild( iframe ); 141 } 142 143 if ( data.msg === 'DONE' ) { 144 wpcom_remote_login_final_cleanup(); 145 } 146 } 147}, false ); 148 149// Inject the remote login iframe after the page has had a chance to load 150// more critical resources 151window.addEventListener( "DOMContentLoaded", function( e ) { 152 var iframe = document.createElement( "iframe" );
153 iframe.style.display = "none"; 154 iframe.setAttribute( "scrolling", "no" ); 155 iframe.setAttribute( "id", "wpcom_remote_login_key" ); 156 iframe.src = "https://r-login.wordpress.com/remote-login.php" 157 + "?wpcom_remote_login=key" 158 + "&origin=aHR0cHM6Ly9hbmR5Lnh5eg%3D%3D" 159 + "&wpcomid=63451150" 160 + "&time=" + Math.floor( Date.now() / 1000 ); 161 document.body.appendChild( iframe ); 162}, false ); 163</script>
163 164<link rel='dns-prefetch' href='//s2.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 rel="alternate" type="application/rss+xml" title="Andy.xyz » Feed" href="https://andy.xyz/feed/" /> 169<link rel="alternate" type="application/rss+xml" title="Andy.xyz » Comments Feed" href="https://andy.xyz/comments/feed/" /> 170
170<script type="text/javascript"> 171 /* <![CDATA[ */ 172 function addLoadEvent(func) { 173 var oldonload = window.onload; 174 if (typeof window.onload != 'function') { 175 window.onload = func; 176 } else { 177 window.onload = function () { 178 oldonload(); 179 func(); 180 } 181 } 182 } 183 /* ]]> */ 184 </script>
184 185 <style id="wp-img-auto-sizes-contain-inline-css"> 186img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 187/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 188</style> 189<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' /> 190<style id="wp-emoji-styles-inline-css"> 191 192 img.wp-smiley, img.emoji { 193 display: inline !important; 194 border: none !important; 195 box-shadow: none !important; 196 height: 1em !important; 197 width: 1em !important; 198 margin: 0 0.07em !important; 199 vertical-align: -0.1em !important; 200 background: none !important; 201 padding: 0 !important; 202 } 203/*# sourceURL=wp-emoji-styles-inline-css */ 204</style> 205<style id="wp-block-library-inline-css"> 206: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;
206--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}} 207 208/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/common.min.css */ 209</style> 210<style id="wp-block-social-links-inline-css"> 211.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block}@media not (prefers-reduced-motion){.wp-block-social-link{transition:transform .1s ease}}.wp-block-social-link{height:auto}.wp-block-social-link a{align-items:center;display:flex;line-height:0}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link{background-color:#f0f0f0;color:#444}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon{background-color:#f90;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-behance{background-color:#0757fe;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bluesky{background-color:#0a7aff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-discord{background-color:#5865f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-etsy{background-color:#f45800;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook{background-color:#0866ff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-flickr{background-color:#0461dd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-foursquare{background-color:#e65678;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-github{background-color:#24292d;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-google{background-color:#ea4434;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram{background-color:#f00075;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-medium{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-meetup{background-color:#f6405f;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-patreon{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pinterest{background-color:#e60122;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pocket{background-color:#ef4155;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-reddit{background-color:#ff4500;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-skype{background-color:#0478d7;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-spotify{background-color:#1bd760;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-telegram{background-color:#2aabee;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-threads{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tumblr{background-color:#011835;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitch{background-color:#6440a4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vk{background-color:#4680c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-yelp{background-color:#d32422;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube{background-color:red;color:#fff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link{background:none}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link svg{height:1.25em;width:1.25em}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-amazon{color:#f90}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bandcamp{color:#1ea0c3}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-behance{color:#0757fe}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bluesky{color:#0a7aff}
211:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-codepen{color:#1e1f26}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-deviantart{color:#02e49b}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-discord{color:#5865f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dribbble{color:#e94c89}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dropbox{color:#4280ff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-etsy{color:#f45800}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-facebook{color:#0866ff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-fivehundredpx{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-flickr{color:#0461dd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-foursquare{color:#e65678}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-github{color:#24292d}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-goodreads{color:#382110}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-google{color:#ea4434}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-gravatar{color:#1d4fc4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-instagram{color:#f00075}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-lastfm{color:#e21b24}
211:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-linkedin{color:#0d66c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-mastodon{color:#3288d4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-medium{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-meetup{color:#f6405f}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-patreon{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pinterest{color:#e60122}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pocket{color:#ef4155}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-reddit{color:#ff4500}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-skype{color:#0478d7}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;color:#fff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-soundcloud{color:#ff5600}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-spotify{color:#1bd760}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-telegram{color:#2aabee}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-threads{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tiktok{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tumblr{color:#011835}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitch{color:#6440a4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitter{color:#1da1f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vimeo{color:#1eb7ea}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vk{color:#4680c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-whatsapp{color:#25d366}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-wordpress{color:#3499cd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-x{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-yelp{color:#d32422}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}:root :where(.wp-block-social-links .wp-social-link a){padding:.25em}:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a){padding:0}:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a){padding-left:.6666666667em;padding-right:.6666666667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000} 212/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/social-links/style.min.css */ 213</style> 214<style id="wp-block-heading-inline-css"> 215h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:var(--wp--style--block-background-padding,1.25em 2.375em)}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} 216/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/heading/style.min.css */ 217</style> 218<style id="wp-block-list-inline-css"> 219ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:var(--wp--style--block-background-padding,1.25em 2.375em)} 220/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/list/style.min.css */ 221</style> 222<style id="wp-block-paragraph-inline-css"> 223.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:var(--wp--style--block-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} 224/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/paragraph/style.min.css */ 225</style> 226<style id="wp-block-library-inline-css-extra"> 227.has-text-align-justify { 228 text-align:justify; 229} 230.has-text-align-justify{text-align:justify;} 231/*# sourceURL=wp-block-library-inline-css */ 232</style> 233 234<style id="classic-theme-styles-inline-css"> 235.wp-block-button__link{background-color:#32373c;border-radius:9999px;box-shadow:none;color:#fff;font-size:1.125em;
235padding: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} 236/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/classic.min.css */ 237</style> 238 239<style id="coblocks-inline-format-inline-css"> 240.uppercase{text-transform:uppercase} 241/*# sourceURL=coblocks-inline-format-inline-css */ 242</style> 243<link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='/_static/??-eJx9jEEOAiEQBD/kQECjeDC+ZWEnijIwYWA3/l72op689KFTVXplCCU3zE1z6reYRYfiUwlP0VYZpwxIJE4IFRd10HOU9iFA2iuhCiI7/ROiDt9WxfETT20jCOc4YUIa2D9t5eGA91xRBMZS7ATtPkTZvCtdzNEZt7f2fHq8Afl7R7w=&cssminify=yes' type='text/css' media='all' /> 244<style id="global-styles-inline-css"> 245: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: #222222;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--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--dark-gray: #555555;--wp--preset--color--medium-gray: #777777;--wp--preset--color--light-gray: #dddddd;--wp--preset--color--red: #d11415;--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%);
245--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-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-red-color{color: var(--wp--preset--color--red) !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-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-red-background-color{background-color: var(--wp--preset--color--red) !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-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-red-border-color{border-color: var(--wp--preset--color--red) !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;}
245.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;} 246/*# sourceURL=global-styles-inline-css */ 247</style> 248 249<link crossorigin='anonymous' rel='stylesheet' id='all-css-14-1' href='/_static/??-eJxtjEEOQDAQRS+Ez4KuxFGkxoSiozFtXB+JhYXdf8l7H2fIaZfIEhFn9qwIaQBZsceIYdtp1YJUM3xEn/KwpcmJYuEYLK0vQ5Ogd0KYWPhwd6D/8/nsfFsZUzWlqct6uQAlMTLP&cssminify=yes' type='text/css' media='all' /> 250<link rel='stylesheet' id='canard-lato-inconsolata-css' href='https://fonts-api.wp.com/css?family=Lato%3A400%2C700%2C400italic%2C700italic%7CInconsolata%3A400%2C700&subset=latin%2Clatin-ext&ver=7.1.1-alpha-63587' media='all' /> 251<link crossorigin='anonymous' rel='stylesheet' id='all-css-16-1' href='/_static/??-eJx9i0EKAjEMAD9kDWqheBDf0o2xVtKkNC3L/t4VL4qwtxmYgbk6VOkkHfqDChnUMQFGie0G1hemPZrtYLPLgp/WzRW1/B1luMojZTFoNLGmFROs1ZduTYnUsWLsWeVH3J1jbu/1Wi6H4H04nk/BP18qEE9v&cssminify=yes' type='text/css' media='all' /> 252<style id="canard-style-inline-css"> 253.byline, .group-blog .entry-summary + .entry-meta > .posted-on:before { clip: rect(1px, 1px, 1px, 1px); height: 1px; position: absolute; overflow: hidden; width: 1px; } 254/*# sourceURL=canard-style-inline-css */ 255</style> 256<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' /> 257<style id="jetpack-global-styles-frontend-style-inline-css"> 258: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;} 259/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */ 260</style> 261<link crossorigin='anonymous' rel='stylesheet' id='all-css-20-1' href='/_static/??-eJyNjcsKAjEMRX/ImhmUURfip0inLW3GNCmmQfx7H7gRN+7ugcs5cGsuCPfEHaq5RpaRFZbUmw+XD4MaQ5VolBS0+GuKPsb7eyLndVBdwd+iM3KA2ZAiqAT05Eiy6Bf8KHtJ9RkvW8gks6fX4VSP426/mQ7TMA7LA38FSqA=&cssminify=yes' type='text/css' media='all' />
262<script id="wpcom-actionbar-placeholder-js-extra"> 263var actionbardata = {"siteID":"63451150","postID":"7850","siteURL":"https://andy.xyz","xhrURL":"https://andy.xyz/wp-admin/admin-ajax.php","nonce":"8d3428c4ce","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https://s0.wp.com/wp-content/js/wpcom-proxy-request.js?m=1513050504i&ver=20211021","shortlink":"https://wp.me/P4iexE-22C","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."}}; 264//# sourceURL=wpcom-actionbar-placeholder-js-extra 265</script>
vendor: 1 bytes, line 265
265
266<script id="jetpack-mu-wpcom-settings-js-before"> 267var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https://s1.wp.com/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/sun/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/"}; 268//# sourceURL=jetpack-mu-wpcom-settings-js-before 269</script>
vendor: 1 bytes, line 269
269
270<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI='></script>
vendor: 1 bytes, line 270
270
271<script id="rlt-proxy-js-after"> 272 rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} ); 273//# sourceURL=rlt-proxy-js-after 274</script>
274 275<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://ajwilliams45.wordpress.com/xmlrpc.php?rsd" /> 276<meta name="generator" content="WordPress.com" /> 277<link rel="canonical" href="https://andy.xyz/speaking/" /> 278<link rel='shortlink' href='https://wp.me/P4iexE-22C' /> 279<link rel="alternate" type="application/json+oembed" href="https://public-api.wordpress.com/oembed/?format=json&url=https%3A%2F%2Fandy.xyz%2Fspeaking%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%2Fandy.xyz%2Fspeaking%2F&for=wpcom-auto-discovery" /> 280<!-- Jetpack Open Graph Tags --> 281<meta property="og:type" content="article" /> 282<meta property="og:title" content="Speaking" /> 283<meta property="og:url" content="https://andy.xyz/speaking/" /> 284<meta property="og:description" content="I travel to events and speak on various topics, most frequently is building graphical apps with Go and Fyne, but also tech leadership and startup culture. Here is a selection of recent presentationâ¦" /> 285<meta property="article:published_time" content="2024-02-12T22:29:40+00:00" /> 286<meta property="article:modified_time" content="2026-08-11T15:22:16+00:00" /> 287<meta property="og:site_name" content="Andy.xyz" /> 288<meta property="og:image" content="https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=200&ts=1790244657" /> 289<meta property="og:image:width" content="200" /> 290<meta property="og:image:height" content="200" /> 291<meta property="og:image:alt" content="" /> 292<meta property="og:locale" content="en_US" /> 293<meta property="article:publisher" content="https://www.facebook.com/WordPresscom" /> 294<meta name="twitter:creator" content="@andydotxyz" /> 295<meta name="twitter:site" content="@andydotxyz" /> 296<meta name="twitter:text:title" content="Speaking" /> 297<meta name="twitter:image" content="https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=240" /> 298<meta name="twitter:card" content="summary" /> 299 300<!-- End Jetpack Open Graph Tags --> 301<link rel="shortcut icon" type="image/x-icon" href="https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=32" sizes="16x16" /> 302<link rel="icon" type="image/x-icon" href="https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=32" sizes="16x16" /> 303<link rel="apple-touch-icon" href="https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=114" /> 304<link rel='openid.server' href='https://andy.xyz/?openidserver=1' /> 305<link rel='openid.delegate' href='https://andy.xyz/' /> 306<link rel="search" type="application/opensearchdescription+xml" href="https://andy.xyz/osd.xml" title="Andy.xyz" /> 307<link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" /> 308<meta name="description" content="I travel to events and speak on various topics, most frequently is building graphical apps with Go and Fyne, but also tech leadership and startup culture. Here is a selection of recent presentations, most of which have recordings available online. 2026 GoLab - Creating a full desktop environment with Go! ScotSoft - Evening Address Fyne…" /> 309<style type="text/css" id="custom-colors-css"> #comments #respond p.form-submit input#comment-submit, 310 .widget_flickr #flickr_badge_uber_wrapper td a:last-child { 311 background: #222 !important; 312 border-color: #222 !important; 313 } 314 #comments #respond .form-submit input#comment-submit:active, 315 #comments #respond .form-submit input#comment-submit:focus, 316 #comments #respond .form-submit input#comment-submit:hover, 317 .widget_flickr #flickr_badge_uber_wrapper td a:last-child:active, 318 .widget_flickr #flickr_badge_uber_wrapper td a:last-child:focus, 319 .widget_flickr #flickr_badge_uber_wrapper td a:last-child:hover { 320 background: #fff !important; 321 color: #222 !important; 322 } 323 @media screen and (min-width: 960px) { 324 .entry-hero .entry-meta, 325 .entry-hero .entry-meta a { 326 color: #fff !important; 327 } 328 } 329abbr, 330 acronym { border-bottom-color: #222222;} 331body, 332 button, 333 input, 334 select, 335 textarea,
336 .menu-toggle, 337 .main-navigation a, 338 .post-navigation a, 339 .sidebar-toggle, 340 .widget_tag_cloud a:before, 341 .search-toggle, 342 .site-title a:active, 343 .site-title a:focus, 344 .site-title a:hover, 345 .content-area .entry-meta a:active, 346 .content-area .entry-meta a:focus, 347 .content-area .entry-meta a:hover, 348 .entry-footer a:active, 349 .entry-footer a:focus, 350 .entry-footer a:hover, 351 .page-links a, 352 .comment-list .comment-reply-title small a:active, 353 .comment-list .comment-reply-title small a:focus, 354 .comment-list .comment-reply-title small a:hover, 355 .comment-metadata a:active, 356 .comment-metadata a:focus, 357 .comment-metadata a:hover, 358 .comment-reply-link:active, 359 .comment-reply-link:focus, 360 .comment-reply-link:hover, 361 .widget_goodreads div[class^="gr_custom_title"] a:active, 362 .widget_goodreads div[class^="gr_custom_title"] a:focus, 363 .widget_goodreads div[class^="gr_custom_title"] a:hover, 364 .widget_goodreads div[class^="gr_custom_container"] div[class^="gr_custom_author"] a:active, 365 .widget_goodreads div[class^="gr_custom_container"] div[class^="gr_custom_author"] a:focus, 366 .widget_goodreads div[class^="gr_custom_container"] div[class^="gr_custom_author"] a:hover, 367 #comments #respond .comment-form-fields p.comment-form-posting-as, 368 #comments #respond .comment-form-fields p.comment-form-log-out, 369 #comments #respond #comment-form-identity #comment-form-nascar p, 370 #comments #respond #comment-form-load-service p, 371 #comments #respond #comment-form-comment textarea, 372 #comments #comment-form-share-text-padder textarea, 373 #comments #respond .comment-form-fields label, 374 #comments #respond .comment-form-fields label span.required, 375 #comments #respond .comment-form-fields label span.nopublish, 376 #comments #respond .comment-form-fields div.comment-form-input input, 377 #comments #respond .comment-form-service a:active, 378 #comments #respond .comment-form-service a:focus, 379 #comments #respond .comment-form-service a:hover, 380 .widget_authors > ul > li > a, 381 .wp_widget_tag_cloud a:before { color: #222222;} 382body, 383 button:active, 384 input[type="button"]:active, 385 input[type="reset"]:active, 386 input[type="submit"]:active, 387 button:focus, 388 input[type="button"]:focus, 389 input[type="reset"]:focus, 390 input[type="submit"]:focus, 391 button:hover, 392 input[type="button"]:hover, 393 input[type="reset"]:hover, 394 input[type="submit"]:hover, 395 input[type="text"], 396 input[type="email"], 397 input[type="url"], 398 input[type="password"], 399 input[type="search"], 400 textarea, 401 .search-form:before, 402 .menu-toggle, 403 .dropdown-toggle, 404 .main-navigation > div > ul, 405 .comment-navigation a, 406 .posts-navigation a, 407 .sidebar-toggle, 408 .page-links a, 409 .post-link .genericon, 410 #infinite-handle span button, 411 #infinite-handle span button:active, 412 #infinite-handle span button:focus, 413 #infinite-handle span button:hover, 414 .main-navigation.toggled > div, 415 .main-navigation > div:before, 416 .main-navigation ul ul, 417 .main-navigation ul ul li, 418 #comments #respond #comment-form-comment, 419 #comments #comment-form-share-text-padder, 420 #comments #respond .comment-form-fields div.comment-form-input, 421 #comments .comment #respond #comment-form-comment, 422 #comments .comment #comment-form-share-text-padder, 423 #comments .comment #respond .comment-form-fields div.comment-form-input, 424 .widget_akismet_widget .a-stats a:active, 425 .widget_akismet_widget .a-stats a:focus, 426 .widget_akismet_widget .a-stats a:hover { background-color: #ffffff;} 427mark, 428 ins, 429 button, 430 input[type="button"], 431 input[type="reset"], 432 input[type="submit"], 433 .comment-navigation a:active, 434 .comment-navigation a:focus, 435 .comment-navigation a:hover, 436 .posts-navigation a:active, 437 .posts-navigation a:focus, 438 .posts-navigation a:hover, 439 .sticky-post, 440 #infinite-handle span button:active, 441 #infinite-handle span button:focus, 442 #infinite-handle span button:hover, 443 .widget_akismet_widget .a-stats a { color: #ffffff;} 444blockquote { color: #5E5E5E;} 445caption, 446 .footer-navigation a, 447 .post-navigation .meta-nav, 448 .widget_recent_entries .post-date, 449 .widget_rss cite, 450 .widget_rss .rss-date, 451 .site-description, 452 .entry-hero .entry-meta a, 453 .content-area .entry-meta, 454 .content-area .entry-meta a, 455 .entry-footer, 456 .entry-footer a, 457 .page-links, 458 .page-links > .page-links-title, 459 .author-info .author-title, 460 .comment-list .comment-reply-title small, 461 .comment-metadata, 462 .comment-reply-link, 463 .comment-metadata a, 464 .comment-list .comment-reply-title small a, 465 .wp-caption, 466 .gallery-caption, 467 .site-content .jetpack-recipe .jetpack-recipe-meta, 468 .hentry div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post-context, 469 .widget_goodreads div[class^="gr_custom_author"] { color: #777777;} 470::input-placeholder { color: #777777;} 471::-webkit-input-placeholder { color: #777777;} 472:-moz-placeholder { color: #777777;} 473::-moz-placeholder { color: #777777;} 474::-ms-input-placeholder { color: #777777;} 475hr, 476 .widget-area:before, 477 .comment-list:before, 478 .comment-navigation + .comment-respond:before, 479 div#jp-relatedposts:before { background-color: #DDDDDD;} 480input[type="text"], 481 input[type="email"], 482 input[type="url"], 483 input[type="password"], 484 input[type="search"], 485 textarea,
486 .search-form .search-submit, 487 .search-form .search-submit:active, 488 .search-form .search-submit:focus, 489 .search-form .search-submit:hover, 490 .menu-toggle, 491 .menu-toggle:active, 492 .menu-toggle:focus, 493 .menu-toggle:hover, 494 .dropdown-toggle, 495 .dropdown-toggle:active, 496 .dropdown-toggle:focus, 497 .dropdown-toggle:hover, 498 .main-navigation > div > ul, 499 .sidebar-toggle, 500 .sidebar-toggle:active, 501 .sidebar-toggle:focus, 502 .sidebar-toggle:hover, 503 .author-info, 504 .search-toggle, 505 .search-toggle:active, 506 .search-toggle:focus, 507 .search-toggle:hover, 508 .page-links a, 509 .page-links > span, 510 .page-links a:active, 511 .page-links a:focus, 512 .page-links a:hover, 513 .main-navigation ul ul, 514 #comments #respond #comment-form-comment, 515 #comments #comment-form-share-text-padder, 516 #comments #respond .comment-form-fields div.comment-form-input, 517 .widget.top_rated .pd_top_rated_holder_posts > p, 518 .widget.top_rated ul { border-color: #DDDDDD;} 519th, 520 td, 521 .footer-widget-inner .widget, 522 .site-header, 523 .featured-content, 524 .comment-list { border-bottom-color: #DDDDDD;} 525.rtl .site-main, 526 .widget-area { border-left-color: #DDDDDD;} 527.site-main, 528 .rtl .widget-area { border-right-color: #DDDDDD;} 529table, 530 .footer-navigation, 531 .comment-navigation + .comment-respond, 532 .footer-widget, 533 .comments-area, 534 div#jp-relatedposts, 535 .search-navigation, 536 .header-image { border-top-color: #DDDDDD;} 537blockquote:before { color: #DDDDDD;} 538a:focus, 539 .bypostauthor .fn, 540 div#jp-relatedposts a:focus { outline-color: #DDDDDD;} 541pre, 542 thead, 543 .search-form.hover:before, 544 .menu-toggle:active, 545 .menu-toggle:focus, 546 .menu-toggle:hover, 547 .dropdown-toggle:active, 548 .dropdown-toggle:focus, 549 .dropdown-toggle:hover, 550 .post-navigation a:active, 551 .post-navigation a:focus, 552 .post-navigation a:hover, 553 .sidebar-toggle:active, 554 .sidebar-toggle:focus, 555 .sidebar-toggle:hover, 556 .search-toggle:active, 557 .search-toggle:focus, 558 .search-toggle:hover, 559 .search-form.hover:before, 560 .page-links a, 561 .page-links > span, 562 .page-links a:active, 563 .page-links a:focus, 564 .page-links a:hover { background-color: #EFEFEF;} 565.comment-navigation a, 566 .posts-navigation a, 567 .post-navigation a, 568 .gallery, 569 #infinite-handle span button { border-color: #EFEFEF;} 570.main-navigation > div > ul > li:last-child, 571 .main-navigation ul, 572 .widget_archive ul, 573 .widget_categories ul, 574 .widget_links ul, 575 .widget_meta ul, 576 .widget_nav_menu ul, 577 .widget_pages ul, 578 .widget_recent_comments ul, 579 .widget_recent_entries ul, 580 .widget_rss ul, 581 .page-header, 582 .entry-footer > span:last-of-type, 583 .comment-list .comment:not(:last-of-type), 584 .comment-list .depth-1:not(:last-of-type), 585 .sd-like.jetpack-likes-widget-wrapper, 586 .sd-rating, 587 .sd-sharing-enabled:not(#jp-post-flair), 588 .widget_goodreads div[class^="gr_custom_each_container"]:last-of-type, 589 .widget_rss_links ul, 590 .widget_rss_links p:last-of-type, 591 .hentry .wpcom-reblog-snapshot .reblogger-note, 592 .widget_authors ul, 593 .widget_jp_blogs_i_follow ol, 594 .widget_blog-stats ul, 595 .widget_top-clicks ul, 596 .widget_top-posts ul, 597 .widget.top_rated ul, 598 .widget_upcoming_events_widget ul, 599 .widget_recent_comments tr, 600 .widget_recent_comments td { border-bottom-color: #EFEFEF;} 601.main-navigation .nav-menu > li + li, 602 .footer-navigation li + li { border-left-color: #EFEFEF;} 603.rtl .main-navigation .nav-menu > li + li, 604 .rtl .footer-navigation li + li { border-right-color: #EFEFEF;} 605.main-navigation li, 606 .posts-navigation, 607 .widget_archive li, 608 .widget_categories li, 609 .widget_links li, 610 .widget_meta li, 611 .widget_nav_menu li, 612 .widget_pages li, 613 .widget_recent_comments li, 614 .widget_recent_entries li, 615 .widget_rss li, 616 .archive .hentry, 617 .blog .hentry, 618 .search .hentry, 619 .entry-footer .byline, 620 .entry-footer .cat-links, 621 .entry-footer .comments-link, 622 .entry-footer .edit-link, 623 .entry-footer .posted-on, 624 .entry-footer .tags-links, 625 .page-links, 626 .comment-list .comment .comment:first-of-type, 627 .comment-list .comment-respond, 628 #infinite-handle, 629 .infinite-loader, 630 .archive .infinite-wrap .hentry:first-of-type, 631 .blog .infinite-wrap .hentry:first-of-type, 632 .search .infinite-wrap .hentry:first-of-type, 633 .widget_goodreads div[class^="gr_custom_each_container"], 634 .widget_rss_links li, 635 .widget_rss_links p, 636 .widget_authors li, 637 .widget_jp_blogs_i_follow li, 638 .widgets-list-layout li, 639 .widget_top-clicks li, 640 .widget_top-posts li, 641 .widget.top_rated li, 642 .widget_upcoming_events_widget li, 643 .widget_recent_comments table { border-top-color: #EFEFEF;} 644.toggled .menu-toggle, 645 .main-navigation.toggled > div, 646 .social-navigation, 647 .bottom-navigation, 648 .sidebar-toggle.toggled, 649 .site-top, 650 .toggled .search-toggle, 651 .search-header .search-form, 652 .site-social, 653 .site-footer, 654 #infinite-footer { background-color: #292c37;} 655.toggled .menu-toggle, 656 .sidebar-toggle.toggled, 657 .toggled .search-toggle, 658 .wp-block-button .wp-block-button__link:active, 659 .wp-block-button .wp-block-button__link:focus, 660 .wp-block-button .wp-block-button__link:hover { border-color: #292c37;} 661.main-navigation.toggled > div:before, 662 .search-header.toggled .search-toggle:after { border-bottom-color: #292c37;} 663.toggled .menu-toggle:active, 664 .toggled .menu-toggle:focus, 665 .toggled .menu-toggle:hover, 666 .sidebar-toggle.toggled:active, 667 .sidebar-toggle.toggled:focus, 668 .sidebar-toggle.toggled:hover, 669 .toggled .search-toggle:active, 670 .toggled .search-toggle:focus, 671 .toggled .search-toggle:hover { background-color: #535973;} 672.toggled .menu-toggle:active, 673 .toggled .menu-toggle:focus, 674 .toggled .menu-toggle:hover, 675 .sidebar-toggle.toggled:active, 676 .sidebar-toggle.toggled:focus, 677 .sidebar-toggle.toggled:hover, 678 .toggled .search-toggle:active, 679 .toggled .search-toggle:focus, 680 .toggled .search-toggle:hover { border-color: #535973;} 681.social-navigation, 682 .bottom-navigation, 683 .site-social { border-bottom-color: #535973;} 684.secondary-navigation li + li { border-left-color: #535973;} 685.rtl .secondary-navigation li + li { border-right-color: #535973;} 686.site-info .sep, 687 .wp-block-button .wp-block-button__link:active, 688 .wp-block-button .wp-block-button__link:focus, 689 .wp-block-button .wp-block-button__link:hover, 690 .is-style-outline>.wp-block-button__link:not(.has-text-color):active, 691 .is-style-outline>.wp-block-button__link:not(.has-text-color):focus, 692 .is-style-outline>.wp-block-button__link:not(.has-text-color):hover { color: #535973;} 693.social-navigation a:focus, 694 .secondary-navigation a:focus, 695 .bottom-navigation a:focus, 696 .site-info a:focus { outline-color: #646B8B;} 697.social-navigation a, 698 .secondary-navigation a, 699 .bottom-navigation a, 700 .site-top, 701 .site-info, 702 .site-info a, 703 #infinite-footer, 704 #infinite-footer .blog-info a { color: #D0D5DB;} 705.toggled .menu-toggle, 706 .social-navigation a:active, 707 .social-navigation a:focus, 708 .social-navigation a:hover, 709 .secondary-navigation a:active, 710 .secondary-navigation a:focus, 711 .secondary-navigation a:hover, 712 .bottom-navigation a:active, 713 .bottom-navigation a:focus, 714 .bottom-navigation a:hover, 715 .sidebar-toggle.toggled, 716 .toggled .search-toggle, 717 .site-info a:active, 718 .site-info a:focus, 719 .site-info a:hover, 720 #infinite-footer .blog-credits a:active, 721 #infinite-footer .blog-credits a:focus, 722 #infinite-footer .blog-credits a:hover, 723 #infinite-footer .blog-info a:active, 724 #infinite-footer .blog-info a:focus, 725 #infinite-footer .blog-info a:hover { color: #FFFFFF;} 726mark, 727 ins, 728 button, 729 input[type="button"], 730 input[type="reset"], 731 input[type="submit"],
732 .comment-navigation a:active, 733 .comment-navigation a:focus, 734 .comment-navigation a:hover, 735 .posts-navigation a:active, 736 .posts-navigation a:focus, 737 .posts-navigation a:hover, 738 .featured-content .hentry:not(.has-post-thumbnail):hover .post-thumbnail, 739 .featured-content .hentry:not(.has-post-thumbnail) .post-thumbnail:focus, 740 .sticky-post, 741 .post-link, 742 #infinite-handle span button:active, 743 #infinite-handle span button:focus, 744 #infinite-handle span button:hover, 745 .widget_akismet_widget .a-stats a, 746 .milestone-widget .milestone-header, 747 .wp-block-button .wp-block-button__link { background-color: #FF6600;} 748button, 749 input[type="button"], 750 input[type="reset"], 751 input[type="submit"], 752 .comment-navigation a:active, 753 .comment-navigation a:focus, 754 .comment-navigation a:hover, 755 .posts-navigation a:active, 756 .posts-navigation a:focus, 757 .posts-navigation a:hover, 758 #infinite-handle span button:active, 759 #infinite-handle span button:focus, 760 #infinite-handle span button:hover, 761 .widget_akismet_widget .a-stats a, 762 .wp-block-button .wp-block-button__link { border-color: #FF6600;} 763pre { border-left-color: #FF6600;} 764.rtl pre { border-right-color: #FF6600;} 765button:active, 766 input[type="button"]:active, 767 input[type="reset"]:active, 768 input[type="submit"]:active, 769 button:focus, 770 input[type="button"]:focus, 771 input[type="reset"]:focus, 772 input[type="submit"]:focus, 773 button:hover, 774 input[type="button"]:hover, 775 input[type="reset"]:hover, 776 input[type="submit"]:hover, 777 .search-form:before, 778 a, 779 .menu-toggle:active, 780 .menu-toggle:focus, 781 .menu-toggle:hover, 782 .dropdown-toggle, 783 .dropdown-toggle:active, 784 .dropdown-toggle:focus, 785 .dropdown-toggle:hover, 786 .main-navigation a:active, 787 .main-navigation a:focus, 788 .main-navigation a:hover, 789 .main-navigation .current_page_item > a, 790 .main-navigation .current-menu-item > a, 791 .main-navigation .current_page_ancestor > a, 792 .footer-navigation a:active, 793 .footer-navigation a:focus, 794 .footer-navigation a:hover, 795 .comment-navigation a, 796 .posts-navigation a, 797 .post-navigation a:active .post-title, 798 .post-navigation a:focus .post-title, 799 .post-navigation a:hover .post-title, 800 .sidebar-toggle:active, 801 .sidebar-toggle:focus, 802 .sidebar-toggle:hover, 803 .search-toggle:active, 804 .search-toggle:focus, 805 .search-toggle:hover, 806 .site-title, 807 .page-links > span, 808 .page-links a:active, 809 .page-links a:focus, 810 .page-links a:hover, 811 .post-link .genericon, 812 .required, 813 .site-content .contact-form label span, 814 #infinite-handle span button, 815 .widget_goodreads div[class^="gr_custom_title"] a, 816 .main-navigation .menu-item-has-children > a:after, 817 #comments #respond .comment-form-service a, 818 .widget_akismet_widget .a-stats a:active, 819 .widget_akismet_widget .a-stats a:focus, 820 .widget_akismet_widget .a-stats a:hover, 821 .widget_akismet_widget .a-stats a:active .count, 822 .widget_akismet_widget .a-stats a:focus .count, 823 .widget_akismet_widget .a-stats a:hover .count, 824 .widget_authors > ul > li > a:active, 825 .widget_authors > ul > li > a:focus, 826 .widget_authors > ul > li > a:hover, 827 .is-style-outline>.wp-block-button__link:not(.has-text-color) { color: #FF6600;} 828</style> 829</head> 830 831<body class="wp-singular page-template-default page page-id-7850 wp-embed-responsive wp-theme-pubcanard customizer-styles-applied jetpack-reblog-enabled author-hidden custom-colors"> 832<div id="page" class="hfeed site"> 833 <a class="skip-link screen-reader-text" href="#content">Skip to content</a> 834 835 <header id="masthead" class="site-header" role="banner"> 836 837 <div class="site-branding"> 838 <a href="https://andy.xyz/" class="site-logo-link" rel="home" itemprop="url"></a> <h1 class="site-title"><a href="https://andy.xyz/" rel="home">Andy.xyz</a></h1> 839 <h2 class="site-description"></h2> 840 </div><!-- .site-branding --> 841 842 <div class="header-image"> 843 <div class="header-image-inner"> 844 <a href="https://andy.xyz/" rel="home"><img src="https://defaultcustomheadersdata.files.wordpress.com/2016/07/city1.jpg?resize=1260,300" width="1260" height="300" alt=""></a> 845 </div><!-- .header-image-inner --> 846 </div><!-- .header-image --> 847 848 <div id="search-navigation" class="search-navigation"> 849 <div class="search-navigation-inner"> 850 <nav id="site-navigation" class="main-navigation" role="navigation"> 851 <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><span class="screen-reader-text">Primary Menu</span></button> 852 <div class="menu-menu-1-container"><ul id="primary-menu" class="menu"><li id="menu-item-238" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-238"><a href="https://andy.xyz/">Home</a></li> 853<li id="menu-item-239" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-239"><a href="https://andy.xyz/about/">About</a></li> 854<li id="menu-item-7862" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-7850 current_page_item menu-item-7862"><a href="https://andy.xyz/speaking/" aria-current="page">Speaking</a></li> 855<li id="menu-item-17851" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17851"><a href="https://www.patreon.com/c/andydotxyz">Patreon</a></li> 856<li id="menu-item-5938" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5938"><a href="https://andy.xyz/sponsorship/">Sponsorship</a></li> 857<li id="menu-item-9518" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9518"><a href="https://andy.xyz/quotes/">Quotes</a></li> 858<li id="menu-item-240" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-240"><a href="https://andy.xyz/contact/">Contact</a></li> 859</ul></div> </nav><!-- #site-navigation --> 860 <div id="search-header" class="search-header"> 861 <button class="search-toggle" aria-controls="search-form" aria-expanded="false"><span class="screen-reader-text">Search</span></button> 862 <form role="search" method="get" class="search-form" action="https://andy.xyz/"> 863 <label> 864 <span class="screen-reader-text">Search for:</span> 865 <input type="search" class="search-field" placeholder="Search …" value="" name="s" /> 866 </label> 867 <input type="submit" class="search-submit" value="Search" /> 868 </form> </div><!-- #search-header --> 869 </div><!-- .search-navigation-inner --> 870 </div><!-- #search-navigation --> 871 </header><!-- #masthead --> 872
873 <div id="content" class="site-content"> 874 875 <div class="site-content-inner"> 876 <div id="primary" class="content-area"> 877 <main id="main" class="site-main" role="main"> 878 879 880 881<article id="post-7850" class="post-7850 page type-page status-publish hentry"> 882 <header class="entry-header"> 883 884 <h1 class="entry-title">Speaking</h1> </header><!-- .entry-header --> 885 886 887 <div class="entry-content"> 888 889<p class="wp-block-paragraph">I travel to events and speak on various topics, most frequently is building graphical apps with Go and Fyne, but also tech leadership and startup culture. Here is a selection of recent presentations, most of which have recordings available online.</p> 890 891 892 893<h2 class="wp-block-heading">2026</h2> 894 895 896 897<ul class="wp-block-list"> 898<li><a href="https://golab.io/speakers/williams">GoLab</a> – Creating a full desktop environment with Go!</li> 899 900 901 902<li>ScotSoft – Evening Address</li> 903 904 905 906<li><a href="https://conf.fyne.io">Fyne Conf 2026</a> – <a href="https://conf.fyne.io">When Applications Design Themselves: AI, Fyne, and the Future of User Interfaces</a></li> 907 908 909 910<li>London Gophers – <a href="https://www.meetup.com/londongophers/events/315973770/">A full desktop environment with Go!</a></li> 911 912 913 914<li>GopherCon UK – <a href="https://www.gophercon.co.uk/schedule">Creating a full desktop environment with Go!</a></li> 915 916 917 918<li><a href="https://www.gophercon.com/agenda/speakers/3993982">GopherCon</a> – <a href="https://www.gophercon.com/agenda/session/1801615">Building a Full Desktop in Go!</a> (Lightning talk)</li> 919 920 921 922<li><a href="https://www.gophercon.eu/#/speakers?lang=en&speakerId=17594000002583010">GopherCon Europe</a> – <a href="https://www.gophercon.eu/#/schedule?day=3&lang=en&sessionId=17594000002583005">Build your Dream Apps with Fyne</a></li> 923 924 925 926<li>GopherCon Singapore – Building a Full Desktop in Go! (Lightning talk)</li> 927 928 929 930<li>Go podcast() – <a href="https://gopodcast.dev/episodes/075-fyne-apps-are-easier-to-design-and-build-with-andy-williams">Fyne apps are easier to design and build</a></li> 931 932 933 934<li>Skyscanner – Fireside chat for Engineering Managers</li> 935 936 937 938<li>FOSDEM Go devroom – <a href="https://cuddly.tube/w/mBtDbXQLdeHQh1PqLmeV99?start=20m30" target="_blank" rel="noreferrer noopener">Re-imagining the Tamagotchi</a></li> 939</ul> 940 941 942 943<h2 class="wp-block-heading">2025</h2> 944 945 946 947<ul class="wp-block-list"> 948<li>Tech Meetup Edinburgh – <a href="https://www.linkedin.com/posts/techmeetupedinburgh_techmeetup-techevents-softwaremeetup-activity-7398714348388380672-UFXJ/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAAV480Bya5KKtMUrx1M68INPMrW8Gydx8A">Building Beyond the Browser: Low-code native apps and the Community</a></li> 949 950 951 952<li>The Interest Rate – <a href="https://theinterestrate.substack.com/p/scotlands-start-up-paradox-how-fastest?r=40x4hu" target="_blank" rel="noreferrer noopener">Scotland’s Start-up paradox</a> (Interview)</li> 953 954 955 956<li>Hacktoberfest 2025 – <a href="https://luma.com/cs1b3f6i?tk=rLFchf" target="_blank" rel="noreferrer noopener">The HF supercontributor experience</a> (Fireside chat)</li> 957 958 959 960<li><a href="https://cupogo.dev/people/andrew-williams" target="_blank" rel="noreferrer noopener">Cup-o-Go</a> – <a href="https://cupogo.dev/episodes/goose-noose-excellent/transcript" target="_blank" rel="noreferrer noopener">𪿠Goose noose? ð¤ Excellent! ð¸</a> (Host)</li> 961 962 963 964<li><a href="https:/scotlandis.com/scotsoft-2025" target="_blank" rel="noreferrer noopener">ScotSoft 2025</a> – Evening address (<a href="https://andy.xyz/2025/11/04/scotsoft-2025-dinner-address/">edited transcript</a>)</li> 965 966 967 968<li>Scottish Innovation Summit – <a href="https://www.scotlandis.com/scotsoft-2025/national-innovation-summit/" target="_blank" rel="noreferrer noopener">Emerging Company Showcase</a> (Panel)</li> 969 970 971 972<li><a href="https://conf.fyne.io" target="_blank" rel="noreferrer noopener">FyneConf 2025</a> – <a href="https://conf.fyne.io" target="_blank" rel="noreferrer noopener">GUI tool ecosystem and the future of app building</a></li> 973 974 975 976<li><a href="https://www.gophercon.com/agenda/speakers/3757715" target="_blank" rel="noreferrer noopener">GopherCon</a> – <a href="https://www.youtube.com/watch?v=usUz3XyiR3I" target="_blank" rel="noreferrer noopener"><strong>Apps Without an Operating System?!</strong></a> (Lightning talk)</li> 977 978 979 980<li>Plus Equals 5 – <a href="https://plusequals5.napier.ac.uk/">Plenary Panel</a></li> 981 982 983 984<li>Bristol Gophers – <a href="https://www.meetup.com/golang-bristol/events/306170209/">Fyne: Building Apps that work Anywhere</a></li> 985 986 987 988<li>Once for Scotland – <strong>Democratising Access to App Development</strong></li> 989 990 991 992<li>Ardan Labs Podcast – <a href="https://ardanlabs.buzzsprout.com/1466944/episodes/16366029-fyne-startups-and-innovation-with-andy-williams">Fyne, Startups and Innovation with Andy Williams</a></li> 993</ul> 994 995 996 997<h2 class="wp-block-heading">2024</h2> 998 999 1000 1001<ul class="wp-block-list"> 1002<li>GoLab – <a href="https://golab.io/talks/fyne-apps-from-start-to-store" target="_blank" rel="noreferrer noopener">Fyne Apps from Start to Store</a> (Workshop)</li> 1003 1004 1005 1006<li>Go podcast() – <a href="https://gopodcast.dev/episodes/047-fyne-toolkit-with-andy-williams" target="_blank" rel="noreferrer noopener">Fyne toolkit with Andy Williams</a></li> 1007 1008 1009 1010<li>Edinburgh Gophers – <a href="https://www.meetup.com/edinburgh-golang-meetup/events/303748600/">Low-code graphical apps with Go</a></li> 1011 1012 1013 1014<li>ScotSoft 2024 – Closing Address</li> 1015 1016 1017 1018<li><a href="https://conf.fyne.io">FyneConf 2024</a> – <a href="https://conf.fyne.io" target="_blank" rel="noreferrer noopener">Fyne.io why and where are we going from here</a></li> 1019 1020 1021 1022<li>GopherCon UK – <a href="https://youtu.be/sXKsyuSjJ8o?si=L1jyPSa5WiqP0q0o" target="_blank" rel="noopener">
1022Building Graphical Go apps is Fyne ð</a></li> 1023 1024 1025 1026<li>Manchester Go Meetup – <a href="https://www.meetup.com/golang-mcr/events/301829841/" target="_blank" rel="noreferrer noopener">Fyne.io: Building Apps that work Anywhere</a></li> 1027 1028 1029 1030<li>GoMAD (Madrid Go UG) – <a href="https://www.meetup.com/go-mad/events/301175945/" target="_blank" rel="noreferrer noopener">Go Tell: Fyne.io, Building Apps that work Anywhere</a></li> 1031 1032 1033 1034<li>Conf42 Golang – <a href="https://www.conf42.com/Golang_2024_Andrew_Williams_love_building_apps" target="_blank" rel="noreferrer noopener">How Go taught me to love building apps again</a></li> 1035 1036 1037 1038<li>Speak with Courage – <a href="https://www.listennotes.com/podcasts/speak-with-courage/build-your-dream-ceo-andrew-ASOmswoGDi_/">Build YOUR dream, CEO: Andrew Williams</a></li> 1039 1040 1041 1042<li><a href="https://fosdem.org/2024/schedule/speaker/Z8XBM7/" target="_blank" rel="noreferrer noopener">FOSDEM – Graphics</a> – <a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2631-building-cross-platform-gui-apps-with-ease-and-go-desktop-mobile-and-beyond-/" target="_blank" rel="noreferrer noopener">Building Cross-platform GUI apps with ease (and Go) – desktop, mobile and beyond!</a></li> 1043 1044 1045 1046<li><a href="https://fosdem.org/2024/schedule/speaker/Z8XBM7/" target="_blank" rel="noreferrer noopener">FOSDEM – Go</a> – <a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2621-low-code-graphical-apps-with-go-top-to-bottom-/" target="_blank" rel="noreferrer noopener">Low code graphical apps with Go top to bottom!</a></li> 1047</ul> 1048 1049 1050 1051<h2 class="wp-block-heading">2023</h2> 1052 1053 1054 1055<ul class="wp-block-list"> 1056<li><a href="https://golab.io/speakers/williams" target="_blank" rel="noreferrer noopener">GoLab</a> – <a href="https://golab.io/talks/how-go-taught-me-to-love-building-apps-again" target="_blank" rel="noreferrer noopener">How Go Taught Me To Love Building Apps Again</a></li> 1057 1058 1059 1060<li><a href="https://conf.fyne.io" target="_blank" rel="noreferrer noopener">FyneConf</a> – <a href="https://youtu.be/XXmDmn-et4E?feature=shared" target="_blank" rel="noreferrer noopener">FyshOS, a Well Rounded Developer Experience</a></li> 1061 1062 1063 1064<li><a href="https://cupogo.dev/people/andrew-williams" target="_blank" rel="noreferrer noopener">Cup-o-Go</a> – <a href="https://cupogo.dev/episodes/gopls-0-14-with-opt-in-telemetry-is-coming-and-eliav-lavi-talks-about-some-challenges-with-json" target="_blank" rel="noreferrer noopener">ð gopls 0.14 with opt-in telemetry is coming!</a> (Host)</li> 1065 1066 1067 1068<li><a href="https://cupogo.dev/people/andrew-williams" target="_blank" rel="noreferrer noopener">Cup-o-Go</a> – <a href="https://cupogo.dev/episodes/conferences-galore-for-q4-alien-abduction-and-interview-with-peter-seebach-aka-seebs-on-go-performance" target="_blank" rel="noreferrer noopener">Conferences galore for Q4, Alien Abduction ð¸</a> (Host)</li> 1069 1070 1071 1072<li>Edinburgh Gophers – Building Apps that work Anywhere</li> 1073 1074 1075 1076<li><a href="https://cupogo.dev/people/andrew-williams" target="_blank" rel="noreferrer noopener">Cup-o-Go</a> – <a href="https://cupogo.dev/episodes/why-would-they-change-math-math-is-math-also-the-internet-is-on-strike-and-other-go-news" target="_blank" rel="noreferrer noopener">An interview with Andy Williams about Fyne</a></li> 1077 1078 1079 1080<li><a href="https://changelog.com/person/andydotxyz" target="_blank" rel="noreferrer noopener">GoTime</a> – <a href="https://changelog.com/gotime/271" target="_blank" rel="noreferrer noopener">Cross-platform graphical user interfaces</a></li> 1081 1082 1083 1084<li>Boston Gophers – Building Apps that work Anywhere</li> 1085 1086 1087 1088<li>State Of Open Subset – <a href="https://www.youtube.com/watch?v=KKyns9MYWG0" target="_blank" rel="noreferrer noopener">Native graphical apps for all platforms – with a single codebase!</a></li> 1089</ul> 1090 1091 1092 1093<h2 class="wp-block-heading">2022</h2> 1094 1095 1096 1097<ul class="wp-block-list"> 1098<li><a href="https://conf.fyne.io" target="_blank" rel="noreferrer noopener">FyneConf</a> – <a href="https://youtu.be/J8960TmU2jY" target="_blank" rel="noreferrer noopener">Best practices for excellent Fyne apps</a></li> 1099 1100 1101 1102<li>OSSSummit EU – <a href="https://events.linuxfoundation.org/archive/2022/open-source-summit-europe/program/schedule/" target="_blank" rel="noreferrer noopener">
1102Enabling a Truly Platform-Agnostic Development of Graphical Applications</a></li> 1103 1104 1105 1106<li>ScotSoft – Remote first and flexible hours = global reach, happy team</li> 1107 1108 1109 1110<li>GolangNYC – <a href="https://www.youtube.com/watch?v=qIuc-Y1ToL4&t=13s" target="_blank" rel="noreferrer noopener">How Go makes GUI apps simple</a></li> 1111</ul> 1112 1113 1114 1115<h2 class="wp-block-heading">2021</h2> 1116 1117 1118 1119<ul class="wp-block-list"> 1120<li>GopherCon – <a href="https://youtu.be/mkfpmavRwZQ?si=w0UyggcQl4PyvQFR">From First Line to App Store in 7 minutes</a> (Lightning talk)</li> 1121 1122 1123 1124<li>GoWest – <a href="https://www.youtube.com/watch?v=VESXrgCW50g&t=1919s" target="_blank" rel="noreferrer noopener">How Go makes GUI apps simple</a></li> 1125 1126 1127 1128<li><a href="https://conf.fyne.io" target="_blank" rel="noreferrer noopener">FyneConf</a> – <a href="https://youtu.be/1sHTbOyn7uo" target="_blank" rel="noreferrer noopener">Architecture and design, building apps for desktop and mobile</a></li> 1129 1130 1131 1132<li>ScotSoft – The Journey to FyshOS</li> 1133 1134 1135 1136<li>Gophers London – Building Cross Platform Graphical Apps</li> 1137 1138 1139 1140<li><a href="https://archive.fosdem.org/2021/schedule/speaker/andrew_williams/" target="_blank" rel="noreferrer noopener">FOSDEM</a> – <a href="https://archive.fosdem.org/2021/schedule/event/goguifyne/" target="_blank" rel="noreferrer noopener">Building Cross-Platform GUIs Fast Using Fyne</a></li> 1141</ul> 1142 1143 1144 1145<p class="wp-block-paragraph">If you would like me to present at an event or podcast you are organising please <a href="https://andy.xyz/contact/" target="_blank" rel="noreferrer noopener">get in touch</a>.</p> 1146<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" 1147 data-shared="sharing-twitter-7850" 1148 class="share-twitter sd-button share-icon" 1149 href="https://andy.xyz/speaking/?share=twitter" 1150 target="_blank" 1151 aria-labelledby="sharing-twitter-7850" 1152 > 1153 <span id="sharing-twitter-7850" hidden>Share on X (Opens in new window)</span> 1154 <span>X</span> 1155 </a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" 1156 data-shared="sharing-facebook-7850" 1157 class="share-facebook sd-button share-icon" 1158 href="https://andy.xyz/speaking/?share=facebook" 1159 target="_blank" 1160 aria-labelledby="sharing-facebook-7850" 1161 > 1162 <span id="sharing-facebook-7850" hidden>Share on Facebook (Opens in new window)</span> 1163 <span>Facebook</span> 1164 </a></li><li class="share-end"></li></ul></div></div></div></div> </div><!-- .entry-content --> 1165 1166 <footer class="entry-footer"> 1167 </footer><!-- .entry-footer --> 1168</article><!-- #post-## --> 1169 1170 1171 1172 </main><!-- #main --> 1173 </div><!-- #primary --> 1174 1175 1176 <button class="sidebar-toggle" aria-controls="secondary" aria-expanded="false"><span class="screen-reader-text">Sidebar</span></button> 1177 1178<div id="secondary" class="widget-area" role="complementary"> 1179 <aside id="search-2" class="widget widget_search"><form role="search" method="get" class="search-form" action="https://andy.xyz/"> 1180 <label> 1181 <span class="screen-reader-text">Search for:</span> 1182 <input type="search" class="search-field" placeholder="Search …" value="" name="s" /> 1183 </label> 1184 <input type="submit" class="search-submit" value="Search" /> 1185 </form></aside><aside id="block-2" class="widget widget_block"> 1186<h4 class="wp-block-heading">Follow Me</h4> 1187</aside><aside id="block-3" class="widget widget_block"> 1188<ul class="wp-block-social-links has-small-icon-size is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://www.linkedin.com/in/andrewjewilliams/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
1188<path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li> 1189 1190<li class="wp-social-link wp-social-link-mastodon wp-block-social-link"><a href="https://techhub.social/@andydotxyz" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M23.193 7.879c0-5.206-3.411-6.732-3.411-6.732C18.062.357 15.108.025 12.041 0h-.076c-3.068.025-6.02.357-7.74 1.147 0 0-3.411 1.526-3.411 6.732 0 1.192-.023 2.618.015 4.129.124 5.092.934 10.109 5.641 11.355 2.17.574 4.034.695 5.535.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.129.539c-2.165-.074-4.449-.233-4.799-2.891a5.499 5.499 0 0 1-.048-.745s2.125.52 4.817.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.507.475-6.507zm-4.024 6.709h-2.497V8.469c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.312v3.349h-2.483v-3.35c0-1.536-.602-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.944v6.119H4.832V8.284c0-1.289.328-2.313.987-3.07.68-.758 1.569-1.146 2.674-1.146 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.304z"/></svg><span class="wp-block-social-link-label screen-reader-text">Mastodon</span></a></li> 1191 1192<li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://twitter.com/andydotxyz" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Twitter</span></a></li> 1193 1194<li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/andydotxyz" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li> 1195 1196<li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/channel/UCNUyAVn7RHv5yrCpbQ1WhdA" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
1196<path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li> 1197 1198<li class="wp-social-link wp-social-link-reddit wp-block-social-link"><a href="https://www.reddit.com/user/andydotxyz" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M5.27 9.221A2.775 2.775 0 0 0 2.498 11.993a2.785 2.785 0 0 0 1.6 2.511 5.337 5.337 0 0 0 2.374 4.11 9.386 9.386 0 0 0 5.539 1.7 9.386 9.386 0 0 0 5.541-1.7 5.331 5.331 0 0 0 2.372-4.114 2.787 2.787 0 0 0 1.583-2.5 2.775 2.775 0 0 0-2.772-2.772 2.742 2.742 0 0 0-1.688.574 9.482 9.482 0 0 0-4.637-1.348v-.008a2.349 2.349 0 0 1 2.011-2.316 1.97 1.97 0 0 0 1.926 1.521 1.98 1.98 0 0 0 1.978-1.978 1.98 1.98 0 0 0-1.978-1.978 1.985 1.985 0 0 0-1.938 1.578 3.183 3.183 0 0 0-2.849 3.172v.011a9.463 9.463 0 0 0-4.59 1.35 2.741 2.741 0 0 0-1.688-.574Zm6.736 9.1a3.162 3.162 0 0 1-2.921-1.944.215.215 0 0 1 .014-.2.219.219 0 0 1 .168-.106 27.327 27.327 0 0 1 2.74-.133 27.357 27.357 0 0 1 2.74.133.219.219 0 0 1 .168.106.215.215 0 0 1 .014.2 3.158 3.158 0 0 1-2.921 1.944Zm3.743-3.157a1.265 1.265 0 0 1-1.4-1.371 1.954 1.954 0 0 1 .482-1.442 1.15 1.15 0 0 1 .842-.379 1.7 1.7 0 0 1 1.49 1.777 1.323 1.323 0 0 1-.325 1.015 1.476 1.476 0 0 1-1.089.4Zm-7.485 0a1.476 1.476 0 0 1-1.086-.4 1.323 1.323 0 0 1-.325-1.016 1.7 1.7 0 0 1 1.49-1.777 1.151 1.151 0 0 1 .843.379 1.951 1.951 0 0 1 .481 1.441 1.276 1.276 0 0 1-1.403 1.373Z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Reddit</span></a></li> 1199 1200<li class="wp-social-link wp-social-link-facebook wp-block-social-link"><a href="https://www.facebook.com/andydotxyz/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li> 1201 1202<li class="wp-social-link wp-social-link-wordpress wp-block-social-link"><a href="https://ajwilliams45.wordpress.com" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"></path></svg><span class="wp-block-social-link-label screen-reader-text">WordPress</span></a></li></ul> 1203</aside> 1204 <aside id="recent-posts-2" class="widget widget_recent_entries"> 1205 <h2 class="widget-title">Recent Posts</h2> 1206 <ul> 1207 <li> 1208 <a href="https://andy.xyz/2026/08/20/running-the-fyshos-desktop-on-surface-pro/">Running the FyshOS desktop on Surface Pro</a> 1209 </li> 1210 <li> 1211 <a href="https://andy.xyz/2026/06/10/adding-3d-special-effects/">Adding 3D special effects</a> 1212 </li> 1213 <li> 1214 <a href="https://andy.xyz/2026/01/26/what-is-ai-and-what-is-it-not/">What is AI (and what is it not)?</a> 1215 </li> 1216 <li> 1217 <a href="https://andy.xyz/2025/11/25/new-videos-now-on-patreon/">New videos now on Patreon!</a> 1218 </li> 1219 <li> 1220 <a href="https://andy.xyz/2025/11/04/scotsoft-2025-dinner-address/">ScotSoft 2025 Dinner Address</a> 1221 </li> 1222 </ul> 1223 1224 </aside><aside id="categories-2" class="widget widget_categories"><h2 class="widget-title">Categories</h2><form action="https://andy.xyz" method="get"><label class="screen-reader-text" for="cat">Categories</label><select name='cat' id='cat' class='postform'> 1225 <option value='-1'>
1225Select Category</option> 1226 <option class="level-0" value="179">Business (18)</option> 1227 <option class="level-0" value="9445">Celebrations (6)</option> 1228 <option class="level-0" value="332">Coding (52)</option> 1229 <option class="level-0" value="9204">Conferences (6)</option> 1230 <option class="level-0" value="713252430">CTO Questions (10)</option> 1231 <option class="level-0" value="4315">DIY (1)</option> 1232 <option class="level-0" value="43835">Enlightenment (38)</option> 1233 <option class="level-0" value="677">Friends (4)</option> 1234 <option class="level-0" value="3919368">Fyne (11)</option> 1235 <option class="level-0" value="1559">Gadgets (5)</option> 1236 <option class="level-0" value="1256">Gaming (4)</option> 1237 <option class="level-0" value="9285985">Hardware (6)</option> 1238 <option class="level-0" value="32">Infrastructure (2)</option> 1239 <option class="level-0" value="508661">Interwebs (10)</option> 1240 <option class="level-0" value="57912076">Kotikan (1)</option> 1241 <option class="level-0" value="4220">LEGO (1)</option> 1242 <option class="level-0" value="120">Mobile (9)</option> 1243 <option class="level-0" value="3015">Operating Systems (11)</option> 1244 <option class="level-0" value="16328">Railway (8)</option> 1245 <option class="level-0" value="653107252">RideOnRailway (1)</option> 1246 <option class="level-0" value="4449">Singing (3)</option> 1247 <option class="level-0" value="317585">Travel (2)</option> 1248 <option class="level-0" value="1">Uncategorized (48)</option> 1249</select> 1250</form>
1250<script> 1251( ( dropdownId ) => { 1252 const dropdown = document.getElementById( dropdownId ); 1253 function onSelectChange() { 1254 setTimeout( () => { 1255 if ( 'escape' === dropdown.dataset.lastkey ) { 1256 return; 1257 } 1258 if ( dropdown.value && parseInt( dropdown.value ) > 0 && dropdown instanceof HTMLSelectElement ) { 1259 dropdown.parentElement.submit(); 1260 } 1261 }, 250 ); 1262 } 1263 function onKeyUp( event ) { 1264 if ( 'Escape' === event.key ) { 1265 dropdown.dataset.lastkey = 'escape'; 1266 } else { 1267 delete dropdown.dataset.lastkey; 1268 } 1269 } 1270 function onClick() { 1271 delete dropdown.dataset.lastkey; 1272 } 1273 dropdown.addEventListener( 'keyup', onKeyUp ); 1274 dropdown.addEventListener( 'click', onClick ); 1275 dropdown.addEventListener( 'change', onSelectChange ); 1276})( "cat" ); 1277 1278//# sourceURL=WP_Widget_Categories%3A%3Awidget 1279</script>
1279 1280</aside><aside id="archives-2" class="widget widget_archive"><h2 class="widget-title">Archive</h2> <label class="screen-reader-text" for="archives-dropdown-2">Archive</label> 1281 <select id="archives-dropdown-2" name="archive-dropdown"> 1282 1283 <option value="">Select Month</option> 1284 <option value='https://andy.xyz/2026/08/'> August 2026 (1)</option> 1285 <option value='https://andy.xyz/2026/06/'> June 2026 (1)</option> 1286 <option value='https://andy.xyz/2026/01/'> January 2026 (1)</option> 1287 <option value='https://andy.xyz/2025/11/'> November 2025 (2)</option> 1288 <option value='https://andy.xyz/2025/09/'> September 2025 (1)</option> 1289 <option value='https://andy.xyz/2025/01/'> January 2025 (1)</option> 1290 <option value='https://andy.xyz/2024/12/'> December 2024 (1)</option> 1291 <option value='https://andy.xyz/2024/02/'> February 2024 (1)</option> 1292 <option value='https://andy.xyz/2023/09/'> September 2023 (1)</option> 1293 <option value='https://andy.xyz/2023/03/'> March 2023 (1)</option> 1294 <option value='https://andy.xyz/2021/03/'> March 2021 (1)</option> 1295 <option value='https://andy.xyz/2020/10/'> October 2020 (1)</option> 1296 <option value='https://andy.xyz/2020/02/'> February 2020 (1)</option> 1297 <option value='https://andy.xyz/2020/01/'> January 2020 (1)</option> 1298 <option value='https://andy.xyz/2019/11/'> November 2019 (1)</option> 1299 <option value='https://andy.xyz/2019/03/'> March 2019 (2)</option> 1300 <option value='https://andy.xyz/2018/10/'> October 2018 (2)</option> 1301 <option value='https://andy.xyz/2018/09/'> September 2018 (1)</option> 1302 <option value='https://andy.xyz/2018/08/'> August 2018 (1)</option> 1303 <option value='https://andy.xyz/2018/07/'> July 2018 (1)</option> 1304 <option value='https://andy.xyz/2018/04/'> April 2018 (1)</option> 1305 <option value='https://andy.xyz/2018/02/'> February 2018 (2)</option> 1306 <option value='https://andy.xyz/2018/01/'> January 2018 (1)</option> 1307 <option value='https://andy.xyz/2017/12/'> December 2017 (2)</option> 1308 <option value='https://andy.xyz/2017/11/'> November 2017 (1)</option> 1309 <option value='https://andy.xyz/2017/10/'> October 2017 (1)</option> 1310 <option value='https://andy.xyz/2017/09/'> September 2017 (2)</option> 1311 <option value='https://andy.xyz/2017/04/'> April 2017 (1)</option> 1312 <option value='https://andy.xyz/2017/02/'> February 2017 (1)</option> 1313 <option value='https://andy.xyz/2016/09/'> September 2016 (2)</option> 1314 <option value='https://andy.xyz/2016/07/'> July 2016 (1)</option> 1315 <option value='https://andy.xyz/2016/06/'> June 2016 (3)</option> 1316 <option value='https://andy.xyz/2016/05/'> May 2016 (1)</option> 1317 <option value='https://andy.xyz/2016/04/'> April 2016 (1)</option> 1318 <option value='https://andy.xyz/2016/03/'> March 2016 (1)</option> 1319 <option value='https://andy.xyz/2016/02/'> February 2016 (2)</option> 1320 <option value='https://andy.xyz/2016/01/'> January 2016 (2)</option> 1321 <option value='https://andy.xyz/2015/12/'> December 2015 (2)</option> 1322 <option value='https://andy.xyz/2015/09/'> September 2015 (2)</option> 1323 <option value='https://andy.xyz/2015/08/'> August 2015 (1)</option> 1324 <option value='https://andy.xyz/2015/05/'> May 2015 (1)</option> 1325 <option value='https://andy.xyz/2015/02/'> February 2015 (1)</option> 1326 <option value='https://andy.xyz/2015/01/'> January 2015 (3)</option> 1327 <option value='https://andy.xyz/2014/11/'>
1327 November 2014 (3)</option> 1328 <option value='https://andy.xyz/2014/10/'> October 2014 (2)</option> 1329 <option value='https://andy.xyz/2014/06/'> June 2014 (2)</option> 1330 <option value='https://andy.xyz/2014/05/'> May 2014 (1)</option> 1331 <option value='https://andy.xyz/2014/04/'> April 2014 (1)</option> 1332 <option value='https://andy.xyz/2014/03/'> March 2014 (2)</option> 1333 <option value='https://andy.xyz/2014/02/'> February 2014 (6)</option> 1334 <option value='https://andy.xyz/2014/01/'> January 2014 (1)</option> 1335 <option value='https://andy.xyz/2013/12/'> December 2013 (1)</option> 1336 <option value='https://andy.xyz/2013/11/'> November 2013 (1)</option> 1337 <option value='https://andy.xyz/2013/09/'> September 2013 (1)</option> 1338 <option value='https://andy.xyz/2013/01/'> January 2013 (1)</option> 1339 <option value='https://andy.xyz/2012/02/'> February 2012 (1)</option> 1340 <option value='https://andy.xyz/2011/12/'> December 2011 (1)</option> 1341 <option value='https://andy.xyz/2011/11/'> November 2011 (2)</option> 1342 <option value='https://andy.xyz/2011/07/'> July 2011 (1)</option> 1343 <option value='https://andy.xyz/2011/05/'> May 2011 (3)</option> 1344 <option value='https://andy.xyz/2010/05/'> May 2010 (1)</option> 1345 <option value='https://andy.xyz/2010/01/'> January 2010 (1)</option> 1346 <option value='https://andy.xyz/2009/09/'> September 2009 (1)</option> 1347 <option value='https://andy.xyz/2009/05/'> May 2009 (1)</option> 1348 <option value='https://andy.xyz/2008/11/'> November 2008 (1)</option> 1349 <option value='https://andy.xyz/2008/03/'> March 2008 (1)</option> 1350 <option value='https://andy.xyz/2008/02/'> February 2008 (2)</option> 1351 <option value='https://andy.xyz/2007/11/'> November 2007 (2)</option> 1352 <option value='https://andy.xyz/2007/10/'> October 2007 (1)</option> 1353 <option value='https://andy.xyz/2007/09/'> September 2007 (2)</option> 1354 <option value='https://andy.xyz/2007/05/'> May 2007 (1)</option> 1355 <option value='https://andy.xyz/2007/04/'> April 2007 (4)</option> 1356 <option value='https://andy.xyz/2007/01/'> January 2007 (2)</option> 1357 <option value='https://andy.xyz/2006/09/'> September 2006 (2)</option> 1358 <option value='https://andy.xyz/2006/05/'> May 2006 (2)</option> 1359 <option value='https://andy.xyz/2006/02/'> February 2006 (2)</option> 1360 <option value='https://andy.xyz/2006/01/'> January 2006 (4)</option> 1361 <option value='https://andy.xyz/2005/10/'> October 2005 (2)</option> 1362 <option value='https://andy.xyz/2005/09/'> September 2005 (1)</option> 1363 <option value='https://andy.xyz/2005/08/'> August 2005 (3)</option> 1364 <option value='https://andy.xyz/2005/07/'> July 2005 (2)</option> 1365 <option value='https://andy.xyz/2005/06/'> June 2005 (1)</option> 1366 <option value='https://andy.xyz/2005/04/'> April 2005 (2)</option> 1367 <option value='https://andy.xyz/2005/03/'> March 2005 (3)</option> 1368 <option value='https://andy.xyz/2005/02/'> February 2005 (2)</option> 1369 <option value='https://andy.xyz/2005/01/'> January 2005 (3)</option> 1370 <option value='https://andy.xyz/2004/12/'> December 2004 (8)</option> 1371 <option value='https://andy.xyz/2004/10/'> October 2004 (1)</option> 1372 <option value='https://andy.xyz/2004/09/'> September 2004 (3)</option> 1373 <option value='https://andy.xyz/2004/08/'> August 2004 (2)</option> 1374 <option value='https://andy.xyz/2004/07/'> July 2004 (3)</option> 1375 <option value='https://andy.xyz/2004/06/'> June 2004 (1)</option> 1376 <option value='https://andy.xyz/2004/02/'> February 2004 (1)</option> 1377 <option value='https://andy.xyz/2004/01/'> January 2004 (2)</option> 1378 <option value='https://andy.xyz/2003/12/'> December 2003 (2)</option> 1379 <option value='https://andy.xyz/2003/11/'> November 2003 (3)</option> 1380 <option value='https://andy.xyz/2003/09/'> September 2003 (2)</option> 1381 <option value='https://andy.xyz/2003/08/'> August 2003 (1)</option> 1382 <option value='https://andy.xyz/2003/07/'> July 2003 (8)</option> 1383 <option value='https://andy.xyz/2003/06/'> June 2003 (5)</option> 1384 <option value='https://andy.xyz/2003/05/'> May 2003 (5)</option> 1385 1386 </select> 1387 1388
1388<script> 1389( ( dropdownId ) => { 1390 const dropdown = document.getElementById( dropdownId ); 1391 function onSelectChange() { 1392 setTimeout( () => { 1393 if ( 'escape' === dropdown.dataset.lastkey ) { 1394 return; 1395 } 1396 if ( dropdown.value ) { 1397 document.location.href = dropdown.value; 1398 } 1399 }, 250 ); 1400 } 1401 function onKeyUp( event ) { 1402 if ( 'Escape' === event.key ) { 1403 dropdown.dataset.lastkey = 'escape'; 1404 } else { 1405 delete dropdown.dataset.lastkey; 1406 } 1407 } 1408 function onClick() { 1409 delete dropdown.dataset.lastkey; 1410 } 1411 dropdown.addEventListener( 'keyup', onKeyUp ); 1412 dropdown.addEventListener( 'click', onClick ); 1413 dropdown.addEventListener( 'change', onSelectChange ); 1414})( "archives-dropdown-2" ); 1415 1416//# sourceURL=WP_Widget_Archives%3A%3Awidget 1417</script>
1417 1418</aside><aside id="calendar-3" class="widget widget_calendar"><div id="calendar_wrap" class="calendar_wrap"><table id="wp-calendar" class="wp-calendar-table"> 1419 <caption>September 2026</caption> 1420 <thead> 1421 <tr> 1422 <th scope="col" aria-label="Monday">M</th> 1423 <th scope="col" aria-label="Tuesday">T</th> 1424 <th scope="col" aria-label="Wednesday">W</th> 1425 <th scope="col" aria-label="Thursday">T</th> 1426 <th scope="col" aria-label="Friday">F</th> 1427 <th scope="col" aria-label="Saturday">S</th> 1428 <th scope="col" aria-label="Sunday">S</th> 1429 </tr> 1430 </thead> 1431 <tbody> 1432 <tr> 1433 <td colspan="1" class="pad"> </td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td> 1434 </tr> 1435 <tr> 1436 <td>7</td><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td> 1437 </tr> 1438 <tr> 1439 <td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td> 1440 </tr> 1441 <tr> 1442 <td>21</td><td>22</td><td>23</td><td id="today">24</td><td>25</td><td>26</td><td>27</td> 1443 </tr> 1444 <tr> 1445 <td>28</td><td>29</td><td>30</td> 1446 <td class="pad" colspan="4"> </td> 1447 </tr> 1448 </tbody> 1449 </table><nav aria-label="Previous and next months" class="wp-calendar-nav"> 1450 <span class="wp-calendar-nav-prev"><a href="https://andy.xyz/2026/08/">« Aug</a></span> 1451 <span class="pad"> </span> 1452 <span class="wp-calendar-nav-next"> </span> 1453 </nav></div></aside> 1454 <aside id="recent-posts-4" class="widget widget_recent_entries"> 1455 <h2 class="widget-title">Recent Posts</h2> 1456 <ul> 1457 <li> 1458 <a href="https://andy.xyz/2026/08/20/running-the-fyshos-desktop-on-surface-pro/">Running the FyshOS desktop on Surface Pro</a> 1459 </li> 1460 <li> 1461 <a href="https://andy.xyz/2026/06/10/adding-3d-special-effects/">Adding 3D special effects</a> 1462 </li> 1463 <li> 1464 <a href="https://andy.xyz/2026/01/26/what-is-ai-and-what-is-it-not/">What is AI (and what is it not)?</a> 1465 </li> 1466 <li> 1467 <a href="https://andy.xyz/2025/11/25/new-videos-now-on-patreon/">New videos now on Patreon!</a> 1468 </li> 1469 <li> 1470 <a href="https://andy.xyz/2025/11/04/scotsoft-2025-dinner-address/">ScotSoft 2025 Dinner Address</a> 1471 </li> 1472 </ul> 1473 1474 </aside></div><!-- #secondary --> 1475 </div><!-- .site-content-inner --> 1476 1477 1478 </div><!-- #content --> 1479 1480 1481 1482 1483 1484 <footer id="colophon" class="site-footer" role="contentinfo"> 1485 <div id="site-info" class="site-info"> 1486 1487 1488 </div><!-- #site-info --> 1489 </footer><!-- #colophon --> 1490</div><!-- #page --> 1491 1492<!-- -->
1493<script type="speculationrules"> 1494{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/files/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/pub/canard/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1495</script>
vendor: 1 bytes, line 1495
1495
1496<script id="grofiles-cards-js" src="//0.gravatar.com/js/hovercards/hovercards.min.js?ver=202639d1133547e8a1f2801609f51cef12522abe7f6647d869e9fbc974fe356a37e613"></script>
vendor: 1 bytes, line 1496
1496
1497<script id="wpgroho-js-extra"> 1498var WPGroHo = {"my_hash":""}; 1499//# sourceURL=wpgroho-js-extra 1500</script>
vendor: 1 bytes, line 1500
1500
1501<script crossorigin='anonymous' type='text/javascript' src='/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1610363240i'></script>
1501 1502 1503
1503<script> 1504 // Initialize and attach hovercards to all gravatars 1505 ( function() { 1506 function init() { 1507 if ( typeof Gravatar === 'undefined' ) { 1508 return; 1509 } 1510 1511 if ( typeof Gravatar.init !== 'function' ) { 1512 return; 1513 } 1514 1515 Gravatar.profile_cb = function ( hash, id ) { 1516 WPGroHo.syncProfileData( hash, id ); 1517 }; 1518 1519 Gravatar.my_hash = WPGroHo.my_hash; 1520 Gravatar.init( 1521 'body', 1522 '#wp-admin-bar-my-account', 1523 { 1524 i18n: { 1525 'Edit your profile â': 'Edit your profile â', 1526 'View profile â': 'View profile â', 1527 'Contact': 'Contact', 1528 'Send money': 'Send money', 1529 'Sorry, we are unable to load this Gravatar profile.': 'Sorry, we are unable to load this Gravatar profile.', 1530 'Gravatar not found.': 'Gravatar not found.', 1531 'Too Many Requests.': 'Too Many Requests.', 1532 'Internal Server Error.': 'Internal Server Error.', 1533 'Is this you?': 'Is this you?', 1534 'Claim your free profile.': 'Claim your free profile.', 1535 'Email': 'Email', 1536 'Home Phone': 'Home Phone', 1537 'Work Phone': 'Work Phone', 1538 'Cell Phone': 'Cell Phone', 1539 'Contact Form': 'Contact Form', 1540 'Calendar': 'Calendar', 1541 }, 1542 } 1543 ); 1544 } 1545 1546 if ( document.readyState !== 'loading' ) { 1547 init(); 1548 } else { 1549 document.addEventListener( 'DOMContentLoaded', init ); 1550 } 1551 } )(); 1552 </script>
1552 1553 1554 <div style="display:none"> 1555 </div> 1556 <div id="actionbar" dir="ltr" style="display: none;" 1557 class="actnbr-pub-canard" role="region" aria-label="Site actions"> 1558 <span class="actnbr-live" aria-live="polite"></span> 1559 <ul> 1560 <li class="actnbr-btn actnbr-hidden"> 1561 <a class="actnbr-action actnbr-actn-follow " href="" role="button" aria-haspopup="dialog" aria-expanded="false"> 1562 <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> 1563 </a> 1564 <a class="actnbr-action actnbr-actn-following no-display" href="" role="button"> 1565 <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> 1566 </a> 1567 <div class="actnbr-popover actnbr-panel actnbr-notice" id="follow-bubble" role="dialog" aria-label="Subscribe to Andy.xyz"> 1568 <div class="actnbr-follow-bubble"> 1569 <div class="actnbr-panel__group"><a class="actnbr-menu__item actnbr-sitename" href="https://andy.xyz"><img loading='lazy' alt='' src='https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=50&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png' srcset='https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=50&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=75&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1.5x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=100&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 2x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=150&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 3x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=200&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 4x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">Andy.xyz</span></a></div> <div class="actnbr-panel__group"> 1570 <div class="actnbr-message no-display" aria-live="polite"></div> 1571 <form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" class="no-display"> 1572 <div class="actnbr-follow-count">Join 35 other subscribers</div> 1573 <input type="email" name="email" placeholder="Want updates? Enter your email" class="actnbr-email-field" aria-label="Email address" /> 1574 <input type="hidden" name="action" value="subscribe" /> 1575 <input type="hidden" name="blog_id" value="63451150" /> 1576 <input type="hidden" name="source" value="https://andy.xyz/speaking/" /> 1577 <input type="hidden" name="sub-type" value="actionbar-follow" /> 1578 <input type="hidden" id="_wpnonce" name="_wpnonce" value="be0fa805bd" /> <button type="submit" class="actnbr-button">Sign me up</button> 1579 </form> 1580 <p class="actnbr-login-nudge"> 1581 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%252Fandy.xyz%252Fspeaking%252F">Log in now.</a> </p> 1582 </div> 1583 </div> 1584 </div> 1585 </li> 1586 <li class="actnbr-ellipsis actnbr-hidden"> 1587 <button type="button" class="actnbr-more-toggle" aria-haspopup="true" aria-expanded="false" aria-label="More options"> 1588 <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> 1589 <div class="actnbr-popover actnbr-menu" role="menu" aria-label="Site options"> 1590 <div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-sitename" href="https://andy.xyz"><img loading='lazy' alt='' src='https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=50&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png' srcset='https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=50&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=75&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 1.5x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=100&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 2x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=150&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 3x, https://secure.gravatar.com/blavatar/796dee30ca012cb373db61fb3f0f84969f1c0c12fd91ad746539e8188743d309?s=200&d=https%3A%2F%2Fs-ssl.wordpress.com%2Fi%2Flogo%2Fwpcom-gray-white.png 4x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">Andy.xyz</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-shortlink" href="https://wp.me/P4iexE-22C"><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/63451150/posts/7850"><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%252Fandy.xyz%252Fspeaking%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://andy.xyz/speaking/" 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> 1591 </li> 1592 </ul> 1593 </div> 1594
1594<script> 1595window.addEventListener( "DOMContentLoaded", function () { 1596 var link = document.createElement( "link" ); 1597 link.href = "\/wp-content\/mu-plugins\/jetpack-plugin\/sun\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.css?ver=9e2715140ce0af99d983"; 1598 link.rel = "stylesheet"; 1599 document.head.appendChild( link ); 1600 1601 var script = document.createElement( "script" ); 1602 script.src = "\/wp-content\/mu-plugins\/jetpack-plugin\/sun\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.js?ver=9e2715140ce0af99d983"; 1603 document.body.appendChild( script ); 1604 } ); 1605</script>
1605 1606 1607
1607<script type="text/javascript"> 1608 window.WPCOM_sharing_counts = {"https://andy.xyz/speaking/":7850}; 1609 </script>
1609 1610 1611
1611<script type="text/javascript"> 1612 (function () { 1613 var wpcom_reblog = { 1614 source: 'toolbar', 1615 1616 toggle_reblog_box_flair: function (obj_id, post_id) { 1617 1618 // Go to site selector. This will redirect to their blog if they only have one. 1619 const postEndpoint = `https://wordpress.com/post`; 1620 1621 // Ideally we would use the permalink here, but fortunately this will be replaced with the 1622 // post permalink in the editor. 1623 const originalURL = `${ document.location.href }?page_id=${ post_id }`; 1624 1625 const url = 1626 postEndpoint + 1627 '?url=' + 1628 encodeURIComponent( originalURL ) + 1629 '&is_post_share=true' + 1630 '&v=5'; 1631 1632 const redirect = function () { 1633 if ( 1634 ! window.open( url, '_blank' ) 1635 ) { 1636 location.href = url; 1637 } 1638 }; 1639 1640 if ( /Firefox/.test( navigator.userAgent ) ) { 1641 setTimeout( redirect, 0 ); 1642 } else { 1643 redirect(); 1644 } 1645 }, 1646 }; 1647 1648 window.wpcom_reblog = wpcom_reblog; 1649 })(); 1650 </script>
vendor: 1 bytes, line 1650
1650
1651<script id="sharing-js-js-extra"> 1652var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"}; 1653//# sourceURL=sharing-js-js-extra 1654</script>
vendor: 1 bytes, line 1654
1654
1655<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJyNkN0KwjAMhV/ILgiD6YX4KJK12Zqty+ra+PP2TlEYXvUicALfgY8D92jsLJkkw6QmBu1ZEgQeKcFVScmjuEBLNaQdbODsaVqRqC1YFFwcDAkEb9xj5lmK8I4w60LuRxWVPKEr1EmEi/VlKEsfqBB11GKhwcjRBJbRdLPVZDp+/Pc2qw+UI9rx+0NSgQuLhVY5OEge163QuecnrsLVxO+hz9Np3xyaY12vN7wAQ8mssA=='></script>
vendor: 1 bytes, line 1655
1655
1656<script id="sharing-js-js-after"> 1657window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {}; 1658window.WPCOM_sharing_popups[ "twitter" ] = "menubar=1,resizable=1,width=600,height=350"; 1659window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {}; 1660window.WPCOM_sharing_popups[ "facebook" ] = "menubar=1,resizable=1,width=600,height=400"; 1661//# sourceURL=sharing-js-js-after 1662</script>
vendor: 1 bytes, line 1662
1662
1663<script id="wp-emoji-settings" type="application/json"> 1664{"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-63587"}} 1665</script>
vendor: 1 bytes, line 1665
1665
1666<script type="module"> 1667/*! This file is auto-generated */ 1668var 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)))}); 1669//# sourceURL=/wp-includes/js/wp-emoji-loader.min.js 1670</script>
vendor: 1 bytes, line 1670
1670
1671<script src="//stats.wp.com/w.js?69" defer></script>
1671
1671<script type="text/javascript"> 1672_tkq = window._tkq || []; 1673_stq = window._stq || []; 1674_tkq.push(['storeContext', {'blog_id':'63451150','blog_tz':'1','user_lang':'en','blog_lang':'en','user_id':'0'}]); 1675 // Prevent sending pageview tracking from WP-Admin pages. 1676 _stq.push(['view', {'blog':'63451150','v':'wpcom','tz':'1','user_id':'0','post':'7850','subd':'ajwilliams45'}]); 1677 _stq.push(['extra', {'crypt':'UE5tW3cvZGQ9QytlU1QvTzd6d0gtZkNkMk1uUXIwSkZiZWxUa1FFVnJ5W2YxfnFPUzRaS1J6VnQxfGlRYlomK0NaXU42OU1kcHRlM35dWlhOc2ZTaDdaLHBXS2ptXTEvVmV6VHRbWmp5TGZHSHVibGpYa3RBMnBjUlpVUzBMelVUVGs4Y3EzbWF4WXJLfkE4SGp3ZVk3enYxMjRCRi0rSmJTNz8rNH5lZUo/cXA5'}]); 1678_stq.push([ 'clickTrackerInit', '63451150', '7850' ]); 1679</script>
1679 1680<noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript> 1681<meta id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="Europe/London" data-custom-props="{"enq_jquery":"1","logged_in":"0","wptheme":"pub\/canard","wptheme_is_block":"0"}" > 1682
1682<script defer src="/wp-content/js/bilmur.min.js?i=19&m=202639"></script>
1682 1683</body> 1684</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.