diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml new file mode 100644 index 0000000..ee3c3fa --- /dev/null +++ b/.github/workflows/hugo.yml @@ -0,0 +1,74 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.108.0 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Install Dart Sass Embedded + run: sudo snap install dart-sass-embedded + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Setup Pages + id: pages + uses: actions/configure-pages@v2 + - name: Install Node.js dependencies + run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./public + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/config.toml b/config.toml index 1d7c819..a7fa63e 100644 --- a/config.toml +++ b/config.toml @@ -1,3 +1,7 @@ baseURL = 'http://example.org/' languageCode = 'en-us' title = 'My New Hugo Site' + +googleAnalytics = "G-6DFPR9V8BX" + +disqusShortname = "shishqa" \ No newline at end of file diff --git a/content/_index.md b/content/_index.md index 46b2c89..2e529e4 100644 --- a/content/_index.md +++ b/content/_index.md @@ -10,7 +10,7 @@

sh*shqa

- + whoami links @@ -26,14 +26,15 @@

-

Sometimes I write, maybe you'll find something there

-logs +

Psst, I also take photos. Take a look at my

+darkroom

-

Psst, I also take photos. Take a look at my

-darkroom +

Sometimes I write, maybe you'll find something there

+logs +
diff --git a/content/darkroom/georgia-2022.md b/content/darkroom/georgia-2022.md index 7826861..015a64d 100644 --- a/content/darkroom/georgia-2022.md +++ b/content/darkroom/georgia-2022.md @@ -1,7 +1,7 @@ --- -dir: "/img/2022-georgia" +dir: "georgia2022" title: Georgia 2022 --- {{< load-photoswipe >}} -{{< gallery dir="/img/2022-georgia">}} \ No newline at end of file +{{< gallery dir="georgia2022">}} \ No newline at end of file diff --git a/content/darkroom/khakassia-2022.md b/content/darkroom/khakassia-2022.md index 2c193e3..23bcd61 100644 --- a/content/darkroom/khakassia-2022.md +++ b/content/darkroom/khakassia-2022.md @@ -1,7 +1,7 @@ --- -dir: "/img/2022-khakassia" +dir: "khakassia2022" title: Khakassia 2022 --- {{< load-photoswipe >}} -{{< gallery dir="/img/2022-khakassia">}} \ No newline at end of file +{{< gallery dir="khakassia2022">}} \ No newline at end of file diff --git a/content/darkroom/walrus-2023.md b/content/darkroom/walrus-2023.md new file mode 100644 index 0000000..6628266 --- /dev/null +++ b/content/darkroom/walrus-2023.md @@ -0,0 +1,7 @@ +--- +dir: "walrus2023" +title: Walruses 2023 +--- + +{{< load-photoswipe >}} +{{< gallery dir="walrus2023">}} diff --git a/content/links.md b/content/links.md index a6834a6..ca1ea9c 100644 --- a/content/links.md +++ b/content/links.md @@ -2,24 +2,7 @@ title: links --- -{{< rawhtml >}} -

-- -github -

- -

-- -linkedin -

- -

-- -email -

- -

-- -telegram -

