CINXE.COM

<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1" data-next-head=""/><title data-next-head="">Speaking • Oleksii Holub</title><link rel="icon" href="/favicon.png" data-next-head=""/><link rel="manifest" href="/manifest.json" data-next-head=""/><meta name="application-name" content="Oleksii Holub" data-next-head=""/><meta name="build-id" content="b056600" data-next-head=""/><meta name="description" content="Oleksii Holub (@tyrrrz) is a software developer, open-source maintainer, tech blogger and conference speaker" data-next-head=""/><meta name="keywords" content="" data-next-head=""/><meta name="theme-color" content="#a855f7" data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:site_name" content="Oleksii Holub" data-next-head=""/><meta property="og:title" content="Speaking • Oleksii Holub" data-next-head=""/><meta property="og:description" content="Oleksii Holub (@tyrrrz) is a software developer, open-source maintainer, tech blogger and conference speaker" data-next-head=""/><meta property="og:image" content="https://tyrrrz.me/logo.png" data-next-head=""/><meta name="twitter:title" content="Speaking • Oleksii Holub" data-next-head=""/><meta name="twitter:site" content="@Tyrrrz" data-next-head=""/><meta name="twitter:creator" content="@Tyrrrz" data-next-head=""/><meta name="twitter:card" content="summary" data-next-head=""/><link rel="preload" href="/_next/static/css/1e0f3c26d8204452.css" as="style"/><link rel="alternate" type="application/rss+xml" title="RSS Feed" data-next-head=""/><link rel="stylesheet" href="/_next/static/css/1e0f3c26d8204452.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-dbb64579bb13138d.js" defer=""></script><script src="/_next/static/chunks/framework-f1968f95cccbbbac.js" defer=""></script><script src="/_next/static/chunks/main-94208fdcf3f8f690.js" defer=""></script><script src="/_next/static/chunks/pages/_app-1ec30697a10645de.js" defer=""></script><script src="/_next/static/chunks/pages/speaking-d04a73a412695059.js" defer=""></script><script src="/_next/static/xhbRHNEn2q66qCdSC1fxF/_buildManifest.js" defer=""></script><script src="/_next/static/xhbRHNEn2q66qCdSC1fxF/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="light"><div class="flex flex-col min-h-screen dark:bg-neutral-900 dark:text-neutral-200"><div class="h-1" style="width:0%;transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms"></div><div class="container max-w-4xl mx-auto"><header><div class="flex p-4 border-b-2 border-neutral-100 dark:border-neutral-800 items-center justify-between"><div class="text-xl font-mono font-semibold tracking-wide"><a class="" rel="noreferrer" href="/"><span class="text-neutral-400">://</span><span>tyrrrz.me</span></a></div><nav class="hidden sm:flex px-2 gap-x-2 text-lg"><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/">home</a></div><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/projects">projects</a></div><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/blog">blog</a></div><div class="px-2 py-1 border-2 border-purple-500 rounded bg-purple-100 dark:bg-purple-900 transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/speaking">speaking</a></div><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/donate">donate</a></div><div class="flex ml-2 mt-0.5 text-2xl"><button class="text-blue-500 dark:text-yellow-500 cursor-pointer"><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></button></div></nav><div class="sm:hidden flex gap-x-5 text-2xl"><button class="text-blue-500 dark:text-yellow-500 cursor-pointer"><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></button><button class="sm:hidden"><svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button></div></div><div class="sm:hidden overflow-hidden"><nav class="-mt-[100%] p-2 border-b-2 border-neutral-100 dark:border-neutral-800 space-y-1 text-lg transition-all duration-300"><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/"><div>home</div></a></div><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/projects"><div>projects</div></a></div><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/blog"><div>blog</div></a></div><div class="px-2 py-1 border-2 border-purple-500 rounded bg-purple-100 dark:bg-purple-900 transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/speaking"><div>speaking</div></a></div><div class="px-2 py-1 border-2 border-transparent rounded transition-colors duration-300"><a class="hover:text-blue-500 dark:hover:text-blue-300" rel="noreferrer" href="/donate"><div>donate</div></a></div></nav></div></header><main class="mx-4 mt-6 mb-20"><div><div style="transition:opacity 400ms, transform 400ms;transform:translateY(20px);opacity:0"><section><h1 class="group my-4 text-3xl font-semibold"><span class="">Speaking</span></h1><p class="my-4">These are all the speaking engagements I&#x27;ve had in the past, or plan to have in the future. Where available, follow the links to see the video recordings. If you want me to speak at your event, please contact me on<!-- --> <a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://bsky.app/profile/tyrrrz.me" target="_blank" rel="noreferrer">Bluesky</a>.</p></section><section class="mt-8 space-y-6"><section><h2 class="group my-4 text-2xl font-semibold"><span class="">2023</span></h2><div class="ml-4"><ul class="border-l-[2px] border-purple-300 dark:border-purple-700 space-y-2"><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtu.be/ORapxIWoEco?t=3800" target="_blank" rel="noreferrer">Reality-Driven Testing Using TestContainers</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>December 13, 2023</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://kommunity.com/svitla-systems/events/svitla-smart-talk-net-conf-db7d2cd9" target="_blank" rel="noreferrer">.NET Conf (Ukraine)</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">ukrainian</div></div></div></div></li></ul></div></section><section><h2 class="group my-4 text-2xl font-semibold"><span class="">2022</span></h2><div class="ml-4"><ul class="border-l-[2px] border-purple-300 dark:border-purple-700 space-y-2"><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://slideshare.net/AlexeyGolub/intro-to-cliwrap" target="_blank" rel="noreferrer">Intro to CliWrap</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>August 30, 2022</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://kommunity.com/svitla-systems/events/svitla-smart-talk-interacting-with-command-line-in-net-using-cliwrap-3d39c180" target="_blank" rel="noreferrer">Svitla Smart Talk</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://dou.ua/forums/topic/39124" target="_blank" rel="noreferrer">Developing Your Personal Brand</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>July 14, 2022</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="2"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"></path></svg><div class="capitalize">podcast</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://dou.ua/forums/topic/39124" target="_blank" rel="noreferrer">DOU Podcast</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">ukrainian</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=8LAevD-FLJ4" target="_blank" rel="noreferrer">The Work-War Balance of Open Source Developers in Ukraine</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>March 23, 2022</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="2"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"></path></svg><div class="capitalize">podcast</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://thenewstack.io/the-work-war-balance-of-open-source-developers-in-ukraine" target="_blank" rel="noreferrer">The New Stack</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li></ul></div></section><section><h2 class="group my-4 text-2xl font-semibold"><span class="">2021</span></h2><div class="ml-4"><ul class="border-l-[2px] border-purple-300 dark:border-purple-700 space-y-2"><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=B25RVkPrUFI" target="_blank" rel="noreferrer">Intro to CliWrap</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>November 19, 2021</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://facebook.com/events/1520226448376525?post_id=1529085947490575" target="_blank" rel="noreferrer">.NET Conf (Ukraine)</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">ukrainian</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=3_Ucw3Fflmo" target="_blank" rel="noreferrer">Intro to CliWrap</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>September 23, 2021</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://blog.jetbrains.com/dotnet/2021/09/08/oss-power-ups-cliwrap" target="_blank" rel="noreferrer">JetBrains OSS Power-Ups</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=hdDBKLHLrKU" target="_blank" rel="noreferrer">Modern Full-Stack App via Hipster Cloud</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>August 10, 2021</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg><div class="capitalize">workshop</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://fwdays.com/en/event/dotnet-fwdays-2021/review/full-stack-app-via-hipster-cloud" target="_blank" rel="noreferrer">.NET fwdays</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">ukrainian</div></div></div></div></li></ul></div></section><section><h2 class="group my-4 text-2xl font-semibold"><span class="">2020</span></h2><div class="ml-4"><ul class="border-l-[2px] border-purple-300 dark:border-purple-700 space-y-2"><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=US_3kUD5j2w" target="_blank" rel="noreferrer">Expression Trees in C#</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>October 2, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://msstage.com/speakers/alexey-golub" target="_blank" rel="noreferrer">MS Stage</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://airhacks.fm/#episode_103" target="_blank" rel="noreferrer">Unit Testing Considered Harmful</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>August 30, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="2"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"></path></svg><div class="capitalize">podcast</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://airhacks.fm" target="_blank" rel="noreferrer">Airhacks.fm</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=1qj6l8Eyj68" target="_blank" rel="noreferrer">Fallacies of Unit Testing</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>August 7, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://dotnetsummit.by" target="_blank" rel="noreferrer">.NET Summit</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://dotnetcore.show/episode-55-working-with-external-apis-with-alexey-golub" target="_blank" rel="noreferrer">Integrating with External APIs</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>July 10, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="2"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"></path></svg><div class="capitalize">podcast</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://dotnetcore.show" target="_blank" rel="noreferrer">.NET Core Show</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=ZKXE04Pkrhs" target="_blank" rel="noreferrer">GitHub Actions in Action</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>June 4, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://devopsfest.com.ua/devopstfest2020/indexe.html" target="_blank" rel="noreferrer">DevOps Fest</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=34C_7halqGw" target="_blank" rel="noreferrer">Learning F# by Designing Your Own Language</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>May 14, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://pages.jetbrains.com/dotnet-days-2020" target="_blank" rel="noreferrer">JetBrains .NET Days</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=yUzWaJ2jjwE" target="_blank" rel="noreferrer">Expression Trees in C#</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>April 11, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://fwdays.com/en/event/dotnet-fwdays-2020/review/expression-trees-in-c-sharp" target="_blank" rel="noreferrer">.NET fwdays</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">russian</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://slideshare.net/AlexeyGolub/expression-trees-in-c" target="_blank" rel="noreferrer">Expression Trees in C#</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>February 29, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://facebook.com/events/117461183014600" target="_blank" rel="noreferrer">DataArt IT talks</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">russian</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://facebook.com/events/623781598371536" target="_blank" rel="noreferrer">GitHub Actions in Action</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>February 15, 2020</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://facebook.com/events/623781598371536" target="_blank" rel="noreferrer">MSP Meetup</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">russian</div></div></div></div></li></ul></div></section><section><h2 class="group my-4 text-2xl font-semibold"><span class="">2019</span></h2><div class="ml-4"><ul class="border-l-[2px] border-purple-300 dark:border-purple-700 space-y-2"><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://slideshare.net/AlexeyGolub/alexey-golub-dependency-absolution-application-as-a-pipeline-svitla-smart-talks" target="_blank" rel="noreferrer">Dependency Absolution</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>December 12, 2019</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://facebook.com/events/2561040607325388" target="_blank" rel="noreferrer">Svitla Smart Talk</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">russian</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://youtube.com/watch?v=Ee3w2Q6Qqnk" target="_blank" rel="noreferrer">Monadic Parser Combinators in C#</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>October 25, 2019</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="http://dotnetfest.com/dotnetfest2019/indexe.html" target="_blank" rel="noreferrer">.NET Fest</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">russian</div></div></div></div></li><li class="relative"><div class="absolute w-[8px] h-[8px] -left-[5px] top-2 md:top-3 rounded-full bg-purple-500"></div><div class="ml-4"><div class="text-lg"><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://slideshare.net/AlexeyGolub/alexey-golub-writing-parsers-in-c-3shape-meetup" target="_blank" rel="noreferrer">Writing Parsers in C#</a></div><div class="flex flex-wrap gap-x-3 font-light"><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg><div>May 24, 2019</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg><div class="capitalize">talk</div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg><div><a class="text-blue-500 dark:text-blue-300 hover:underline" href="https://facebook.com/Lifeat3shape" target="_blank" rel="noreferrer">3Shape Meetup</a></div></div><div class="inline-flex items-center gap-1"><svg stroke="currentColor" fill="none" stroke-width="1" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg><div class="capitalize">english</div></div></div></div></li></ul></div></section></section></div></div></main></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"engagements":[{"title":"Reality-Driven Testing Using TestContainers","kind":"talk","event":".NET Conf (Ukraine)","date":"2023-12-13","language":"ukrainian","eventUrl":"https://kommunity.com/svitla-systems/events/svitla-smart-talk-net-conf-db7d2cd9","presentationUrl":"https://slideshare.net/AlexeyGolub/realitydriven-testing-using-testcontainers","recordingUrl":"https://youtu.be/ORapxIWoEco?t=3800"},{"title":"Intro to CliWrap","kind":"talk","event":"Svitla Smart Talk","date":"2022-08-30","language":"english","eventUrl":"https://kommunity.com/svitla-systems/events/svitla-smart-talk-interacting-with-command-line-in-net-using-cliwrap-3d39c180","presentationUrl":"https://slideshare.net/AlexeyGolub/intro-to-cliwrap"},{"title":"Developing Your Personal Brand","kind":"podcast","event":"DOU Podcast","date":"2022-07-14","language":"ukrainian","eventUrl":"https://dou.ua/forums/topic/39124","recordingUrl":"https://dou.ua/forums/topic/39124"},{"title":"The Work-War Balance of Open Source Developers in Ukraine","kind":"podcast","event":"The New Stack","date":"2022-03-23","language":"english","eventUrl":"https://thenewstack.io/the-work-war-balance-of-open-source-developers-in-ukraine","recordingUrl":"https://youtube.com/watch?v=8LAevD-FLJ4"},{"title":"Intro to CliWrap","kind":"talk","event":".NET Conf (Ukraine)","date":"2021-11-19","language":"ukrainian","eventUrl":"https://facebook.com/events/1520226448376525?post_id=1529085947490575","presentationUrl":"https://slideshare.net/AlexeyGolub/intro-to-cliwrap-250687433","recordingUrl":"https://youtube.com/watch?v=B25RVkPrUFI"},{"title":"Intro to CliWrap","kind":"talk","event":"JetBrains OSS Power-Ups","date":"2021-09-23","language":"english","eventUrl":"https://blog.jetbrains.com/dotnet/2021/09/08/oss-power-ups-cliwrap","presentationUrl":"https://slideshare.net/AlexeyGolub/intro-to-cliwrap","recordingUrl":"https://youtube.com/watch?v=3_Ucw3Fflmo"},{"title":"Modern Full-Stack App via Hipster Cloud","kind":"workshop","event":".NET fwdays","date":"2021-08-10","language":"ukrainian","eventUrl":"https://fwdays.com/en/event/dotnet-fwdays-2021/review/full-stack-app-via-hipster-cloud","recordingUrl":"https://youtube.com/watch?v=hdDBKLHLrKU"},{"title":"Expression Trees in C#","kind":"talk","event":"MS Stage","date":"2020-10-02","language":"english","eventUrl":"https://msstage.com/speakers/alexey-golub","presentationUrl":"https://slideshare.net/AlexeyGolub/expression-trees-in-c-238893586","recordingUrl":"https://youtube.com/watch?v=US_3kUD5j2w"},{"title":"Unit Testing Considered Harmful","kind":"podcast","event":"Airhacks.fm","date":"2020-08-30","language":"english","eventUrl":"https://airhacks.fm","recordingUrl":"https://airhacks.fm/#episode_103"},{"title":"Fallacies of Unit Testing","kind":"talk","event":".NET Summit","date":"2020-08-07","language":"english","eventUrl":"https://dotnetsummit.by","presentationUrl":"https://slideshare.net/AlexeyGolub/fallacies-of-unit-testing","recordingUrl":"https://youtube.com/watch?v=1qj6l8Eyj68"},{"title":"Integrating with External APIs","kind":"podcast","event":".NET Core Show","date":"2020-07-10","language":"english","eventUrl":"https://dotnetcore.show","recordingUrl":"https://dotnetcore.show/episode-55-working-with-external-apis-with-alexey-golub"},{"title":"GitHub Actions in Action","kind":"talk","event":"DevOps Fest","date":"2020-06-04","language":"english","eventUrl":"https://devopsfest.com.ua/devopstfest2020/indexe.html","presentationUrl":"https://slideshare.net/DevOps_Fest/devops-fest-2020-alexey-golub-github-actions-in-action","recordingUrl":"https://youtube.com/watch?v=ZKXE04Pkrhs"},{"title":"Learning F# by Designing Your Own Language","kind":"talk","event":"JetBrains .NET Days","date":"2020-05-14","language":"english","eventUrl":"https://pages.jetbrains.com/dotnet-days-2020","presentationUrl":"https://github.com/Tyrrrz/JetBrainsDotnetDay2020","recordingUrl":"https://youtube.com/watch?v=34C_7halqGw"},{"title":"Expression Trees in C#","kind":"talk","event":".NET fwdays","date":"2020-04-11","language":"russian","eventUrl":"https://fwdays.com/en/event/dotnet-fwdays-2020/review/expression-trees-in-c-sharp","presentationUrl":"https://slideshare.net/fwdays/expression-trees-in-c-fwdays-oleksii-holub","recordingUrl":"https://youtube.com/watch?v=yUzWaJ2jjwE"},{"title":"Expression Trees in C#","kind":"talk","event":"DataArt IT talks","date":"2020-02-29","language":"russian","eventUrl":"https://facebook.com/events/117461183014600","presentationUrl":"https://slideshare.net/AlexeyGolub/expression-trees-in-c"},{"title":"GitHub Actions in Action","kind":"talk","event":"MSP Meetup","date":"2020-02-15","language":"russian","eventUrl":"https://facebook.com/events/623781598371536"},{"title":"Dependency Absolution","kind":"talk","event":"Svitla Smart Talk","date":"2019-12-12","language":"russian","eventUrl":"https://facebook.com/events/2561040607325388","presentationUrl":"https://slideshare.net/AlexeyGolub/alexey-golub-dependency-absolution-application-as-a-pipeline-svitla-smart-talks"},{"title":"Monadic Parser Combinators in C#","kind":"talk","event":".NET Fest","date":"2019-10-25","language":"russian","eventUrl":"http://dotnetfest.com/dotnetfest2019/indexe.html","presentationUrl":"https://github.com/Tyrrrz/DotNetFest2019","recordingUrl":"https://youtube.com/watch?v=Ee3w2Q6Qqnk"},{"title":"Writing Parsers in C#","kind":"talk","event":"3Shape Meetup","date":"2019-05-24","language":"english","eventUrl":"https://facebook.com/Lifeat3shape","presentationUrl":"https://slideshare.net/AlexeyGolub/alexey-golub-writing-parsers-in-c-3shape-meetup"}]},"__N_SSG":true},"page":"/speaking","query":{},"buildId":"xhbRHNEn2q66qCdSC1fxF","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10