[{"content":"At KubeCon + CloudNativeCon North America 2025, I received the Kubernetes Contributor Award 2025 from SIG Cluster Lifecycle. The citation read: \u0026ldquo;being always available to help and for the impact he made in the Cluster API project.\u0026rdquo; I was genuinely happy, but it was also a good moment to look back on what I have actually done. So I want to write down the work that led to this award and what I learned along the way.\nThe Work Behind the Award What I have worked on in SIG Cluster Lifecycle falls into two main areas.\nKube API Linter The first is Kube API Linter (KAL). KAL is a linter that checks and enforces Kubernetes API rules \u0026ndash; the API conventions and rules beyond them.\nMy first involvement was PR #41, which added the nomaps linter in early 2025. From there I kept adding linters such as duplicatemarkers, ssatags, and defaults, and eventually I was added as a reviewer and then an approver.\nKAL is used not only as a standalone tool but also by large projects like Cluster API to keep their APIs consistent. Getting to work both on writing the linter and on rolling it out to a real project was good for me.\nThe v1beta2 Migration of CAPD The second is the v1beta2 migration of CAPD (Cluster API Provider Docker) in Cluster API. It was a particularly significant task for me.\nMigrating an API version is not finished once you define the new types. It started with adding the v1beta2 types, and continued through promoting conditions, implementing the v1beta2 contract, gradually decoupling the v1beta1 status in the controllers, migrating the E2E tests, aligning the conversion with the other providers, and even updating the samples in the Cluster API book \u0026ndash; a steady accumulation of more than a dozen PRs. Being able to take part in such a valuable opportunity \u0026ndash; the API version migration of Cluster API as a whole \u0026ndash; gave me a real sense of accomplishment.\nA Distant Dream, and Continuity When I was a student, being a Kubernetes maintainer was a vague aspiration for me \u0026ndash; and at the same time it felt like something very far away.\nNow that I have actually made it this far, what I realize is that what closed that distance was not talent or some single big hit, but simply \u0026ldquo;staying in the batter\u0026rsquo;s box.\u0026rdquo; My very first PR to Cluster API, back in March 2024, was something tiny \u0026ndash; just a small replacement to use the ptr package. Keep shipping, even small things; get reviews; ship again. Don\u0026rsquo;t leave right away \u0026ndash; keep going. Before I knew it, those PRs had stacked up, and I was able to raise my own hand for big tasks like the CAPD migration.\nWhat truly matters in open source, I think, is how long you can keep stepping up to the plate without walking away too soon. The size of any single contribution is not the point. There is value in continuity itself. The words \u0026ldquo;always available to help\u0026rdquo; are, in the end, simply someone having watched that accumulation of persistence.\nGratitude This award is, without a doubt, thanks to the maintainers and reviewers I have worked alongside.\nOn Cluster API, Fabrizio Pandini and Stefan Büringer reviewed a ton of my work, starting with the CAPD migration. They talked through design with me again and again, and I learned a lot from them.\nOn Kube API Linter, Joel Speed taught me a lot about how to think about API design.\nLooking Ahead I am simply happy to have received this award. I just want to keep contributing as I always have.\n","permalink":"https://sivchari.dev/en/logs/kubernetes-contributor-award-2025/","summary":"\u003cp\u003eAt \u003ca href=\"https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/\"\u003eKubeCon + CloudNativeCon North America 2025\u003c/a\u003e, I received the \u003ca href=\"https://www.kubernetes.dev/community/awards/2025/\"\u003eKubernetes Contributor Award 2025\u003c/a\u003e from SIG Cluster Lifecycle. The citation read: \u0026ldquo;being always available to help and for the impact he made in the Cluster API project.\u0026rdquo; I was genuinely happy, but it was also a good moment to look back on what I have actually done. So I want to write down the work that led to this award and what I learned along the way.\u003c/p\u003e","title":"I received the Kubernetes Contributor Award 2025"},{"content":"On February 21, 2026, Go Conference mini in Sendai 2026 was held. I gave a talk titled \u0026ldquo;Who tests the Tests?\u0026rdquo; and also enjoyed the other sessions and the after-party as an attendee. It was a great experience, so I want to write down my thoughts on the overall atmosphere of the event, my own presentation, and the community interactions in Sendai.\nSendai.go and Me Sendai.go holds a special place in my heart. It was the very first offline conference I ever attended in person \u0026ndash; Go Conference mini 2022 Autumn IN SENDAI. I had been speaking at Go Conference since I was a student, but back then COVID was only just beginning to settle down, so all my talks had been online. Speaking offline added a sense of liveness that\u0026rsquo;s hard to feel through a screen \u0026ndash; seeing people actually listening, reacting in real time. I remember how much fun that was.\nThe conversations I had and the connections people introduced me to at that event have continued through subsequent conferences and OSS activities to this day. Getting involved in organizing Go Conference, eventually becoming the main organizer, choosing \u0026ldquo;Ichigo Ichie\u0026rdquo; (once-in-a-lifetime encounter) as its theme, and starting my work as a maintainer of Kubernetes and Argo CD \u0026ndash; all of it traces back to that first step.\nComing back to that same origin point four years later in 2026, this time as a speaker, was a deeply meaningful experience for me.\nMy Talk: Who tests the Tests? In my session, I presented on Mutation Testing and gomu, an OSS tool I built to implement it for Go. The slides are available on SpeakerDeck.\nWhat I Wanted to Convey AI-driven code generation and test generation have been spreading rapidly in recent development workflows. Whether code is written by a human or by AI, the guardrail that ultimately ensures quality is CI, and at its core are tests. But \u0026ldquo;tests exist\u0026rdquo; and \u0026ldquo;tests perform meaningful verification\u0026rdquo; are two different things.\nCode Coverage has long been used as the go-to metric for test quality. However, as Goodhart\u0026rsquo;s Law states \u0026ndash; \u0026ldquo;when a measure becomes a target, it ceases to be a good measure\u0026rdquo; \u0026ndash; chasing coverage numbers leads to hollow tests that merely execute code paths without any assertions. When you delegate test generation to an AI agent, you can even end up with tests that call t.Skip and effectively verify nothing.\nIn my talk, I introduced Mutation Testing as an approach to \u0026ldquo;test the tests,\u0026rdquo; explained how it works, walked through the implementation of gomu, and showed how to integrate it into CI.\nAfter the talk, I received questions like \u0026ldquo;how do you start introducing this into an existing project?\u0026rdquo; and \u0026ldquo;at what granularity should it be applied?\u0026rdquo; \u0026ndash; it was clear that there is strong interest in putting Mutation Testing into practical use.\nA Talk That Stood Out: tobari The talk that left the strongest impression on me at this conference was goccy\u0026rsquo;s presentation on tobari.\nWhile my talk was about the quality of tests \u0026ndash; \u0026ldquo;are your tests performing meaningful verification?\u0026rdquo; \u0026ndash; tobari addresses coverage \u0026ndash; \u0026ldquo;which tests cover which parts of the code?\u0026rdquo; Both approach the same underlying question of \u0026ldquo;how do we trust CI and tests?\u0026rdquo; from different angles.\nIn an era where AI-generated tests are becoming the norm, we will need both test quality and coverage traceability. The fact that these two topics appeared side by side at the same conference felt symbolic of this transitional moment in the age of coding agents.\nCommunity Interactions in Sendai As I mentioned at the beginning, Sendai.go is where I first attended an offline conference in 2022. Many of the people I met back then are still active in the community, and I was able to reconnect with them at the venue and the after-party at Sendai.go 2026.\nIn an era where online communication is the default, the value of moments where names, faces, and personalities come together in person has only grown. Local conferences like Sendai.go feel different from large-scale conferences in Tokyo \u0026ndash; the distance between people is shorter, the boundary between speakers and attendees is more relaxed, and there is a stronger sense of unity between the sessions and the after-party. I think it is wonderful that every attendee shares the common experience of having traveled all the way to Sendai simply because they love Go that much.\nClosing I was able to return as a speaker in 2026 to the community I first attended in person in 2022. Being able to maintain these community relationships over the years, and continuing to meet so many people even after entering the workforce, is something I feel truly fortunate about.\nThank you to senoue, the organizing committee chair, and all the committee members, the sponsors, Cloudsmith Inc. for providing the venue, and everyone who came up to talk at the event. I truly appreciate it.\nI look forward to seeing you all again in Sendai next time.\n","permalink":"https://sivchari.dev/en/logs/sendai-go-2026/","summary":"\u003cp\u003eOn February 21, 2026, \u003ca href=\"https://sendaigo.jp/\"\u003eGo Conference mini in Sendai 2026\u003c/a\u003e was held. I gave a talk titled \u0026ldquo;Who tests the Tests?\u0026rdquo; and also enjoyed the other sessions and the after-party as an attendee. It was a great experience, so I want to write down my thoughts on the overall atmosphere of the event, my own presentation, and the community interactions in Sendai.\u003c/p\u003e\n\u003ch2 id=\"sendaigo-and-me\"\u003eSendai.go and Me\u003c/h2\u003e\n\u003cp\u003eSendai.go holds a special place in my heart. It was the very first offline conference I ever attended in person \u0026ndash; Go Conference mini 2022 Autumn IN SENDAI. I had been speaking at Go Conference since I was a student, but back then COVID was only just beginning to settle down, so all my talks had been online. Speaking offline added a sense of liveness that\u0026rsquo;s hard to feel through a screen \u0026ndash; seeing people actually listening, reacting in real time. I remember how much fun that was.\u003c/p\u003e","title":"I spoke at Go Conference mini in Sendai 2026"},{"content":"About Me sivchari\nWork Period Company 2025.6 - Present newmo Inc. 2024 - 2025 Kauche Inc. 2023 - 2024 Ubie Inc. 2022.4 - 2025.4 CyberAgent Inc. 2022 - Present Codatum Inc. OSS Activities Reviewer / Approver Cluster API - Reviewer Kube API Linter - Approver Argo CD - Member Community Go Conference Japan - Main Organizer Award Year Award 2025 Kubernetes Contributor Award (SIG Cluster Lifecycle) 2023 - 2025 CyberAgent Go Next Experts Get in touch GitHub: @sivchari X: @sivchari SpeakerDeck: sivchari Email: shibuuuu5@gmail.com ","permalink":"https://sivchari.dev/en/about/","summary":"\u003ch2 id=\"about-me\"\u003eAbout Me\u003c/h2\u003e\n\u003cp\u003esivchari\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"work\"\u003eWork\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003ePeriod\u003c/th\u003e\n          \u003cth\u003eCompany\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2025.6 - Present\u003c/td\u003e\n          \u003ctd\u003enewmo Inc.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2024 - 2025\u003c/td\u003e\n          \u003ctd\u003eKauche Inc.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2023 - 2024\u003c/td\u003e\n          \u003ctd\u003eUbie Inc.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2022.4 - 2025.4\u003c/td\u003e\n          \u003ctd\u003eCyberAgent Inc.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2022 - Present\u003c/td\u003e\n          \u003ctd\u003eCodatum Inc.\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003chr\u003e\n\u003ch2 id=\"oss-activities\"\u003eOSS Activities\u003c/h2\u003e\n\u003ch3 id=\"reviewer--approver\"\u003eReviewer / Approver\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kubernetes-sigs/cluster-api\"\u003eCluster API\u003c/a\u003e - Reviewer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kubernetes-sigs/kube-api-linter\"\u003eKube API Linter\u003c/a\u003e - Approver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/argoproj/argo-cd\"\u003eArgo CD\u003c/a\u003e - Member\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003ch2 id=\"community\"\u003eCommunity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://gocon.jp/\"\u003eGo Conference Japan\u003c/a\u003e - Main Organizer\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003ch2 id=\"award\"\u003eAward\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003eYear\u003c/th\u003e\n          \u003cth\u003eAward\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2025\u003c/td\u003e\n          \u003ctd\u003eKubernetes Contributor Award (SIG Cluster Lifecycle)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2023 - 2025\u003c/td\u003e\n          \u003ctd\u003eCyberAgent Go Next Experts\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003chr\u003e\n\u003ch2 id=\"get-in-touch\"\u003eGet in touch\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGitHub: \u003ca href=\"https://github.com/sivchari\"\u003e@sivchari\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eX: \u003ca href=\"https://twitter.com/sivchari\"\u003e@sivchari\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpeakerDeck: \u003ca href=\"https://speakerdeck.com/sivchari\"\u003esivchari\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmail: \u003ca href=\"mailto:shibuuuu5@gmail.com\"\u003eshibuuuu5@gmail.com\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e","title":"About"},{"content":"2026 Go 1.26 Release Party Who tests the Tests ? Go Conference mini 2026 in Sendai\n2025 Google Developer Group - DevFest Tokyo 2025 Go1.25 Release Party ~ nil pointer bug ~ govalid ~ Type-safe validation tool ~ Static Analysis x Kubernetes API Conventions = Kube API Linter What\u0026rsquo;s GOCACHEPROG ? 2024 Visualization Go scheduler by gosched-simulator Comfortable OSS Life with gh_extensions Getting Started with protoc plugin Deep dive into runtime features provided by Go1.22 Go 1.22 range over func/range over int 2023 GopherCon 2023 recap Dive into arena package ~ Go 1.20 release party ~ What\u0026rsquo;s context package Introduction to zero (planned for Go 1.22) Go Conference mini 2023 in Kyoto\nDive into testing package ~ Part of Fuzzing Test ~ How database/sql works How goroutines work ","permalink":"https://sivchari.dev/en/talks/","summary":"\u003ch2 id=\"2026\"\u003e2026\u003c/h2\u003e\n\u003ch3 id=\"go-126-release-party\"\u003eGo 1.26 Release Party\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/20cfa94bfea84cbda038331cd4c236d6\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"who-tests-the-tests-\"\u003eWho tests the Tests ?\u003c/h3\u003e\n\u003cp\u003eGo Conference mini 2026 in Sendai\u003c/p\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/556b6c20df59499f8871c110a126e01b\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch2 id=\"2025\"\u003e2025\u003c/h2\u003e\n\u003ch3 id=\"google-developer-group---devfest-tokyo-2025\"\u003eGoogle Developer Group - DevFest Tokyo 2025\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/6993c257b730470295668c50a9cb9783\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"go125-release-party--nil-pointer-bug-\"\u003eGo1.25 Release Party ~ nil pointer bug ~\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/8d30431664dd4876b670306de5781afd\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"govalid--type-safe-validation-tool-\"\u003egovalid ~ Type-safe validation tool ~\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/ff70775a01a546cba8d6b3eb40e7f83e\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"static-analysis-x-kubernetes-api-conventions--kube-api-linter\"\u003eStatic Analysis x Kubernetes API Conventions = Kube API Linter\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/8c5435b31a5442c081609b028627af80\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"whats-gocacheprog-\"\u003eWhat\u0026rsquo;s GOCACHEPROG ?\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/d2b3fea7eda44f688125e2eea9f2f3c3\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch2 id=\"2024\"\u003e2024\u003c/h2\u003e\n\u003ch3 id=\"visualization-go-scheduler-by-gosched-simulator\"\u003eVisualization Go scheduler by gosched-simulator\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/774c68ba598d4f36964f9ee6a624b31a\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"comfortable-oss-life-with-gh_extensions\"\u003eComfortable OSS Life with gh_extensions\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/66d1472695ee42f2a60e2bec6e9149e8\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"getting-started-with-protoc-plugin\"\u003eGetting Started with protoc plugin\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/fa79314e96a64de9add3d91960ffa0c8\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"deep-dive-into-runtime-features-provided-by-go122\"\u003eDeep dive into runtime features provided by Go1.22\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/ff89cff40d504e359e18b59d75792126\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"go-122-range-over-funcrange-over-int\"\u003eGo 1.22 range over func/range over int\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/3fdf5eaaae3d4f9ca84157b090051f31\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch2 id=\"2023\"\u003e2023\u003c/h2\u003e\n\u003ch3 id=\"gophercon-2023-recap\"\u003eGopherCon 2023 recap\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/fe2f26a818244b36bb829b780f01682b\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"dive-into-arena-package--go-120-release-party-\"\u003eDive into arena package ~ Go 1.20 release party ~\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/472ddbe068c24287b41b417543f6a585\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"whats-context-package\"\u003eWhat\u0026rsquo;s context package\u003c/h3\u003e\n\u003cdiv class=\"speakerdeck-embed\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;\"\u003e\n  \u003ciframe\n    class=\"speakerdeck-iframe\"\n    frameborder=\"0\"\n    src=\"https://speakerdeck.com/player/0dd58f6004f54f68a0c0abe4d2c36679\"\n    allowfullscreen=\"true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;\"\u003e\n  \u003c/iframe\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"introduction-to-zero-planned-for-go-122\"\u003eIntroduction to zero (planned for Go 1.22)\u003c/h3\u003e\n\u003cp\u003eGo Conference mini 2023 in Kyoto\u003c/p\u003e","title":"Talks"}]