-{{< /rawhtml >}} \ No newline at end of file +- github: [@Shishqa](https://github.com/Shishqa) +- linkedin: [@shishqa](www.linkedin.com/in/shishqa) +- email: [shishqa.main@gmail.com](mailto:shishqa.main@gmail.com) +- telegram: [@shishqa](https://t.me/shishqa) diff --git a/content/projects/kubetos/index.md b/content/projects/kubetos/index.md index 7b49595..7fcccea 100644 --- a/content/projects/kubetos/index.md +++ b/content/projects/kubetos/index.md @@ -1,6 +1,8 @@ --- title: kubetos -description: declare Kubernetes with TOSCA +description: > + Yet another way to deploy Kubernetes + (but promising) --- Aim of this project is to try implementing Kubernetes deployment framework (like Kubespray) with TOSCA standard @@ -20,9 +22,7 @@ To be continued Here you can see a cringe demo video 🌚
- +
{{< /rawhtml >}} diff --git a/content/whoami.md b/content/whoami.md index 19527c0..804350f 100644 --- a/content/whoami.md +++ b/content/whoami.md @@ -1,33 +1,47 @@ --- title: Mikhail Shishatskiy --- + +{{< rawhtml >}} + +{{< /rawhtml >}} + ## Experience +- **Software Engineer** \ + [Yandex](https://yandex.com/company/) \ + *September 2023 --- now* + - **Cloud Research assistant** \ [Ivannikov Institute for System Programming of the RAS](https://www.ispras.ru/en/) \ - July 2021 --- now - - Extended [Michman](https://github.com/ispras/michman) orchestrator by adding the ability to deploy Kubernetes service and OpenPAI platform. Now the team deploys Kubernetes clusters through this solution - - Currently working with OASIS TOSCA support for Michman. Authored [Kubetos](https://github.com/Shishqa/kubetos) project, which was featured on the [TOSCA Implementation Landscape](https://github.com/philippemerle/tosca-implementation-landscape) - - Currently working on language-learning platform based on [Lingvodoc](http://lingvodoc.ispras.ru/), developing full-stack solution with supabase and flutter - - *Leveraged knowledge:* TOSCA, OCI, Ansible, Go, Kubernetes, Linux, OpenStack, Flutter, Git - + *July 2021 --- September 2023* + - Currently working on the domain-agnostic OASIS TOSCA orchestration system with support of [substitution mappings](https://docs.oasis-open.org/tosca/TOSCA/v2.0/csd05/TOSCA-v2.0-csd05.html#_Toc125468384) + - *stack:* Python FastAPI microservices, Docker, Ansible + - guided the system architecture from the beginning, learned from quite a lot of mistakes made + - developed an inline substitution mapping algorithm + - Currently working on the [language-learning platform](http://edu.ispras.ru) based on the [Lingvodoc](http://lingvodoc.ispras.ru/), pre-alpha stage + - *stack:* Flutter (riverpod), Supabase + - made self-hosted Supabase production ready (migrations, protected access) + - Developed [Kubetos](https://github.com/Shishqa/kubetos) — a set of TOSCA service templates for deploying highly customizable Kubernetes clusters + - *stack:* [xOpera](https://github.com/xlab-si/xopera-opera), Ansible, Kubernetes + - featured on the [TOSCA Implementation Landscape](https://github.com/philippemerle/tosca-implementation-landscape) + - Extended [Michman](https://github.com/ispras/michman) orchestrator by adding the ability to deploy Kubernetes service. Now this solution is used by the team for reproducible testing of other ISPRAS platforms + - *stack:* Ansible, Kubespray - **Intern Software Developer** \ [VK group](https://vk.company/en/) --- [Tarantool](https://github.com/tarantool) \ - March 2021 --- September 2021 + *March 2021 --- September 2021* - Developed platform sampling profiler for LuaJIT. Which is now utilized by Tarantool team to profile user applications running on the Tarantool platform - Extended the memory profiler for LuaJIT by adding dynamic symbol table enriching - - *Leveraged knowledge:* C, Lua, JIT compilers, Perf, Git + - *stack:* LuaJIT, C, perf ## Skills -- **Programming languages** - - *Working knowledge:* C, C++, Assembly, Python, Dart (Flutter) +- **Languages** + - *Working knowledge:* C, C++, Assembly, Python, Dart (Flutter), TOSCA, SQL - *Basic knowledge:* Rust, Go, Lua, HTML - **Software** - - *Working knowledge:* Git, Ansible, Docker, Kubernetes, Kubespray, SQL - - *Basic knowledge:* OpenStack, Spark, CUDA, Jekyll + - *Working knowledge:* Git, Ansible, Kubespray, Docker, Kubernetes, Postgres + - *Basic knowledge:* OpenStack, Spark, CUDA - **OS** - Linux (_I use arch btw_), Windows - **Languages** @@ -37,6 +51,9 @@ title: Mikhail Shishatskiy ## Education +- **Master in Applied Mathematics and Computer Science** \ + [ITMO University](https://mhs.itmo.ru/) \ + September 2023 --- July 2025 (expected) - **Bachelor in Information Science and Computer Engineering** \ [Moscow Institute of Physics and Technology](https://mipt.ru/english/) \ September 2019 --- July 2023 @@ -52,3 +69,6 @@ title: Mikhail Shishatskiy ## Also - In the summer I visit [Krasnoyarsk Summer School](https://klsh.ru/about/) to teach shoolstudents fascinating things in exact mathematical sciences and have fun + - «How I Learned to Stop Worrying and Shot Myself in the Foot» — C language course for beginners + - «Welcome to the Internet» — course telling how the Internet stack works (overview from the TCP/IP to the Cloud) + - «A Box with a Hole is Also a Camera» — course about geometrical optics and practice in building a pinhole camera diff --git a/data/darkroom/georgia2022.yaml b/data/darkroom/georgia2022.yaml new file mode 100644 index 0000000..d3b0f95 --- /dev/null +++ b/data/darkroom/georgia2022.yaml @@ -0,0 +1,30 @@ +gallery: +- { thumb: https://i.postimg.cc/NjdwVQ6D/MNS-20220202-112625.jpg, img: https://i.postimg.cc/vZG7chwD/MNS-20220202-112625.jpg} +- { thumb: https://i.postimg.cc/QMPZ8SnW/MNS-20220202-113309.jpg, img: https://i.postimg.cc/zvWwRPfH/MNS-20220202-113309.jpg} +- { thumb: https://i.postimg.cc/Xq6MFqWj/MNS-20220202-115019.jpg, img: https://i.postimg.cc/cCqwZMcx/MNS-20220202-115019.jpg} +- { thumb: https://i.postimg.cc/FK1QXwG4/MNS-20220202-115127.jpg, img: https://i.postimg.cc/cLTRY3dh/MNS-20220202-115127.jpg} +- { thumb: https://i.postimg.cc/7YM433bp/MNS-20220202-120505.jpg, img: https://i.postimg.cc/BvQCwgmR/MNS-20220202-120505.jpg} +- { thumb: https://i.postimg.cc/VLc10Gsq/MNS-20220202-141120.jpg, img: https://i.postimg.cc/mDPyTrfw/MNS-20220202-141120.jpg} +- { thumb: https://i.postimg.cc/P5Xj2CwN/MNS-20220202-145419.jpg, img: https://i.postimg.cc/sDY9j88t/MNS-20220202-145419.jpg} +- { thumb: https://i.postimg.cc/63vJyRDb/MNS-20220202-145437.jpg, img: https://i.postimg.cc/j5nPGkP3/MNS-20220202-145437.jpg} +- { thumb: https://i.postimg.cc/cCRpcW1Q/MNS-20220202-145442.jpg, img: https://i.postimg.cc/HkSMjCtP/MNS-20220202-145442.jpg} +- { thumb: https://i.postimg.cc/h4VRnL8f/MNS-20220202-145448.jpg, img: https://i.postimg.cc/L4zZLPTP/MNS-20220202-145448.jpg} +- { thumb: https://i.postimg.cc/fTZnRV55/MNS-20220202-145531.jpg, img: https://i.postimg.cc/s2QMXGxv/MNS-20220202-145531.jpg} +- { thumb: https://i.postimg.cc/SxNBcHBM/MNS-20220203-101851.jpg, img: https://i.postimg.cc/VLm0RNGV/MNS-20220203-101851.jpg} +- { thumb: https://i.postimg.cc/VLRyrzVw/MNS-20220203-115407.jpg, img: https://i.postimg.cc/xdhbyyhv/MNS-20220203-115407.jpg} +- { thumb: https://i.postimg.cc/vZqph3yS/MNS-20220203-115744.jpg, img: https://i.postimg.cc/W30tmRMV/MNS-20220203-115744.jpg} +- { thumb: https://i.postimg.cc/CKR9QkLM/MNS-20220203-121228.jpg, img: https://i.postimg.cc/rwYdMN8B/MNS-20220203-121228.jpg} +- { thumb: https://i.postimg.cc/BvRR9bXT/MNS-20220203-132328.jpg, img: https://i.postimg.cc/mkwDqQX6/MNS-20220203-132328.jpg} +- { thumb: https://i.postimg.cc/V6MpYwC3/MNS-20220203-132705.jpg, img: https://i.postimg.cc/g2rJSLvN/MNS-20220203-132705.jpg} +- { thumb: https://i.postimg.cc/mkynHSVj/MNS-20220203-142403.jpg, img: https://i.postimg.cc/RF1V67BV/MNS-20220203-142403.jpg} +- { thumb: https://i.postimg.cc/qqTYqFcg/MNS-20220203-144949.jpg, img: https://i.postimg.cc/J0PrKR0f/MNS-20220203-144949.jpg} +- { thumb: https://i.postimg.cc/Y26ZZpkF/MNS-20220203-145138.jpg, img: https://i.postimg.cc/9FQF0wNC/MNS-20220203-145138.jpg} +- { thumb: https://i.postimg.cc/HsTRCfsh/MNS-20220203-151630-1.jpg, img: https://i.postimg.cc/65b6v6DR/MNS-20220203-151630-1.jpg} +- { thumb: https://i.postimg.cc/65zS6Y85/MNS-20220203-155531.jpg, img: https://i.postimg.cc/1tSyQ8qx/MNS-20220203-155531.jpg} +- { thumb: https://i.postimg.cc/K8zW1BT7/MNS-20220204-144226.jpg, img: https://i.postimg.cc/pLg2sGVL/MNS-20220204-144226.jpg} +- { thumb: https://i.postimg.cc/vZNNfT7J/MNS-20220204-144359.jpg, img: https://i.postimg.cc/XvdnmfXc/MNS-20220204-144359.jpg} +- { thumb: https://i.postimg.cc/PqvF4H2P/MNS-20220205-143319.jpg, img: https://i.postimg.cc/SsGkNm6n/MNS-20220205-143319.jpg} +- { thumb: https://i.postimg.cc/k4rYYHpw/MNS-20220206-131330.jpg, img: https://i.postimg.cc/brCPkLF8/MNS-20220206-131330.jpg} +- { thumb: https://i.postimg.cc/zBntsjmN/MNS-20220206-143016.jpg, img: https://i.postimg.cc/cC4ZvPhX/MNS-20220206-143016.jpg} +- { thumb: https://i.postimg.cc/T1f7fDGD/MNS-20220206-143619.jpg, img: https://i.postimg.cc/yYxss4kN/MNS-20220206-143619.jpg} +- { thumb: https://i.postimg.cc/wM2WvjTb/MNS-20220206-144727.jpg, img: https://i.postimg.cc/KvWFYqMD/MNS-20220206-144727.jpg} \ No newline at end of file diff --git a/data/darkroom/khakassia2022.yaml b/data/darkroom/khakassia2022.yaml new file mode 100644 index 0000000..ed9aef6 --- /dev/null +++ b/data/darkroom/khakassia2022.yaml @@ -0,0 +1,13 @@ +gallery: +- { thumb: https://i.postimg.cc/Yqc0gcMS/MNS-20220819-194315.jpg, img: https://i.postimg.cc/W3rjpKBF/MNS-20220819-194315.jpg} +- { thumb: https://i.postimg.cc/t4pgSh1Q/MNS-20220819-194326.jpg, img: https://i.postimg.cc/8CxNSD0g/MNS-20220819-194326.jpg} +- { thumb: https://i.postimg.cc/7LPf6gDM/MNS-20220819-195646.jpg, img: https://i.postimg.cc/nLXpgMT1/MNS-20220819-195646.jpg} +- { thumb: https://i.postimg.cc/HsQx9Sk9/MNS-20220819-195715.jpg, img: https://i.postimg.cc/kMQ9k0NL/MNS-20220819-195715.jpg} +- { thumb: https://i.postimg.cc/0jSN3ndx/MNS-20220819-195859.jpg, img: https://i.postimg.cc/fyNsVCsH/MNS-20220819-195859.jpg} +- { thumb: https://i.postimg.cc/wBW3s7jK/MNS-20220819-200034.jpg, img: https://i.postimg.cc/GmhcPXyV/MNS-20220819-200034.jpg} +- { thumb: https://i.postimg.cc/y63Wk6q5/MNS-20220819-200042.jpg, img: https://i.postimg.cc/L53pLP6m/MNS-20220819-200042.jpg} +- { thumb: https://i.postimg.cc/wvZv0ZN0/MNS-20220819-201654.jpg, img: https://i.postimg.cc/pLGPsKQT/MNS-20220819-201654.jpg} +- { thumb: https://i.postimg.cc/bvFNwWmp/MNS-20220819-203503.jpg, img: https://i.postimg.cc/NfQYYdpF/MNS-20220819-203503.jpg} +- { thumb: https://i.postimg.cc/HxcWczN5/MNS-20220820-153246.jpg, img: https://i.postimg.cc/4NwG3pS5/MNS-20220820-153246.jpg} +- { thumb: https://i.postimg.cc/sx5VKXsg/MNS-20220821-171855.jpg, img: https://i.postimg.cc/W1HPGTjq/MNS-20220821-171855.jpg} +- { thumb: https://i.postimg.cc/9FjX0GYR/MNS-20220821-173341.jpg, img: https://i.postimg.cc/qvRT6zfd/MNS-20220821-173341.jpg} \ No newline at end of file diff --git a/data/darkroom/walrus2023.yaml b/data/darkroom/walrus2023.yaml new file mode 100644 index 0000000..8beadd9 --- /dev/null +++ b/data/darkroom/walrus2023.yaml @@ -0,0 +1,7 @@ +gallery: +- { img: https://i.postimg.cc/KzZh3rQm/SHI-3640-v1.jpg, thumb: https://i.postimg.cc/mZJ5FWbm/SHI-3640-v1.jpg } +- { img: https://i.postimg.cc/Zn5m2Fyw/SHI-3662-v1.jpg, thumb: https://i.postimg.cc/SNY7C0nx/SHI-3662-v1.jpg } +- { img: https://i.postimg.cc/GpnCd1y8/SHI-3676-v1.jpg, thumb: https://i.postimg.cc/FHgSVhNN/SHI-3676-v1.jpg } +- { img: https://i.postimg.cc/qMg0GwrR/SHI-3696-v1.jpg, thumb: https://i.postimg.cc/hvzxLxP5/SHI-3696-v1.jpg } +- { img: https://i.postimg.cc/QMgrMnQ6/SHI-3711-v1.jpg, thumb: https://i.postimg.cc/cJxnDPLY/SHI-3711-v1.jpg } +- { img: https://i.postimg.cc/3rtYp6PV/SHI-3714-v1.jpg, thumb: https://i.postimg.cc/Mpk0YsBb/SHI-3714-v1.jpg } diff --git a/layouts/404.html b/layouts/404.html index 6b94da3..a91ad4d 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1 +1 @@ -

Not found! :)

