muerwre.github.io/bio/index.html
muerwre a125b2591d commit 7eeb3b14c6
Author: Fedor Katurov <gotham48@gmail.com>
Date:   Thu Nov 10 14:33:09 2022 +0600

    fixed appearance on mobile devices
2022-11-10 08:35:04 +00:00

12 lines
No EOL
40 KiB
HTML

<!DOCTYPE html>
<html data-head-attrs="">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="head:count" content="2"><link rel="modulepreload" href="/bio/_payload.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/entry.b61ebbed.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/landing.1ac5b13c.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/LayoutHeader.9c7a57f1.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/LayoutHeader.vue_used_vue_type_style_index_0_lang.module.0c694d46.js"><link rel="preload" as="style" href="/nuxt/LayoutHeader.vue_used_vue_type_style_index_0_lang.6c21f409.css"><link rel="modulepreload" as="script" crossorigin href="/nuxt/content.9af53fb7.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/LayoutThemeToggle.64504c1a.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/LayoutThemeToggle.vue_used_vue_type_style_index_0_lang.module.35b87e4e.js"><link rel="preload" as="style" href="/nuxt/LayoutThemeToggle.vue_used_vue_type_style_index_0_lang.cfa40af4.css"><link rel="modulepreload" as="script" crossorigin href="/nuxt/LayoutFooter.fc9a0061.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/bio.f457ecac.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/BioHeading.686ad64c.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/ArrowRight.7ae6d727.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/UiActionButton.bb540ff0.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/BioSkills.b37cb619.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/BioSkillsCard.b9337e8d.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/UiStars.c8a352c5.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/IconStar.f6c0812c.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/UiCard.f1867c6a.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/BioProjects.26c378f6.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/BioProjectCard.ef3df99f.js"><link rel="modulepreload" as="script" crossorigin href="/nuxt/IconsCode.9f76f077.js"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/react-logo.1aab3d6d.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/react-native-logo.bdbaa7c9.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/react-ssr-logo.3593105e.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/ts-logo.5847c362.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/golang-logo.f772e478.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/html-logo.1f694231.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/arch-logo.838efbc7.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/gql-logo.1e66e5b3.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/swagger-logo.b314537c.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/vue-logo.17ff892a.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/postgres-logo.d981f813.svg"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/docker-logo.7f942bd1.svg"><link rel="prefetch" as="image" type="image/png" href="/nuxt/vault48.40538b94.png"><link rel="prefetch" as="image" type="image/png" href="/nuxt/orchid-map.2f398715.png"><link rel="prefetch" as="image" type="image/png" href="/nuxt/obsidian-garden.39e6dff3.png"><link rel="prefetch" as="script" crossorigin href="/nuxt/client-db.831f903c.js"><link rel="prefetch" as="script" crossorigin href="/nuxt/web-socket.7c12741e.js"><link rel="prefetch" as="script" crossorigin href="/nuxt/error-component.09bd2649.js"><link rel="prefetch" as="script" crossorigin href="/nuxt/default.06833fd1.js"><link rel="prefetch" as="style" href="/nuxt/LayoutMainMenuToggle.vue_used_vue_type_style_index_0_lang.5944fda9.css"><link rel="prefetch" as="script" crossorigin href="/nuxt/LayoutMainMenuToggle.0229fd1d.js"><link rel="prefetch" as="script" crossorigin href="/nuxt/LayoutMainMenuToggle.vue_used_vue_type_style_index_0_lang.module.ab60ac3f.js"><link rel="prefetch" as="script" crossorigin href="/nuxt/LayoutMainMenu.73d179c8.js"><link rel="prefetch" as="script" crossorigin href="/nuxt/navigation.3574a1bb.js"><link rel="prefetch" as="style" href="/nuxt/entry.fca39fa6.css"><link rel="prefetch" as="image" type="image/svg+xml" href="/nuxt/howdy.2abb4865.svg"><link rel="stylesheet" href="/nuxt/LayoutHeader.vue_used_vue_type_style_index_0_lang.6c21f409.css"><link rel="stylesheet" href="/nuxt/LayoutThemeToggle.vue_used_vue_type_style_index_0_lang.cfa40af4.css"><style>._header_container_1jt5r_1{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:sticky;top:0;z-index:10}._header_container_1jt5r_1:after{background:var(--color-background);content:"";inset:0;opacity:.95;position:absolute;z-index:0}@supports ((-webkit-backdrop-filter:blur(5px)) or (backdrop-filter:blur(5px))){._header_container_1jt5r_1:after{opacity:.85}}._header_content_1jt5r_21{margin:auto;max-width:min(1280px,100vw);padding:0 40px;position:relative;z-index:1}@media (max-width:1024px){._header_content_1jt5r_21{padding:0 40px}}@media (max-width:768px){._header_content_1jt5r_21{padding:0 20px}}</style><style>._header_1nsrt_1{padding:22px 0;text-align:left}._header_1nsrt_1 a{color:var(--color-text);padding:0 25px 0 0;position:relative;text-decoration:none}._header_1nsrt_1 a._active_1nsrt_11{color:var(--color-link)}._header_1nsrt_1 a._active_1nsrt_11:after{background:var(--color-link);left:3px;right:28px}._header_1nsrt_1 a:after{background:var(--color-text);bottom:-6px;content:"";height:2px;left:50%;position:absolute;right:50%;transition:all .25s}</style><style>._wrapper_1km9a_1{display:flex;flex-direction:column;height:100%;padding-top:40px}@media (max-width:1024px){._wrapper_1km9a_1{padding-top:10px}}._content_1km9a_13{flex:1}._footer_1km9a_17{border-top:1px solid var(--color-line);margin-top:60px;padding:10px}._theme_toggle_1km9a_23{stroke:currentColor;stroke-width:.5px;position:absolute;right:20px;top:20px;z-index:12}@media (max-width:768px){._theme_toggle_1km9a_23{stroke-width:1.5px;right:16px;top:16px}}</style><style>._content_1jhz3_1{margin:auto;max-width:min(1280px,100vw);padding:0 40px}@media (max-width:1024px){._content_1jhz3_1{padding:0 40px}}@media (max-width:768px){._content_1jhz3_1{padding:0 20px}}._section_1jhz3_17{padding:40px 0}._section_1jhz3_17._heading_1jhz3_20{padding-bottom:0}@media (max-width:1024px){._heading_1jhz3_20{padding-top:20px}}</style><style>._grid_uddso_1{grid-column-gap:40px;display:grid;grid-template-columns:1fr 2fr}@media (max-width:1024px){._grid_uddso_1{display:flex;flex-direction:column-reverse}}._text_uddso_13{color:var(--color-text-secondary)}._text_uddso_13 b{color:var(--color-text)}._text_uddso_13 h1{margin-top:0}@media (max-width:1024px){._text_uddso_13{padding-bottom:20px;text-align:center}}._image_uddso_29{text-align:center}._image_uddso_29 img{width:100%}@media (max-width:1024px){._image_uddso_29 img{max-height:50vh;max-width:75vh}}._buttons_uddso_42{margin-top:50px}@media (max-width:1024px){._buttons_uddso_42{margin-top:20px}}._buttons_uddso_42>*{margin:0 15px 15px 0}</style><style>._button_15t7y_1{align-items:center;border-radius:8px;color:#fff;display:inline-flex;justify-content:center;text-decoration:none}._button_15t7y_1._variant-primary_15t7y_9{background-color:var(--color-primary)}._button_15t7y_1._variant-outline_15t7y_12{box-shadow:var(--color-text) 0 0 0 1px;color:var(--color-text);overflow:hidden;position:relative;transition:all .25s}._button_15t7y_1._variant-outline_15t7y_12:after{background:var(--color-primary);border-radius:8px;content:" ";inset:0;opacity:0;position:absolute;transform:scale(0);transition:all .25s;z-index:0}._button_15t7y_1._variant-outline_15t7y_12:hover{box-shadow:var(--color-background) 0 0 0 1px;color:var(--color-primary-contrast)}._button_15t7y_1._variant-outline_15t7y_12:hover:after{opacity:1;transform:scale(1)}._button_15t7y_1._size-md_15t7y_38{height:40px;padding:0 30px}._button_15t7y_1._size-md_15t7y_38._prefixed_15t7y_42,._button_15t7y_1._size-md_15t7y_38._suffixed_15t7y_42{padding:0 10px 0 20px}._button_15t7y_1._size-md_15t7y_38._suffixed_15t7y_42{padding-right:0 20px 0 10px}._title_15t7y_49{flex:1;position:relative;text-align:center;z-index:1}._size-md_15t7y_38._prefixed_15t7y_42 ._title_15t7y_49{padding-left:10px}._size-md_15t7y_38._suffixed_15t7y_42 ._title_15t7y_49{padding-right:10px}._prefix_15t7y_42,._suffix_15t7y_42{display:inline-flex;position:relative;z-index:2}</style><style>._list_89lzg_1{-moz-column-gap:20px;column-gap:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));row-gap:20px}</style><style>._grid_1kefv_1{grid-column-gap:16px;align-items:center;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:48px 1fr;padding:10px;transition:all .25s}._title_1kefv_11{margin:0 0 4px}._icon_1kefv_15{align-items:center;display:flex}._text_1kefv_20{display:flex;flex-direction:column;padding-bottom:4px}._description_1kefv_26{color:var(--color-text-secondary);font-size:.9rem;line-height:1.4rem;padding:10px}</style><style>._card_e1njf_1{border:1px solid var(--color-line);border-radius:8px;transition:all .25s}._card_e1njf_1:hover{background-color:var(--color-code-background);border-color:var(--color-text-secondary)}</style><style>._rating_pb5ie_1{display:flex;flex-direction:row;margin-left:-3px}._rating_pb5ie_1>img{margin-right:2px}._star_pb5ie_10{stroke:none;fill:currentColor}._star_pb5ie_10:first-child{color:var(--color-rating-1)}._star_pb5ie_10:nth-child(2){color:var(--color-rating-2)}._star_pb5ie_10:nth-child(3){color:var(--color-rating-3)}._star_pb5ie_10:nth-child(4){color:var(--color-rating-4)}._star_pb5ie_10:nth-child(5){color:var(--color-rating-5)}._star_pb5ie_10._filled_pb5ie_29{fill:var(--color-rating-0)}</style><style>._grid_1ng9c_1{-moz-column-gap:16px;column-gap:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));row-gap:16px}</style><style>._card_1wy9v_1{display:flex;flex-direction:column;height:100%}._thumbnail_1wy9v_7{border-bottom:1px solid var(--color-line);border-radius:8px 8px 0 0;height:250px;overflow:hidden}._image_1wy9v_14{height:auto;-o-object-fit:cover;object-fit:cover;width:100%}._content_1wy9v_20{display:flex;flex:1;flex-direction:column;padding:16px}._head_1wy9v_27{margin-bottom:16px}._title_1wy9v_31{margin:0 0 4px}._url_1wy9v_35{font-size:.9em}._description_1wy9v_39{color:var(--color-text-secondary);font-size:.9em;line-height:1.5em;white-space:pre-line}._buttons_1wy9v_46{-moz-column-gap:10px;column-gap:10px;display:grid;grid-template-columns:repeat(2,1fr);padding:16px;row-gap:10px}</style><link rel="stylesheet" href="/nuxt/entry.fca39fa6.css" media="print" onload="this.media='all'; this.onload=null;"><script>const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"dark";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
</script></head>
<body data-head-attrs=""><div id="__nuxt"><div hastransition="true"><div class="_header_container_1jt5r_1"><div class="_header_content_1jt5r_21"><div class="_header_1nsrt_1"><a href="/" class="">Home</a><a aria-current="page" href="/bio" class="_active_1nsrt_11 router-link-exact-active">About me</a></div></div></div><div class="_wrapper_1km9a_1" hastransition="true"><div class="_content_1km9a_13"><button class="_theme_toggle_1km9a_23 _button_jz7in_1 _theme_toggle_1km9a_23"><span></span></button><!--[--><!--[--><article class="_content_1jhz3_1"><section class="_section_1jhz3_17 _heading_1jhz3_20"><div class="_grid_uddso_1"><div class="_image_uddso_29"><img src="/nuxt/howdy.2abb4865.svg"></div><div class="_text_uddso_13"><h1>Howdy!</h1><p> My name is <b>Fedor Katurov</b>, I&#39;m a fullstack developer from Siberia. </p><p> I develop frontend applications with <b>React</b>, <b>Vue</b> and numerous other frameworks for the most of my time, but I&#39;m also capable of doing <b>Typescript</b> and <b>Golang</b> backend. </p><div class="_buttons_uddso_42"><a href="https://github.com/muerwre" rel="noopener noreferrer" target="_blank" class="_button_15t7y_1 _variant-primary_15t7y_9 _size-md_15t7y_38 _suffixed_15t7y_42"><!----><span class="_title_15t7y_49"><!--[--> Contact me <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path d="m24 40-2.1-2.15L34.25 25.5H8v-3h26.25L21.9 10.15 24 8l16 16Z"></path></svg><!--]--></span></a><a href="https://github.com/muerwre" rel="noopener noreferrer" target="_blank" class="_button_15t7y_1 _variant-outline_15t7y_12 _size-md_15t7y_38 _suffixed_15t7y_42"><!----><span class="_title_15t7y_49"><!--[--> Visit my Github <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path d="m24 40-2.1-2.15L34.25 25.5H8v-3h26.25L21.9 10.15 24 8l16 16Z"></path></svg><!--]--></span></a></div></div></div></section><section class="_section_1jhz3_17"><div><h2>Skills</h2><div class="_list_89lzg_1"><!--[--><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/react-logo.1aab3d6d.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">React</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Classes and FC-s, hooks, context, redux, redux-saga, mobx</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/ts-logo.5847c362.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">Typescript</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">For both frontend and backend development: generics, guards, infers</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/react-ssr-logo.3593105e.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">SSR (Next, Gatsby)</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Automated generation, incremental, static, and dynamic rendering</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/vue-logo.17ff892a.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">Vue.js &amp; Nuxt</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Common SPA-s and SSR blogs like this one, with composition API, and Vuex</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/react-native-logo.bdbaa7c9.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">React Native</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Basic developing and releasing experience without native modules</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/golang-logo.f772e478.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">Golang</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Monolith and microservice apps with REST, GraphQL, and GRPC</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/docker-logo.7f942bd1.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">Docker</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Docker, docker-compose, private registries, gitlab-ci, and drone-ci</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/html-logo.1f694231.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">HTML, CSS, SVG</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Adaptive markup, all modern techniques, preprocessors, and CSS-in-JS</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/arch-logo.838efbc7.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">Linux Shell</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Linux user since 2003, can write scripts to automate my work. BTW, I use Arch!</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/gql-logo.1e66e5b3.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">GraphQL</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Both server- and client-side. Queries, mutations, cache manipulation</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/swagger-logo.b314537c.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">REST API</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">With Axios, fetch, express, gorilla-mux, and gin-gonic</div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_grid_1kefv_1"><div class="_icon_1kefv_15"><!--[--><img src="/nuxt/postgres-logo.d981f813.svg" width="48" height="48"><!--]--></div><div class="_text_1kefv_20"><h3 class="_title_1kefv_11">SQL</h3><div class="_rating_pb5ie_1"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" class="_star_pb5ie_10 _filled_pb5ie_29"><path d="m11.65 44 3.25-14.05L4 20.5l14.4-1.25L24 6l5.6 13.25L44 20.5l-10.9 9.45L36.35 44 24 36.55Z"></path></svg><!--]--></div></div></div><div class="_description_1kefv_26">Base queries, JOIN-s, indexes and simpl query optimizations</div><!--]--></div><!--]--></div></div></section><section class="_section_1jhz3_17"><div><h2>Pet Projects</h2><div class="_grid_1ng9c_1"><!--[--><div class="_card_e1njf_1"><!--[--><div class="_card_1wy9v_1"><div class="_thumbnail_1wy9v_7"><img src="/nuxt/vault48.40538b94.png" class="_image_1wy9v_14" alt="Vault48"></div><div class="_content_1wy9v_20"><div class="_head_1wy9v_27"><h3 class="_title_1wy9v_31">Vault48</h3><div class="_url_1wy9v_35"><a href="https://vault48.org" rel="noopener noreferrer">https://vault48.org</a></div></div><div class="_description_1wy9v_39">Community blog with a long 13-year history, features photo, video and audio embedding.
Beeing initially written with Drupal 5, went through refactoring to Laravel + Vue and then, nowadays works on React and Golang stack.</div></div><div class="_buttons_1wy9v_46"><a href="https://github.com/muerwre/vault-frontend" rel="noopener noreferrer" class="_button_15t7y_1 _variant-outline_15t7y_12 _size-md_15t7y_38 _suffixed_15t7y_42" _target="blank"><!----><span class="_title_15t7y_49"><!--[--> Source Code <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path xmlns="http://www.w3.org/2000/svg" d="m16 35.9-12-12 12.1-12.1 2.15 2.15L8.3 23.9l9.85 9.85Zm15.9.1-2.15-2.15 9.95-9.95-9.85-9.85L32 11.9l12 12Z"></path></svg><!--]--></span></a><a href="https://vault48.org" rel="noopener noreferrer" class="_button_15t7y_1 _variant-outline_15t7y_12 _size-md_15t7y_38 _suffixed_15t7y_42" _target="blank"><!----><span class="_title_15t7y_49"><!--[--> Visit <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path d="m24 40-2.1-2.15L34.25 25.5H8v-3h26.25L21.9 10.15 24 8l16 16Z"></path></svg><!--]--></span></a></div></div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_card_1wy9v_1"><div class="_thumbnail_1wy9v_7"><img src="/nuxt/orchid-map.2f398715.png" class="_image_1wy9v_14" alt="Orchid Map"></div><div class="_content_1wy9v_20"><div class="_head_1wy9v_27"><h3 class="_title_1wy9v_31">Orchid Map</h3><div class="_url_1wy9v_35"><a href="https://map.vault48.org" rel="noopener noreferrer">https://map.vault48.org</a></div></div><div class="_description_1wy9v_39">Local cycling community Web Maps made with React, Leaflet, and Golang.
Implements automatic route building with OSRM and map rasterization with canvas. Used by users in local cycling communities for ride sharing.</div></div><div class="_buttons_1wy9v_46"><a href="https://github.com/muerwre/orchidmap-front" rel="noopener noreferrer" class="_button_15t7y_1 _variant-outline_15t7y_12 _size-md_15t7y_38 _suffixed_15t7y_42" _target="blank"><!----><span class="_title_15t7y_49"><!--[--> Source Code <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path xmlns="http://www.w3.org/2000/svg" d="m16 35.9-12-12 12.1-12.1 2.15 2.15L8.3 23.9l9.85 9.85Zm15.9.1-2.15-2.15 9.95-9.95-9.85-9.85L32 11.9l12 12Z"></path></svg><!--]--></span></a><a href="https://map.vault48.org" rel="noopener noreferrer" class="_button_15t7y_1 _variant-outline_15t7y_12 _size-md_15t7y_38 _suffixed_15t7y_42" _target="blank"><!----><span class="_title_15t7y_49"><!--[--> Visit <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path d="m24 40-2.1-2.15L34.25 25.5H8v-3h26.25L21.9 10.15 24 8l16 16Z"></path></svg><!--]--></span></a></div></div><!--]--></div><div class="_card_e1njf_1"><!--[--><div class="_card_1wy9v_1"><div class="_thumbnail_1wy9v_7"><img src="/nuxt/obsidian-garden.39e6dff3.png" class="_image_1wy9v_14" alt="Obsidian Garden"></div><div class="_content_1wy9v_20"><div class="_head_1wy9v_27"><h3 class="_title_1wy9v_31">Obsidian Garden</h3><div class="_url_1wy9v_35"><a href="https://muerwre.github.io" rel="noopener noreferrer">https://muerwre.github.io</a></div></div><div class="_description_1wy9v_39">Frontend for personal knowledge database managed by Obsidian.md software.
Made with nuxt3, nuxt-content plugin and some customizations. Deployed with drone-ci directly to github-pages.</div></div><div class="_buttons_1wy9v_46"><a href="https://github.com/muerwre/muerwre.github.io" rel="noopener noreferrer" class="_button_15t7y_1 _variant-outline_15t7y_12 _size-md_15t7y_38 _suffixed_15t7y_42" _target="blank"><!----><span class="_title_15t7y_49"><!--[--> Source Code <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path xmlns="http://www.w3.org/2000/svg" d="m16 35.9-12-12 12.1-12.1 2.15 2.15L8.3 23.9l9.85 9.85Zm15.9.1-2.15-2.15 9.95-9.95-9.85-9.85L32 11.9l12 12Z"></path></svg><!--]--></span></a><a href="https://muerwre.github.io" rel="noopener noreferrer" class="_button_15t7y_1 _variant-outline_15t7y_12 _size-md_15t7y_38 _suffixed_15t7y_42" _target="blank"><!----><span class="_title_15t7y_49"><!--[--> Visit <!--]--></span><span class="_suffix_15t7y_42"><!--[--><svg xmlns="http://www.w3.org/2000/svg" height="22" width="22" viewbox="0 0 48 48" fill="currentColor"><path d="m24 40-2.1-2.15L34.25 25.5H8v-3h26.25L21.9 10.15 24 8l16 16Z"></path></svg><!--]--></span></a></div></div><!--]--></div><!--]--></div></div></section></article><!--]--><!--]--></div><footer class="_footer_ogxvf_1 _footer_1km9a_17 _footer_1km9a_17"><div>btw, have a nice day</div><div class="_filler_ogxvf_9"></div><div> (2018 - 2022) <a href="https://github.com/muerwre/" rel="noopener noreferrer" target="_blank">muerwre</a></div></footer></div></div></div><script type="module">import p from "/bio/_payload.js";window.__NUXT__={...p,...((function(a,b,c,d,e,f){return {state:{"$scolor-mode":{preference:b,value:b,unknown:c,forced:a}},_errors:{},serverRendered:c,config:{public:{content:{clientDB:{isSPA:a,integrity:1668069244663},navigation:{fields:[]},base:"_content",tags:{p:"prose-p",a:"prose-a",blockquote:"prose-blockquote","code-inline":"prose-code-inline",code:"prose-code",em:"prose-em",h1:"prose-h1",h2:"prose-h2",h3:"prose-h3",h4:"prose-h4",h5:"prose-h5",h6:"prose-h6",hr:"prose-hr",img:"prose-img",ul:"prose-ul",ol:"prose-ol",li:"prose-li",strong:"prose-strong",table:"prose-table",thead:"prose-thead",tbody:"prose-tbody",td:"prose-td",th:"prose-th",tr:"prose-tr"},highlight:{theme:{default:"github-dark",light:"solarized-light"},preload:[d,"c","go","graphql","scss",d,e,"docker","typescript","javascript","nginx","bash","yaml",e],apiURL:"\u002Fapi\u002F_content\u002Fhighlight"},wsUrl:f,documentDriven:a,anchorLinks:{depth:4,exclude:[1]}}},app:{baseURL:"\u002F",buildAssetsDir:"nuxt\u002F",cdnURL:f}},prerenderedAt:1668069268921}}(false,"dark",true,"shell","sh","")))}</script><script type="module" src="/nuxt/entry.b61ebbed.js" crossorigin></script><script type="module" src="/nuxt/landing.1ac5b13c.js" crossorigin></script><script type="module" src="/nuxt/LayoutHeader.9c7a57f1.js" crossorigin></script><script type="module" src="/nuxt/content.9af53fb7.js" crossorigin></script><script type="module" src="/nuxt/LayoutThemeToggle.64504c1a.js" crossorigin></script><script type="module" src="/nuxt/bio.f457ecac.js" crossorigin></script><script type="module" src="/nuxt/BioHeading.686ad64c.js" crossorigin></script><script type="module" src="/nuxt/UiActionButton.bb540ff0.js" crossorigin></script><script type="module" src="/nuxt/ArrowRight.7ae6d727.js" crossorigin></script><script type="module" src="/nuxt/BioSkills.b37cb619.js" crossorigin></script><script type="module" src="/nuxt/BioSkillsCard.b9337e8d.js" crossorigin></script><script type="module" src="/nuxt/UiCard.f1867c6a.js" crossorigin></script><script type="module" src="/nuxt/UiStars.c8a352c5.js" crossorigin></script><script type="module" src="/nuxt/IconStar.f6c0812c.js" crossorigin></script><script type="module" src="/nuxt/BioProjects.26c378f6.js" crossorigin></script><script type="module" src="/nuxt/BioProjectCard.ef3df99f.js" crossorigin></script><script type="module" src="/nuxt/IconsCode.9f76f077.js" crossorigin></script><script type="module" src="/nuxt/LayoutFooter.fc9a0061.js" crossorigin></script></body>
</html>