CINXE.COM
PyCon HK - The leading Python Conference in Hong Kong
<!DOCTYPE html> <html dir="ltr" lang="en-US" prefix="og: https://ogp.me/ns#"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <!-- All in One SEO 4.7.5.1 - aioseo.com --> <meta name="description" content="PyCon Hong Kong is the leading Python conference in Hong Kong, bringing together Python enthusiasts to share their insights and foster collaboration." /> <meta name="robots" content="max-image-preview:large" /> <link rel="canonical" href="https://pycon.hk/" /> <link rel="next" href="https://pycon.hk/page/2/" /> <meta name="generator" content="All in One SEO (AIOSEO) 4.7.5.1" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="PyCon HK - The leading Python Conference in Hong Kong" /> <meta property="og:type" content="website" /> <meta property="og:title" content="PyCon HK - The leading Python Conference in Hong Kong" /> <meta property="og:description" content="PyCon Hong Kong is the leading Python conference in Hong Kong, bringing together Python enthusiasts to share their insights and foster collaboration." /> <meta property="og:url" content="https://pycon.hk/" /> <meta property="og:image" content="https://pycon.hk/wp-content/uploads/2024/09/fb_group_1640x856.jpg" /> <meta property="og:image:secure_url" content="https://pycon.hk/wp-content/uploads/2024/09/fb_group_1640x856.jpg" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@pyconhk" /> <meta name="twitter:title" content="PyCon HK - The leading Python Conference in Hong Kong" /> <meta name="twitter:description" content="PyCon Hong Kong is the leading Python conference in Hong Kong, bringing together Python enthusiasts to share their insights and foster collaboration." /> <meta name="twitter:image" content="https://pycon.hk/wp-content/uploads/2024/09/logo_1200px.gif" /> <script type="application/ld+json" class="aioseo-schema"> {"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/pycon.hk\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/pycon.hk\/#listItem","position":1,"name":"Home"}]},{"@type":"CollectionPage","@id":"https:\/\/pycon.hk\/#collectionpage","url":"https:\/\/pycon.hk\/","name":"PyCon HK - The leading Python Conference in Hong Kong","description":"PyCon Hong Kong is the leading Python conference in Hong Kong, bringing together Python enthusiasts to share their insights and foster collaboration.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/pycon.hk\/#website"},"breadcrumb":{"@id":"https:\/\/pycon.hk\/#breadcrumblist"},"about":{"@id":"https:\/\/pycon.hk\/#organization"}},{"@type":"Organization","@id":"https:\/\/pycon.hk\/#organization","name":"PyCon HK","description":"The leading Python Conference in Hong Kong","url":"https:\/\/pycon.hk\/","logo":{"@type":"ImageObject","url":"https:\/\/pycon.hk\/wp-content\/uploads\/2024\/09\/logo_1200px.gif","@id":"https:\/\/pycon.hk\/#organizationLogo","width":1200,"height":1200},"image":{"@id":"https:\/\/pycon.hk\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/pyconhk\/","https:\/\/twitter.com\/pyconhk\/","https:\/\/www.youtube.com\/c\/pyconhk","https:\/\/www.linkedin.com\/company\/pyconhk\/"]},{"@type":"WebSite","@id":"https:\/\/pycon.hk\/#website","url":"https:\/\/pycon.hk\/","name":"PyCon HK","description":"The leading Python Conference in Hong Kong","inLanguage":"en-US","publisher":{"@id":"https:\/\/pycon.hk\/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pycon.hk\/?s={search_term_string}"},"query-input":"required name=search_term_string"}}]} </script> <!-- All in One SEO --> <!-- Google Tag Manager for WordPress by gtm4wp.com --> <script data-cfasync="false" data-pagespeed-no-defer> var gtm4wp_datalayer_name = "dataLayer"; var dataLayer = dataLayer || []; const gtm4wp_scrollerscript_debugmode = false; const gtm4wp_scrollerscript_callbacktime = 100; const gtm4wp_scrollerscript_readerlocation = 150; const gtm4wp_scrollerscript_contentelementid = "content"; const gtm4wp_scrollerscript_scannertime = 60; </script> <!-- End Google Tag Manager for WordPress by gtm4wp.com --><title>PyCon HK - The leading Python Conference in Hong Kong</title> <link rel="alternate" type="application/rss+xml" title="PyCon HK » Feed" href="https://pycon.hk/feed/" /> <link rel="alternate" type="application/rss+xml" title="PyCon HK » Comments Feed" href="https://pycon.hk/comments/feed/" /> <!-- This site uses the Google Analytics by MonsterInsights plugin v9.2.2 - Using Analytics tracking - https://www.monsterinsights.com/ --> <!-- Note: MonsterInsights is not currently configured on this site. The site owner needs to authenticate with Google Analytics in the MonsterInsights settings panel. --> <!-- No tracking code set --> <!-- / Google Analytics by MonsterInsights --> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/pycon.hk\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!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!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));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(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style id="content-control-block-styles"> @media (max-width: 640px) { .cc-hide-on-mobile { display: none !important; } } @media (min-width: 641px) and (max-width: 920px) { .cc-hide-on-tablet { display: none !important; } } @media (min-width: 921px) and (max-width: 1440px) { .cc-hide-on-desktop { display: none !important; } } </style> <style id='wp-block-image-inline-css'> .wp-block-image a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media (prefers-reduced-motion:no-preference){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull a,.wp-block-image.alignwide a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} </style> <style id='wp-block-image-theme-inline-css'> :root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em} </style> <style id='wp-block-site-title-inline-css'> .wp-block-site-title{box-sizing:border-box}.wp-block-site-title :where(a){color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:inherit} </style> <style id='wp-block-group-inline-css'> .wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative} </style> <style id='wp-block-group-theme-inline-css'> :where(.wp-block-group.has-background){padding:1.25em 2.375em} </style> <style id='wp-block-navigation-link-inline-css'> .wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.link-ui-tools{border-top:1px solid #f0f0f0;padding:8px}.link-ui-block-inserter{padding-top:8px}.link-ui-block-inserter__back{margin-left:8px;text-transform:uppercase} </style> <link rel='stylesheet' id='wp-block-navigation-css' href='https://pycon.hk/wp-includes/blocks/navigation/style.min.css?ver=6.7' media='all' /> <style id='wp-block-template-part-theme-inline-css'> :root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em} </style> <style id='wp-block-paragraph-inline-css'> .is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} </style> <style id='wp-block-spacer-inline-css'> .wp-block-spacer{clear:both} </style> <style id='wp-block-heading-inline-css'> h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-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} </style> <style id='wp-block-button-inline-css'> .wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none} </style> <style id='wp-block-buttons-inline-css'> .wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center} </style> <link rel='stylesheet' id='wp-block-cover-css' href='https://pycon.hk/wp-includes/blocks/cover/style.min.css?ver=6.7' media='all' /> <style id='wp-block-columns-inline-css'> .wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} </style> <link rel='stylesheet' id='wp-block-gallery-css' href='https://pycon.hk/wp-includes/blocks/gallery/style.min.css?ver=6.7' media='all' /> <style id='wp-block-gallery-theme-inline-css'> .blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6} </style> <link rel='stylesheet' id='wp-block-social-links-css' href='https://pycon.hk/wp-includes/blocks/social-links/style.min.css?ver=6.7' media='all' /> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id='wp-block-library-inline-css'> :root{--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,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color)}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}: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)}.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)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;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-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([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}} </style> <link rel='stylesheet' id='content-control-block-styles-css' href='https://pycon.hk/wp-content/plugins/content-control/dist/style-block-editor.css?ver=2.5.0' media='all' /> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #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--custom-primary: #000000;--wp--preset--color--custom-secondary: #f4e44d;--wp--preset--color--custom-background-secondary: #002020;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 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,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--system-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;--wp--preset--font-family--montserrat: Montserrat, 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 rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:root { --wp--style--global--content-size: 1180px;--wp--style--global--wide-size: 1400px; }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 24px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 24px;}:root :where(.is-layout-grid){gap: 24px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}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{font-family: var(--wp--preset--font-family--montserrat);font-size: 16px;line-height: 1.7;--wp--style--root--padding-top: 0px;--wp--style--root--padding-right: 40px;--wp--style--root--padding-bottom: 0px;--wp--style--root--padding-left: 40px;}a:where(:not(.wp-element-button)){font-family: var(--wp--preset--font-family--montserrat);font-size: 16px;text-decoration: underline;}h1, h2, h3, h4, h5, h6{font-family: var(--wp--preset--font-family--montserrat);line-height: 1.3;}h1{font-size: 61px;}h2{font-size: 48px;}h3{font-size: 39px;}h4{font-size: 31px;}h5{font-size: 25px;}h6{font-size: 20px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: var(--wp--preset--font-family--montserrat);font-size: 16px;line-height: inherit;padding: calc(0.667em + 2px) calc(1.333em + 2px);text-decoration: none;}:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption){font-family: var(--wp--preset--font-family--montserrat);font-size: 16px;}.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-custom-primary-color{color: var(--wp--preset--color--custom-primary) !important;}.has-custom-secondary-color{color: var(--wp--preset--color--custom-secondary) !important;}.has-custom-background-secondary-color{color: var(--wp--preset--color--custom-background-secondary) !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-custom-primary-background-color{background-color: var(--wp--preset--color--custom-primary) !important;}.has-custom-secondary-background-color{background-color: var(--wp--preset--color--custom-secondary) !important;}.has-custom-background-secondary-background-color{background-color: var(--wp--preset--color--custom-background-secondary) !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-custom-primary-border-color{border-color: var(--wp--preset--color--custom-primary) !important;}.has-custom-secondary-border-color{border-color: var(--wp--preset--color--custom-secondary) !important;}.has-custom-background-secondary-border-color{border-color: var(--wp--preset--color--custom-background-secondary) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-system-font-font-family{font-family: var(--wp--preset--font-family--system-font) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}\ </style> <style id='core-block-supports-inline-css'> .wp-elements-e234007229aa4478cc53f466392a1c9b a:where(:not(.wp-element-button)){color:var(--wp--preset--color--base-2);}.wp-container-core-group-is-layout-1{gap:var(--wp--preset--spacing--20);}.wp-container-core-navigation-is-layout-1{gap:var(--wp--preset--spacing--50);justify-content:flex-end;}.wp-container-core-group-is-layout-2{justify-content:flex-start;}.wp-container-core-group-is-layout-3{justify-content:space-between;}.wp-elements-a920cf28353467421a69c9fc39a8b95f a:where(:not(.wp-element-button)){color:var(--wp--preset--color--base);}.wp-elements-16e4f10682909080f0098ad10ed16a64 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--custom-secondary);}.wp-container-core-group-is-layout-5{flex-wrap:nowrap;gap:var(--wp--preset--spacing--40);justify-content:center;}.wp-elements-3b940bea0eb6b4cf90a10066d7a8fdc2 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--base);}.wp-container-core-buttons-is-layout-1{justify-content:center;}.wp-container-core-group-is-layout-6 > .alignfull{margin-right:calc(0rem * -1);margin-left:calc(0rem * -1);}.wp-container-core-group-is-layout-6 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-6 > * + *{margin-block-start:0px;margin-block-end:0;}.wp-container-core-cover-is-layout-1 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-cover-is-layout-1 > * + *{margin-block-start:0;margin-block-end:0;}.wp-container-core-columns-is-layout-1{flex-wrap:nowrap;gap:2em var(--wp--preset--spacing--70);}.wp-block-gallery.wp-block-gallery-3{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-4{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-5{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-6{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-7{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-8{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-container-core-columns-is-layout-2{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--20);}.wp-block-gallery.wp-block-gallery-9{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-10{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-11{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-12{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-13{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-14{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-container-core-columns-is-layout-3{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--20);}.wp-block-gallery.wp-block-gallery-15{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-16{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-17{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-18{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-19{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-20{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-container-core-columns-is-layout-4{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--20);}.wp-block-gallery.wp-block-gallery-21{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-22{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-23{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-24{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-25{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-26{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-container-core-columns-is-layout-5{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--20);}.wp-block-gallery.wp-block-gallery-27{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-28{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-29{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-30{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-31{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-32{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-container-core-columns-is-layout-6{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--20);}.wp-block-gallery.wp-block-gallery-33{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-34{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-35{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-36{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-37{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-38{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-container-core-columns-is-layout-7{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--20);}.wp-block-gallery.wp-block-gallery-39{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-40{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-41{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-container-core-columns-is-layout-8{flex-wrap:nowrap;gap:0 var(--wp--preset--spacing--20);}.wp-elements-de6d29f908cee2e7fd5f02f60744e732 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-container-core-columns-is-layout-9{flex-wrap:nowrap;}.wp-elements-8d8e2d39ed2d25c0d688d3025194a2d6 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--white);}.wp-container-core-group-is-layout-20{flex-wrap:nowrap;justify-content:space-between;}.wp-container-core-group-is-layout-22 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-22 > * + *{margin-block-start:0;margin-block-end:0;}.wp-duotone-unset-2.wp-block-cover > .wp-block-cover__image-background, .wp-duotone-unset-2.wp-block-cover > .wp-block-cover__video-background{filter:unset;} </style> <style id='wp-block-template-skip-link-inline-css'> .skip-link.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; } .skip-link.screen-reader-text:focus { background-color: #eee; clip: auto !important; 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; } </style> <link rel='stylesheet' id='mptt-style-css' href='https://pycon.hk/wp-content/plugins/mp-timetable/media/css/style.css?ver=2.4.14' media='all' /> <link rel='stylesheet' id='wpnextpreviouslink-public-css' href='https://pycon.hk/wp-content/plugins/wpnextpreviouslink/assets/css/wpnextpreviouslink-public.css?ver=2.7.2' media='all' /> <link rel='stylesheet' id='voyago-blocks-style-css' href='https://pycon.hk/wp-content/themes/voyago/assets/css/block.css?ver=1.0' media='all' /> <link rel='stylesheet' id='style-css-css' href='https://pycon.hk/wp-content/themes/voyago/style.css?ver=1.0.2' media='all' /> <link rel='stylesheet' id='voyago-block-style-css' href='https://pycon.hk/wp-content/themes/voyago/assets/css/style.css?ver=1.0.2' media='all' /> <script src="https://pycon.hk/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/analytics-talk-content-tracking.js?ver=1.20.2" id="gtm4wp-scroll-tracking-js"></script> <link rel="https://api.w.org/" href="https://pycon.hk/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://pycon.hk/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7" /> <noscript><style type="text/css">.mptt-shortcode-wrapper .mptt-shortcode-table:first-of-type{display:table!important}.mptt-shortcode-wrapper .mptt-shortcode-table .mptt-event-container:hover{height:auto!important;min-height:100%!important}body.mprm_ie_browser .mptt-shortcode-wrapper .mptt-event-container{height:auto!important}@media (max-width:767px){.mptt-shortcode-wrapper .mptt-shortcode-table:first-of-type{display:none!important}}</style></noscript> <!-- Google Tag Manager for WordPress by gtm4wp.com --> <!-- GTM Container placement set to automatic --> <script data-cfasync="false" data-pagespeed-no-defer type="text/javascript"> var dataLayer_content = {"pageTitle":"PyCon HK - The leading Python Conference in Hong Kong","pagePostType":"frontpage","browserName":"Internet Explorer","browserVersion":7,"browserEngineName":"Trident","browserEngineVersion":"","osName":"Windows","osVersion":6,"deviceType":"desktop","deviceManufacturer":"","deviceModel":"","weatherCategory":"(no weather data available)","weatherDescription":"(no weather data available)","weatherTemp":0,"weatherPressure":0,"weatherWindSpeed":0,"weatherWindDeg":0,"weatherDataStatus":"No weather data in cache (172.71.124.233)","geoCountryCode":"(no geo data available)","geoCountryName":"(no geo data available)","geoRegionCode":"(no geo data available)","geoRegionName":"(no geo data available)","geoCity":"(no geo data available)","geoZipcode":"(no geo data available)","geoLatitude":"(no geo data available)","geoLongitude":"(no geo data available)","geoFullGeoData":{"success":false,"error":{"code":101,"type":"missing_access_key","info":"You have not supplied an API Access Key. [Required format: access_key=YOUR_ACCESS_KEY]"}}}; dataLayer.push( dataLayer_content ); </script> <script data-cfasync="false"> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WPSXWKH'); </script> <!-- End Google Tag Manager for WordPress by gtm4wp.com --><script type="importmap" id="wp-importmap"> {"imports":{"@wordpress\/interactivity":"https:\/\/pycon.hk\/wp-includes\/js\/dist\/script-modules\/interactivity\/index.min.js?ver=06b8f695ef48ab2d9277"}} </script> <script type="module" src="https://pycon.hk/wp-includes/js/dist/script-modules/block-library/navigation/view.min.js?ver=8ff192874fc8910a284c" id="@wordpress/block-library/navigation/view-js-module"></script> <link rel="modulepreload" href="https://pycon.hk/wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=06b8f695ef48ab2d9277" id="@wordpress/interactivity-js-modulepreload"><style class='wp-fonts-local'> @font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:fallback;src:url('https://pycon.hk/wp-content/themes/voyago/assets/fonts/Montserrat.woff2') format('woff2');} </style> <link rel="icon" href="https://pycon.hk/wp-content/uploads/2024/09/cropped-icon-1-32x32.gif" sizes="32x32" /> <link rel="icon" href="https://pycon.hk/wp-content/uploads/2024/09/cropped-icon-1-192x192.gif" sizes="192x192" /> <link rel="apple-touch-icon" href="https://pycon.hk/wp-content/uploads/2024/09/cropped-icon-1-180x180.gif" /> <meta name="msapplication-TileImage" content="https://pycon.hk/wp-content/uploads/2024/09/cropped-icon-1-270x270.gif" /> </head> <body class="home blog wp-embed-responsive mprm_ie_browser"> <!-- GTM Container placement set to automatic --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WPSXWKH" height="0" width="0" style="display:none;visibility:hidden" aria-hidden="true"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="wp-site-blocks"> <div class="wp-block-cover is-light wp-duotone-unset-2" style="margin-top:0;margin-bottom:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;min-height:689px;aspect-ratio:unset;"><span aria-hidden="true" class="wp-block-cover__background has-black-background-color has-background-dim-30 has-background-dim"></span><img width="2560" height="1920" class="wp-block-cover__image-background wp-image-2729" alt="" src="https://pycon.hk/wp-content/uploads/2024/09/bg-2.jpg" data-object-fit="cover" srcset="https://pycon.hk/wp-content/uploads/2024/09/bg-2.jpg 2560w, https://pycon.hk/wp-content/uploads/2024/09/bg-2-300x225.jpg 300w, https://pycon.hk/wp-content/uploads/2024/09/bg-2-1024x768.jpg 1024w, https://pycon.hk/wp-content/uploads/2024/09/bg-2-768x576.jpg 768w, https://pycon.hk/wp-content/uploads/2024/09/bg-2-1536x1152.jpg 1536w, https://pycon.hk/wp-content/uploads/2024/09/bg-2-2048x1536.jpg 2048w" sizes="(max-width: 2560px) 100vw, 2560px" /><div class="wp-block-cover__inner-container is-layout-flow wp-container-core-cover-is-layout-1 wp-block-cover-is-layout-flow"><header class="wp-block-template-part"> <div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)"> <div class="wp-block-group is-content-justification-space-between is-layout-flex wp-container-core-group-is-layout-3 wp-block-group-is-layout-flex"> <div class="wp-block-group is-layout-flex wp-container-core-group-is-layout-1 wp-block-group-is-layout-flex"> <figure class="wp-block-image size-thumbnail is-resized"><a href="/"><img decoding="async" width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/09/icon-1-150x150.gif" alt="" class="wp-image-2750" style="object-fit:cover;width:60px;height:60px" srcset="https://pycon.hk/wp-content/uploads/2024/09/icon-1-150x150.gif 150w, https://pycon.hk/wp-content/uploads/2024/09/icon-1-300x300.gif 300w" sizes="(max-width: 150px) 100vw, 150px" /></a></figure> <h6 class="has-link-color wp-elements-e234007229aa4478cc53f466392a1c9b wp-block-site-title has-text-color has-base-2-color"><a href="https://pycon.hk" target="_self" rel="home" aria-current="page">PyCon HK</a></h6></div> <div class="wp-block-group is-content-justification-left is-layout-flex wp-container-core-group-is-layout-2 wp-block-group-is-layout-flex"><nav class="has-text-color has-base-2-color is-responsive items-justified-right header-navigation wp-block-navigation is-horizontal is-content-justification-right is-layout-flex wp-container-core-navigation-is-layout-1 wp-block-navigation-is-layout-flex" aria-label="Main Menu" data-wp-interactive="core/navigation" data-wp-context='{"overlayOpenedBy":{"click":false,"hover":false,"focus":false},"type":"overlay","roleAttribute":"","ariaLabel":"Menu"}'><button aria-haspopup="dialog" aria-label="Open menu" class="wp-block-navigation__responsive-container-open " data-wp-on-async--click="actions.openMenuOnClick" data-wp-on--keydown="actions.handleMenuKeydown" ><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z" /></svg></button> <div class="wp-block-navigation__responsive-container has-text-color has-white-color has-background has-custom-background-secondary-background-color" id="modal-1" data-wp-class--has-modal-open="state.isMenuOpen" data-wp-class--is-menu-open="state.isMenuOpen" data-wp-watch="callbacks.initMenu" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on-async--focusout="actions.handleMenuFocusout" tabindex="-1" > <div class="wp-block-navigation__responsive-close" tabindex="-1"> <div class="wp-block-navigation__responsive-dialog" data-wp-bind--aria-modal="state.ariaModal" data-wp-bind--aria-label="state.ariaLabel" data-wp-bind--role="state.roleAttribute" > <button aria-label="Close menu" class="wp-block-navigation__responsive-container-close" data-wp-on-async--click="actions.closeMenuOnClick" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"></path></svg></button> <div class="wp-block-navigation__responsive-container-content" data-wp-watch="callbacks.focusFirstElement" id="modal-1-content"> <ul class="wp-block-navigation__container has-text-color has-base-2-color is-responsive items-justified-right header-navigation wp-block-navigation"><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu" }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on-async--mouseenter="actions.openMenuOnHover" data-wp-on-async--mouseleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class=" wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/schedule">Schedule</a><button data-wp-bind--aria-expanded="state.isMenuOpen" data-wp-on-async--click="actions.toggleMenuOnClick" aria-label="Schedule submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on-async--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container has-text-color has-white-color has-background has-custom-background-secondary-background-color wp-block-navigation-submenu"><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://pycon.hk/access-guide-conference-day/"><span class="wp-block-navigation-item__label">Access Guide – Conference</span></a></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://pycon.hk/access-guide-development-sprint-day/"><span class="wp-block-navigation-item__label">Access Guide – Sprint</span></a></li></ul></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/sprint"><span class="wp-block-navigation-item__label">Sprint</span></a></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu" }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on-async--mouseenter="actions.openMenuOnHover" data-wp-on-async--mouseleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class=" wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/sponsors">Sponsors</a><button data-wp-bind--aria-expanded="state.isMenuOpen" data-wp-on-async--click="actions.toggleMenuOnClick" aria-label="Sponsors submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on-async--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container has-text-color has-white-color has-background has-custom-background-secondary-background-color wp-block-navigation-submenu"><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://pycon.hk/patrons/"><span class="wp-block-navigation-item__label">Patrons</span></a></li></ul></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://pycon.hk/supporting-organizations/"><span class="wp-block-navigation-item__label">Communities</span></a></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu" }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on-async--mouseenter="actions.openMenuOnHover" data-wp-on-async--mouseleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class=" wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://pycon.hk/organizers/">Organizers</a><button data-wp-bind--aria-expanded="state.isMenuOpen" data-wp-on-async--click="actions.toggleMenuOnClick" aria-label="Organizers submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on-async--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container has-text-color has-white-color has-background has-custom-background-secondary-background-color wp-block-navigation-submenu"><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/volunteers"><span class="wp-block-navigation-item__label">Volunteers</span></a></li></ul></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/2024"><span class="wp-block-navigation-item__label">News</span></a></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="/about"><span class="wp-block-navigation-item__label">About</span></a></li><li data-wp-context="{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu" }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on-async--mouseenter="actions.openMenuOnHover" data-wp-on-async--mouseleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class=" wp-block-navigation-item has-child open-on-hover-click wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="/code-of-conduct">Code of Conduct</a><button data-wp-bind--aria-expanded="state.isMenuOpen" data-wp-on-async--click="actions.toggleMenuOnClick" aria-label="Code of Conduct submenu" class="wp-block-navigation__submenu-icon wp-block-navigation-submenu__toggle" ><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg></button><ul data-wp-on-async--focus="actions.openMenuOnFocus" class="wp-block-navigation__submenu-container has-text-color has-white-color has-background has-custom-background-secondary-background-color wp-block-navigation-submenu"><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://pycon.hk/code-of-conduct/staff-procedure/"><span class="wp-block-navigation-item__label">Enforcement Procedures</span></a></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://pycon.hk/code-of-conduct/attendee-reporting/"><span class="wp-block-navigation-item__label">Procedures for Reporting Incidents</span></a></li></ul></li></ul> </div> </div> </div> </div></nav></div> </div> </div> </header> <div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained"> <div class="wp-block-group has-base-color has-text-color has-link-color wp-elements-a920cf28353467421a69c9fc39a8b95f has-global-padding is-layout-constrained wp-container-core-group-is-layout-6 wp-block-group-is-layout-constrained" style="padding-right:0rem;padding-left:0rem"> <div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-5 wp-block-group-is-layout-flex"> <p class="has-text-align-center has-custom-secondary-color has-text-color has-link-color wp-elements-16e4f10682909080f0098ad10ed16a64">10th anniversary – the leading Python Conference in Hong Kong</p> </div> <div style="height:24px" aria-hidden="true" class="wp-block-spacer"></div> <h1 class="wp-block-heading has-text-align-center is-style-default has-base-color has-text-color has-link-color wp-elements-3b940bea0eb6b4cf90a10066d7a8fdc2" style="font-size:42px">PyCon HK 2024</h1> <div style="height:1rem" aria-hidden="true" class="wp-block-spacer"></div> <h2 class="wp-block-heading has-text-align-center has-medium-font-size">Conference Day</h2> <p class="has-text-align-center">16<sup>th</sup> November (Sat), 2024<br>Venue – City University of Hong Kong (CityU) 🚇<a href="https://pycon.hk/access-guide-conference-day/" data-type="page" data-id="3601">Access Guide</a></p> <div style="height:1rem" aria-hidden="true" class="wp-block-spacer"></div> <h2 class="wp-block-heading has-text-align-center has-medium-font-size">Development Sprint Day</h2> <p class="has-text-align-center">17<sup>th</sup> November (Sun), 2024</p> <p class="has-text-align-center">Venue – AWS Experience Space: GenAI Pop-up, 17/F, Tower 535, 535 Jaffe Road, Causeway Bay, HK 🚇<a href="https://pycon.hk/access-guide-development-sprint-day/" data-type="page" data-id="3620">Access Guide</a></p> <div style="height:1.5rem" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-1 wp-block-buttons-is-layout-flex"> <div class="wp-block-button is-style-button-hover-primary-fill"><a class="wp-block-button__link has-black-color has-white-background-color has-text-color has-background has-link-color has-text-align-center wp-element-button" href="https://pycon.hk/sprint/" style="padding-right:var(--wp--preset--spacing--70);padding-left:var(--wp--preset--spacing--70)" target="_blank" rel="noreferrer noopener">Sprint Day Projects 🐍</a></div> </div> <div style="height:3rem" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> </div></div> <main class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"> <div style="height:1rem" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"> <h1 class="wp-block-heading" style="font-size:42px">Join Us at PyCon HK 2024!</h1> <h2 class="wp-block-heading has-medium-font-size">10 Years of History</h2> <p>Celebrate a decade of innovation and community. PyCon HK has been at the forefront of the Python programming world, fostering growth and collaboration for 10 incredible years. <strong>萬壽無疆!boundless longevity!</strong> – may Python and PyCon HK continue to thrive and inspire for countless years to come.</p> <h2 class="wp-block-heading has-medium-font-size">30+ Talks Across 3 Tracks</h2> <p>Immerse yourself in over <a href="https://pycon.hk/schedule/" target="_blank" rel="noreferrer noopener">30+ insightful talks</a> delivered by experts, spread across three dedicated tracks. Whether you’re into web development, data science, or machine learning, there’s something for everyone. Gain new knowledge, discover cutting-edge technologies, and get inspired by the latest advancements in Python.</p> <h2 class="wp-block-heading has-medium-font-size">Development Sprint Day</h2> <p>Don’t miss our exciting <a href="https://pycon.hk/sprint/" data-type="link" data-id="https://pycon.hk/sprint/" target="_blank" rel="noreferrer noopener">Development Sprint Day</a>! This is your chance to collaborate with fellow Python enthusiasts and contribute to open-source projects. Whether you’re a seasoned developer or just starting out, you’ll find a welcoming environment to code, learn, and share ideas. Join us for a day of hands-on coding, networking, and fun!</p> </div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-image size-large is-style-clipIn"><img width="819" height="1024" src="https://pycon.hk/wp-content/uploads/2024/09/Aesthetic-Photo-Collage-Instagram-Post-819x1024.png" alt="" class="wp-image-3236" srcset="https://pycon.hk/wp-content/uploads/2024/09/Aesthetic-Photo-Collage-Instagram-Post-819x1024.png 819w, https://pycon.hk/wp-content/uploads/2024/09/Aesthetic-Photo-Collage-Instagram-Post-240x300.png 240w, https://pycon.hk/wp-content/uploads/2024/09/Aesthetic-Photo-Collage-Instagram-Post-768x960.png 768w, https://pycon.hk/wp-content/uploads/2024/09/Aesthetic-Photo-Collage-Instagram-Post.png 1080w" sizes="(max-width: 819px) 100vw, 819px" /></figure> </div> </div> </div> <div style="height:16px" aria-hidden="true" class="wp-block-spacer cc-hide-on-mobile cc-hide-on-tablet"></div> <h3 class="wp-block-heading has-text-align-center cc-hide-on-mobile cc-hide-on-tablet" style="padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);font-size:26px">Meet our Speakers</h3> <div class="wp-block-group is-style-slide-left-fade-in has-global-padding is-layout-constrained wp-block-group-is-layout-constrained cc-hide-on-mobile cc-hide-on-tablet" style="margin-top:0;margin-bottom:0"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2 wp-block-columns-is-layout-flex" style="padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-large"><a href="https://pretalx.com/pyconhk2024/talk/BUTWTL/" target="_blank" rel="noreferrer noopener"><img width="300" height="300" src="https://pycon.hk/wp-content/uploads/2024/09/Scotty-300.jpg" alt="" class="wp-image-3275" srcset="https://pycon.hk/wp-content/uploads/2024/09/Scotty-300.jpg 300w, https://pycon.hk/wp-content/uploads/2024/09/Scotty-300-150x150.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-element-caption">Scotty Kwok</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/QVV8XV/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/09/032-Ray-Cheung-square-150x150.jpg" alt="Dr. Ray Cheung" class="wp-image-3434" srcset="https://pycon.hk/wp-content/uploads/2024/09/032-Ray-Cheung-square-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/09/032-Ray-Cheung-square.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Dr. Ray Cheung<br>CityU </figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/W9X8DD/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/025-Haowen-Huang-square-150x150.jpg" alt="Haowen Huang" class="wp-image-3266" srcset="https://pycon.hk/wp-content/uploads/2024/10/025-Haowen-Huang-square-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/025-Haowen-Huang-square.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Haowen Huang<br>AWS</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/PCZC3H/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/035-Jacky-Kwok-square-150x150.jpg" alt="" class="wp-image-3710" srcset="https://pycon.hk/wp-content/uploads/2024/10/035-Jacky-Kwok-square-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/035-Jacky-Kwok-square.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Jacky Kwok<br>AWS</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/PCZC3H/"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/035-Alan-Ka-Hei-Ng-square-150x150.jpg" alt="" class="wp-image-3709" srcset="https://pycon.hk/wp-content/uploads/2024/10/035-Alan-Ka-Hei-Ng-square-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/035-Alan-Ka-Hei-Ng-square.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Alan, Ka Hei Ng<br>ATAL Technologies</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/RUHCB8/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/030-Frankie-Ngsquare-150x150.jpg" alt="Frankie Ng" class="wp-image-3279" srcset="https://pycon.hk/wp-content/uploads/2024/10/030-Frankie-Ngsquare-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/030-Frankie-Ngsquare.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Frankie Ng<br>Red Hat</figcaption></figure> </figure> </div> </div> </div> <div class="wp-block-group is-style-slide-right-fade-in has-global-padding is-layout-constrained wp-block-group-is-layout-constrained cc-hide-on-mobile cc-hide-on-tablet" style="margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-3 wp-block-columns-is-layout-flex" style="padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-9 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/NA7LPP/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/09/033-Timothy-Lam-square-150x150.png" alt="Timothy Lam" class="wp-image-3564" srcset="https://pycon.hk/wp-content/uploads/2024/09/033-Timothy-Lam-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/09/033-Timothy-Lam-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Timothy Lam<br>Red Hat</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-10 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/YXQRCF/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/Ryan-Kuanssss-150x150.jpg" alt="Ryan Kuan" class="wp-image-3287" srcset="https://pycon.hk/wp-content/uploads/2024/10/Ryan-Kuanssss-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/Ryan-Kuanssss.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Ryan Kuan<br>MySQL</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-11 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/GYCVTG/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/009-Chung-Ng-square-150x150.png" alt="Chung Ng" class="wp-image-3248" srcset="https://pycon.hk/wp-content/uploads/2024/10/009-Chung-Ng-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/009-Chung-Ng-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Chung Ng<br>HKT Limited</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-12 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/XAFXDU/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/004-Sammy-Fung-square-150x150.png" alt="Sammy Fung" class="wp-image-3243" srcset="https://pycon.hk/wp-content/uploads/2024/10/004-Sammy-Fung-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/004-Sammy-Fung-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Sammy Fung<br>OSHK</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-13 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/HZAX7P/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/011-Calvin-Tsang-square-150x150.png" alt="Calvin Tsang" class="wp-image-3250" srcset="https://pycon.hk/wp-content/uploads/2024/10/011-Calvin-Tsang-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/011-Calvin-Tsang-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Calvin Tsang<br>OSHK</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-14 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/THDBMS/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/012-Chan-Sau-Ye-square-150x150.jpeg" alt="Chan Sau Ye" class="wp-image-3251" srcset="https://pycon.hk/wp-content/uploads/2024/10/012-Chan-Sau-Ye-square-150x150.jpeg 150w, https://pycon.hk/wp-content/uploads/2024/10/012-Chan-Sau-Ye-square-300x300.jpeg 300w, https://pycon.hk/wp-content/uploads/2024/10/012-Chan-Sau-Ye-square.jpeg 436w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Chan Sau Yee<br>HENNGE K.K.</figcaption></figure> </figure> </div> </div> </div> <div class="wp-block-group is-style-slide-left-fade-in has-global-padding is-layout-constrained wp-block-group-is-layout-constrained cc-hide-on-mobile cc-hide-on-tablet" style="margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-4 wp-block-columns-is-layout-flex" style="padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-15 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/LY8XCV/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/020-Yenting-Lin-square-150x150.png" alt="Yenting Lin" class="wp-image-3260" srcset="https://pycon.hk/wp-content/uploads/2024/10/020-Yenting-Lin-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/020-Yenting-Lin-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Yenting Lin<br>NTU</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-16 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-large"><a href="https://pretalx.com/pyconhk2024/talk/WQJV7B/" target="_blank" rel="noreferrer noopener"><img width="128" height="128" src="https://pycon.hk/wp-content/uploads/2024/10/031-YangSoo-Yoon-square.jpg" alt="YangSoo Yoon" class="wp-image-3595"/></a><figcaption class="wp-element-caption">YangSoo Yoon<br>Canonical</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-17 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/KZPSVD/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/019-Nok-Lam-Chan-square-150x150.png" alt="Nok Lam Chan" class="wp-image-3259" srcset="https://pycon.hk/wp-content/uploads/2024/10/019-Nok-Lam-Chan-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/019-Nok-Lam-Chan-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Nok Lam Chan<br>Kedro</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-18 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/LNUWEC/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/034-AdrianTam-square-150x150.jpg" alt="Adrian Tam" class="wp-image-3765" srcset="https://pycon.hk/wp-content/uploads/2024/10/034-AdrianTam-square-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/034-AdrianTam-square.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Adrian Tam<br>NVIDIA</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-19 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/HN3F8L/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/010-Jiaming-Yuan-square-150x150.png" alt="Jiaming Yuan" class="wp-image-3249" srcset="https://pycon.hk/wp-content/uploads/2024/10/010-Jiaming-Yuan-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/010-Jiaming-Yuan-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Jiaming Yuan<br>NVIDIA</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-20 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/UGFV3S/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/022-Michael-Wang-squareeeee-150x150.jpg" alt="Michael Wang" class="wp-image-3295" srcset="https://pycon.hk/wp-content/uploads/2024/10/022-Michael-Wang-squareeeee-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/022-Michael-Wang-squareeeee.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Michael Wang<br>NVIDIA</figcaption></figure> </figure> </div> </div> </div> <div class="wp-block-group is-style-slide-right-fade-in has-global-padding is-layout-constrained wp-block-group-is-layout-constrained cc-hide-on-mobile cc-hide-on-tablet" style="margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-5 wp-block-columns-is-layout-flex" style="padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-21 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/VRPMHX/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/024a-Allison-Wang-square-150x150.png" alt="Allison Wang" class="wp-image-3265" srcset="https://pycon.hk/wp-content/uploads/2024/10/024a-Allison-Wang-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/024a-Allison-Wang-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Allison Wang<br>Databricks</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-22 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/VRPMHX/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/024-Hyukjin-Kwon-square-150x150.jpg" alt="Hyukjin Kwon" class="wp-image-3264" srcset="https://pycon.hk/wp-content/uploads/2024/10/024-Hyukjin-Kwon-square-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/024-Hyukjin-Kwon-square-300x300.jpg 300w, https://pycon.hk/wp-content/uploads/2024/10/024-Hyukjin-Kwon-square.jpg 512w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Hyukjin Kwon<br>ASF</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-23 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/B9QPQF/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/007-Leo-Chen-square-150x150.png" alt="Leo Chen" class="wp-image-3246" srcset="https://pycon.hk/wp-content/uploads/2024/10/007-Leo-Chen-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/007-Leo-Chen-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Leo Chen<br>Bloomberg</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-24 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/CEWPVB/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/014-Winnie-Yeung-square-150x150.png" alt="Winnie Yeung" class="wp-image-3253" srcset="https://pycon.hk/wp-content/uploads/2024/10/014-Winnie-Yeung-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/014-Winnie-Yeung-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Winnie Yeung</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-25 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/CEWPVB/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/014a-Marcus-Lauss-150x150.jpg" alt="Marcus Lau" class="wp-image-3293" srcset="https://pycon.hk/wp-content/uploads/2024/10/014a-Marcus-Lauss-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/014a-Marcus-Lauss.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Marcus Lau</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-26 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/TDYGRG/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/021-Cristiano-Pierandrei-square-150x150.png" alt="Cristiano Pierandrei" class="wp-image-3261" srcset="https://pycon.hk/wp-content/uploads/2024/10/021-Cristiano-Pierandrei-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/021-Cristiano-Pierandrei-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Cristiano Pierandrei</figcaption></figure> </figure> </div> </div> </div> <div class="wp-block-group is-style-slide-left-fade-in has-global-padding is-layout-constrained wp-block-group-is-layout-constrained cc-hide-on-mobile cc-hide-on-tablet" style="margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-6 wp-block-columns-is-layout-flex" style="padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-27 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/9HHTWK/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/013-Alex-Au-square-150x150.png" alt="Alex Au" class="wp-image-3252" srcset="https://pycon.hk/wp-content/uploads/2024/10/013-Alex-Au-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/013-Alex-Au-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Alex Au</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-28 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/ES7DKX/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/015-Tarun-Jain-square-150x150.png" alt="Tarun Jain" class="wp-image-3255" srcset="https://pycon.hk/wp-content/uploads/2024/10/015-Tarun-Jain-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/015-Tarun-Jain-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Tarun Jain<br>AI Planet</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-29 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/X9UZSA/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/026-Cyrus-Wong-square-150x150.jpg" alt="Cyrus Wong" class="wp-image-3267" srcset="https://pycon.hk/wp-content/uploads/2024/10/026-Cyrus-Wong-square-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/026-Cyrus-Wong-square.jpg 300w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Cyrus Wong<br>HKIIT</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-30 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/X9UZSA/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/026a-Markus-Tsang-square-150x150.png" alt="Markus Tsang" class="wp-image-3268" srcset="https://pycon.hk/wp-content/uploads/2024/10/026a-Markus-Tsang-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/026a-Markus-Tsang-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Markus Tsang<br>HKIIT</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-31 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/X9UZSA/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/026b-YIU-Kelvin-square-150x150.png" alt="YIU Kelvin" class="wp-image-3269" srcset="https://pycon.hk/wp-content/uploads/2024/10/026b-YIU-Kelvin-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/026b-YIU-Kelvin-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">YIU Kelvin<br>HKIIT</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-32 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/BHXJZA/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/008-Yang-Censquare-150x150.jpg" alt="Yang Cen" class="wp-image-3280" srcset="https://pycon.hk/wp-content/uploads/2024/10/008-Yang-Censquare-150x150.jpg 150w, https://pycon.hk/wp-content/uploads/2024/10/008-Yang-Censquare.jpg 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Yang Cen<br>LanceDB</figcaption></figure> </figure> </div> </div> </div> <div class="wp-block-group is-style-slide-right-fade-in has-global-padding is-layout-constrained wp-block-group-is-layout-constrained cc-hide-on-mobile cc-hide-on-tablet" style="margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7 wp-block-columns-is-layout-flex" style="padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-33 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/3RF9DP/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/001-Xiao-Ying-sqsuare-150x150.png" alt="Xiao Ying" class="wp-image-3240" srcset="https://pycon.hk/wp-content/uploads/2024/10/001-Xiao-Ying-sqsuare-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/001-Xiao-Ying-sqsuare.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Xiao Ying<br>Bloomberg</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-34 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/YPKQZM/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/005-Meixin-Wang-square-150x150.png" alt="Meixin Wang" class="wp-image-3245" srcset="https://pycon.hk/wp-content/uploads/2024/10/005-Meixin-Wang-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/005-Meixin-Wang-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Meixin Wang<br>Bloomberg</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-35 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/ZR3XP3/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/005-Judy-Wong-square-150x150.jpeg" alt="Judy Wong" class="wp-image-3244" srcset="https://pycon.hk/wp-content/uploads/2024/10/005-Judy-Wong-square-150x150.jpeg 150w, https://pycon.hk/wp-content/uploads/2024/10/005-Judy-Wong-square-300x300.jpeg 300w, https://pycon.hk/wp-content/uploads/2024/10/005-Judy-Wong-square.jpeg 400w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Judy Wong<br>Electric Minds</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-36 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/FJLLGF/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/016-HEMANGI-square-150x150.png" alt="HEMANGI" class="wp-image-3256" srcset="https://pycon.hk/wp-content/uploads/2024/10/016-HEMANGI-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/016-HEMANGI-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">HEMANGI</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-37 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/87VP87/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/002-Taemin-Ha-square-150x150.png" alt="Taemin Ha" class="wp-image-3241" srcset="https://pycon.hk/wp-content/uploads/2024/10/002-Taemin-Ha-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/002-Taemin-Ha-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Taemin Ha<br>Bloomberg L.P.</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-38 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/UVKEGD/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/023-Henry-Wai-Yin-Wong-square-150x150.png" alt="Henry, Wai Yin Wong" class="wp-image-3263" srcset="https://pycon.hk/wp-content/uploads/2024/10/023-Henry-Wai-Yin-Wong-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/023-Henry-Wai-Yin-Wong-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Henry, Wai Yin Wong</figcaption></figure> </figure> </div> </div> </div> <div class="wp-block-group is-style-slide-left-fade-in has-global-padding is-layout-constrained wp-block-group-is-layout-constrained cc-hide-on-mobile cc-hide-on-tablet" style="margin-top:0;margin-bottom:0"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8 wp-block-columns-is-layout-flex" style="margin-top:0;margin-bottom:0;padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-39 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image aligncenter size-thumbnail cc-hide-on-mobile cc-hide-on-tablet"><a href="https://pretalx.com/pyconhk2024/talk/ZB8QGA/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/027-Chuck-jee-Chau-resize-150x150.png" alt="Chuck-jee Chau" class="wp-image-3270" srcset="https://pycon.hk/wp-content/uploads/2024/10/027-Chuck-jee-Chau-resize-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/027-Chuck-jee-Chau-resize.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Chuck-jee Chau<br>CUHK</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-40 is-layout-flex wp-block-gallery-is-layout-flex"> <figure class="wp-block-image size-thumbnail"><a href="https://pretalx.com/pyconhk2024/talk/K7VYAH/" target="_blank" rel="noreferrer noopener"><img width="150" height="150" src="https://pycon.hk/wp-content/uploads/2024/10/018-Nigel-Choi-square-150x150.png" alt="Nigel Choi" class="wp-image-3258" srcset="https://pycon.hk/wp-content/uploads/2024/10/018-Nigel-Choi-square-150x150.png 150w, https://pycon.hk/wp-content/uploads/2024/10/018-Nigel-Choi-square.png 200w" sizes="(max-width: 150px) 100vw, 150px" /></a><figcaption class="wp-element-caption">Nigel Choi<br>Dim Sum Lab</figcaption></figure> </figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-41 is-layout-flex wp-block-gallery-is-layout-flex"></figure> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div> </div> </div> <h3 class="wp-block-heading has-text-align-center" style="padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);font-size:26px">Sponsors</h3> <div style="text-align: center;"> <a href="https://aws.amazon.com/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/AWS24.png" alt="AWS" style="width: 210px; height: auto; display: inline-block; border: 0; padding: 10px;"></a><a href="https://www.python.org/psf" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/PSF24.png" alt="PSF" style="width: 210px; height: auto; display: inline-block; border: 0; padding: 10px;"></a><a href="https://www.redhat.com/en" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/RedHat24.png" alt="Red Hat" style="width: 210px; height: auto; display: inline-block; border: 0; padding: 10px;"></a><a href="https://www.cityu.edu.hk/cc/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/11/CityUCOC24.png" alt="CityU HK" style="width: 210px; height: auto; display: inline-block; border: 0; padding: 10px;"></a><a href="https://www.mysql.com/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/MySQL24.png" alt="MySQL" style="width: 210px; height: auto; display: inline-block; border: 0; padding: 10px;"></a><a href="https://www.jetbrains.com/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/JetBrains24.png" alt="JetBrains" style="width: 210px; height: auto; display: inline-block; border: 0; padding: 10px;"></a><a href="https://www.hkt.com/?locale=zh" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/PCCW24.png" alt="PCCW" style="width: 210px; height: auto; display: inline-block; border: 0; padding: 10px;"></a> </div> <div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div> <h3 class="wp-block-heading has-text-align-center" style="padding-top:0;padding-bottom:0;font-size:26px">Patrons</h3> <p class="has-text-align-center">Mr. Joe Chan<br>Mr. Martin Chan<br>Mr. Anthony Lai<br>Mr. Henry Law<br>Mr. Calvin Tsang<br>PyCon香港補完計画<br>In memory of Madam Yu Shui Chun</p> <div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div> <h3 class="wp-block-heading has-text-align-center" style="padding-top:0;padding-bottom:0;font-size:26px">Supporting Organizations</h3> <div style="text-align: center;"> <a href="https://www.meetup.com/Codeaholics/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/11/codeaholics-logo_250.jpg" alt="Codeaholics" style="width: 150px; height: auto; display: inline-block; border: 0;"></a><a href="https://i.cs.hku.hk/~csa/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/HKU_CSA_square-250.png" alt="HKU CSA" style="width: 150px; height: auto; display: inline-block; border: 0;"></a><a href="https://gdg.community.dev/gdg-cloud-hong-kong/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/11/Google-Developer-Group-Cloud-HongKong-Centered_logo_square_250.png" alt="Google Developer Group Cloud Hong Kong" style="width: 150px; height: auto; display: inline-block; border: 0;"></a><a href="https://www.hkace.org.hk/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/HKACE-square_250.png" alt="HKACE" style="width: 150px; height: auto; display: inline-block; border: 0;"></a><a href="https://instagram.com/polyurobotics" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/10/PolyU_Robotics_Club_square_250.png" alt="PolyU Robotics Club" style="width: 150px; height: auto; display: inline-block; border: 0;"></a><a href="https://www.facebook.com/WTMHongKong/" target="_blank" rel="noopener"><img src="https://pycon.hk/wp-content/uploads/2024/11/WTMHK_Logo_square_250.png" alt="Women Techmakers Hong Kong " style="width: 150px; height: auto; display: inline-block; border: 0;"></a> </div> <div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div> </main> <footer class="wp-block-template-part"> <div class="wp-block-group is-layout-flow wp-container-core-group-is-layout-22 wp-block-group-is-layout-flow" style="padding-top:var(--wp--preset--spacing--70);padding-bottom:0"> <div class="wp-block-group has-white-color has-custom-primary-background-color has-text-color has-background has-link-color wp-elements-de6d29f908cee2e7fd5f02f60744e732 is-layout-flow wp-block-group-is-layout-flow" style="padding-top:var(--wp--preset--spacing--80);padding-right:0;padding-bottom:var(--wp--preset--spacing--80);padding-left:0"> <div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained"> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9 wp-block-columns-is-layout-flex" style="padding-right:0;padding-left:0"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <h6 class="wp-block-heading">Follow Us</h6> <ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-instagram wp-block-social-link"><a href="https://www.instagram.com/pyconhk" 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,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Instagram</span></a></li> <li class="wp-social-link wp-social-link-linkedin wp-block-social-link"><a href="https://www.linkedin.com/company/pyconhk" 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="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> <li class="wp-social-link wp-social-link-facebook wp-block-social-link"><a href="https://www.facebook.com/pyconhk/" 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> <li class="wp-social-link wp-social-link-twitter wp-block-social-link"><a href="https://twitter.com/pyconhk" 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> <li class="wp-social-link wp-social-link-youtube wp-block-social-link"><a href="https://www.youtube.com/c/pyconhk" 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="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> <li class="wp-social-link wp-social-link-github wp-block-social-link"><a href="https://github.com/pyconhk/" 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> <li class="wp-social-link wp-social-link-feed wp-block-social-link"><a href="https://pycon.hk/feed/" 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="M2,8.667V12c5.515,0,10,4.485,10,10h3.333C15.333,14.637,9.363,8.667,2,8.667z M2,2v3.333 c9.19,0,16.667,7.477,16.667,16.667H22C22,10.955,13.045,2,2,2z M4.5,17C3.118,17,2,18.12,2,19.5S3.118,22,4.5,22S7,20.88,7,19.5 S5.882,17,4.5,17z"></path></svg><span class="wp-block-social-link-label screen-reader-text">RSS Feed</span></a></li></ul> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> <h6 class="wp-block-heading">History</h6> <p><a href="/2023" target="_blank" rel="noreferrer noopener">2023</a> <a href="/2022" target="_blank" rel="noreferrer noopener">2022</a> <a href="/2021" target="_blank" rel="noreferrer noopener">2021</a> <a href="/2020-fall" target="_blank" rel="noreferrer noopener">2020 fall</a> <a href="/2020-spring" target="_blank" rel="noreferrer noopener">2020 spring</a> <a href="/2018">2018</a> <a href="/2017" target="_blank" rel="noreferrer noopener">2017</a> <a href="/2016" target="_blank" rel="noreferrer noopener">2016</a> <a href="/2015" target="_blank" rel="noreferrer noopener">2015</a></p> </div> </div> </div> </div> <div class="wp-block-group copyright has-white-color has-custom-background-secondary-background-color has-text-color has-background has-link-color wp-elements-8d8e2d39ed2d25c0d688d3025194a2d6 has-global-padding is-layout-constrained wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)"> <div class="wp-block-group footer-links is-content-justification-space-between is-nowrap is-layout-flex wp-container-core-group-is-layout-20 wp-block-group-is-layout-flex"> <p class="has-text-align-left">©2024 PyCon Hong Kong</p> </div> </div> </div> </footer></div> <script id="wp-block-template-skip-link-js-after"> ( function() { var skipLinkTarget = document.querySelector( 'main' ), sibling, skipLinkTargetID, skipLink; // Early exit if a skip-link target can't be located. if ( ! skipLinkTarget ) { return; } /* * Get the site wrapper. * The skip-link will be injected in the beginning of it. */ sibling = document.querySelector( '.wp-site-blocks' ); // Early exit if the root element was not found. if ( ! sibling ) { return; } // Get the skip-link target's ID, and generate one if it doesn't exist. skipLinkTargetID = skipLinkTarget.id; if ( ! skipLinkTargetID ) { skipLinkTargetID = 'wp--skip-link--target'; skipLinkTarget.id = skipLinkTargetID; } // Create the skip link. skipLink = document.createElement( 'a' ); skipLink.classList.add( 'skip-link', 'screen-reader-text' ); skipLink.href = '#' + skipLinkTargetID; skipLink.innerHTML = 'Skip to content'; // Inject the skip link. sibling.parentElement.insertBefore( skipLink, sibling ); }() ); </script> <script src="https://pycon.hk/wp-content/themes/voyago/assets/js/custom-animations.js?ver=1.0.2" id="voyago-custom-scripts-js"></script> </body> </html>