\ No newline at end of file +

🌚

\ No newline at end of file diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 27b9be9..7b2d9bd 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,9 +1,9 @@ {{ define "main" }} -
+
-

{{ .Params.title }}

+

{{ .Params.title }}

{{ .Content }} {{ range .Paginator.Pages }} diff --git a/layouts/darkroom/list.html b/layouts/darkroom/list.html index ba204dc..6c09211 100644 --- a/layouts/darkroom/list.html +++ b/layouts/darkroom/list.html @@ -1,7 +1,7 @@ {{ define "main" }} -
+
\ No newline at end of file diff --git a/layouts/shortcodes/gallery.html b/layouts/shortcodes/gallery.html deleted file mode 100644 index ff73cc7..0000000 --- a/layouts/shortcodes/gallery.html +++ /dev/null @@ -1,34 +0,0 @@ -{{- if not ($.Page.Scratch.Get "figurecount") }}{{ end }} -{{- $.Page.Scratch.Add "figurecount" 1 }} -{{ $baseURL := .Site.BaseURL }} - \ No newline at end of file diff --git a/layouts/shortcodes/gallery.html b/layouts/shortcodes/gallery.html new file mode 100644 index 0000000..726c3d6 --- /dev/null +++ b/layouts/shortcodes/gallery.html @@ -0,0 +1,19 @@ +{{- if not ($.Page.Scratch.Get "figurecount") }}{{ end }} +{{- $.Page.Scratch.Add "figurecount" 1 }} +{{ $baseURL := .Site.BaseURL }} + \ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css index 928f8f6..e58d5cc 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -7,19 +7,13 @@ src: url("/fonts/FeatureMono-Regular.ttf"); } -@font-face { - font-family: "MADEYourself"; - src: url("/fonts/MADEYourself-Regular.otf"); -} - - :root { --bg-color: #ffffff; --font-family-sans: Inter; --font-size: 1.8rem; --font-family-mono: FeatureMono; --font-color: #080808; - --color-primary: #0000EE; + --color-primary: #ff8a1d; --color-lightGrey: #d2d6dd; --color-grey: #747681; --color-darkGrey: #080808; @@ -98,6 +92,7 @@ body.dark { padding-left: 2rem; padding-right: 2rem; padding-top: 1rem; + min-width: 300px; border-top: 2px solid var(--color-darkGrey); } diff --git a/static/img/landing.gif b/static/img/landing.gif new file mode 100644 index 0000000..4d5952f Binary files /dev/null and b/static/img/landing.gif differ