diff --git a/.forgejo/workflows/build_and_deploy_site.yml b/.forgejo/workflows/build_and_deploy_site.yml index 5e26418..fc92005 100644 --- a/.forgejo/workflows/build_and_deploy_site.yml +++ b/.forgejo/workflows/build_and_deploy_site.yml @@ -16,13 +16,34 @@ jobs: fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod - name: Setup Hugo - uses: peaceiris/actions-hugo@v3 - with: - hugo-version: "0.119.0" - # extended: true + run: | + wget https://github.com/gohugoio/hugo/releases/download/v0.147.8/hugo_0.147.8_linux-amd64.tar.gz + tar -xzf hugo_0.147.8_linux-amd64.tar.gz + chmod +x hugo + mkdir -p ~/bin + mv hugo ~/bin/ + echo "~/bin" >> $GITHUB_PATH - name: Build run: hugo --minify + - name: Setup SSH + run: | + echo "Setting up SSH..." + mkdir -p ~/.ssh + if [ -z "${{ secrets.SSH_PRIVATE_KEY }}" ]; then + echo "ERROR: SSH_PRIVATE_KEY secret is not set!" + exit 1 + fi + echo "SSH_PRIVATE_KEY secret is present" + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + chmod 700 ~/.ssh + echo "SSH key saved and permissions set" ssh-keyscan -H alexselimov.com >> ~/.ssh/known_hosts + echo "Host key added to known_hosts" + # Test SSH connection + echo "Testing SSH connection..." + ssh -o StrictHostKeyChecking=no -o BatchMode=yes root@alexselimov.com "echo 'SSH connection successful'" || echo "SSH connection failed" + - name: Deploy - run: rsync -azvr public/* root@smokey:/var/www/alexselimov.com/ + run: rsync -azvr public/* root@alexselimov.com:/var/www/alexselimov.com/ diff --git a/.gitmodules b/.gitmodules index f320301..9502d96 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "themes/hugo-theme-terminal"] path = themes/hugo-theme-terminal - url = https://github.com/panr/hugo-theme-terminal.git + url = https://forge.alexselimov.com/aselimov/Terminal-Hugo-Theme.git diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/content/_index.md b/content/_index.md index e26619b..5b3d9ee 100644 --- a/content/_index.md +++ b/content/_index.md @@ -5,14 +5,17 @@ date: 2022-10-03T14:17:10-04:00 layout: index --- +
+ _ _ ____ _ _ + / \ | | _____ __ / ___| ___| (_)_ __ ___ _____ __ + / _ \ | |/ _ \ \/ / \___ \ / _ \ | | '_ ` _ \ / _ \ \ / / + / ___ \| | __/> < ___) | __/ | | | | | | | (_) \ V / + /_/ \_\_|\___/_/\_\ |____/ \___|_|_|_| |_| |_|\___/ \_/ ++ + I am a materials scientist and software developer proficient in Rust, Fortran, C++, Java, and Python. I have extensive experience with Unix operating systems on both high performance computing resources and on my personal computer (check out [Void Linux](https://voidlinux.org)). I currently work at [UKG](https://www.ukg.com) as a Java Backend Engineer. -This website is a place for me to post about a range of topics from professional news, to tech tutorials, to recipes I enjoy very much. Checkout some of my recent posts below or find them all organized by tags [here](/posts). +**Checkout recent posts below or posts organized by topic [here](/topics)** -I also designed and manage a few websites for family members, so check them out: - -[alexanderselimov.com](https://alexanderselimov.com) - -[iberoamericanliterarysociety.com](https://iberoamericanliterarysociety.com) - -**Checkout some posts below and thanks for stopping by!** +**Thanks for stopping by!** diff --git a/content/cv.md b/content/cv.md index 48a18bf..ea36e8c 100644 --- a/content/cv.md +++ b/content/cv.md @@ -7,9 +7,8 @@ Alex Selimov ================== -**aselimov3@gatech.edu · [https://alexselimov.com](https://alexselimov.com)** +**alex@alexselimov.com · [https://alexselimov.com](https://alexselimov.com)** -[{{< fontawesome class="fa-solid fa-download" >}}PDF version](/AlexSelimovCV.pdf) ## Education - **Georgia Institute of Technology** (North Avenue, Atlanta, GA 30332)\ diff --git a/content/posts/debian_upgrade.md b/content/posts/debian_upgrade.md new file mode 100644 index 0000000..704bb1d --- /dev/null +++ b/content/posts/debian_upgrade.md @@ -0,0 +1,20 @@ +--- +title: "The folly of Debian major version upgrades" +date: 2025-07-13T08:35:50-05:00 +topics: ["git", "matrix", "self-host"] +--- + +I recently realized that my web server was still on Debian Buster, **2 whole major versions behind** the latest Debian version. Normally this kind of thing wouldn't matter to me except that my matrix-synapse server was unable to federate with matrix synapse servers running newer versions. I normally run rolling release distributions on my local machines (I use Void btw) and it had been a long time since I tried this kind of upgrade. I went in hopeful that it would be straightforward. + +**This is a reminder to backup consistently.** + + Of course after thinking everything went fine, I tried to install a new package and libcrypt ends up getting removed leaving me unable to login to my server. Luckily I had backed up before this which saved all of my bespoke configurations. I'm sure no one noticed the down time but I did use this as an opportunity to make the followjng changes: + +- matrix-synapse upgrade to dendrite for better performance. +- Gitea to forgejo just to try something different. +- Properly set up actions to auto build and deploy site on push. +- Rework website and swap to the [terminal hugo theme](https://forge.alexselimov.com/aselimov/Terminal-Hugo-Theme) + +So far, I have positive opinions of all of my changes and highly recommend dendrite and forgejo. + + **Note to self: Never consider it upgrading Debian version. Always structure it as a migration to newer Debian version to avoid downtime** diff --git a/hugo.toml b/hugo.toml index 2a85f9b..80318f5 100644 --- a/hugo.toml +++ b/hugo.toml @@ -8,7 +8,7 @@ unsafe = true [params] contentTypeName = "posts" -showMenuItems = 5 +showMenuItems = 3 postsToShowOnIndex = 3 fullWidthTheme = false centerTheme = true @@ -18,13 +18,12 @@ tag = "tags" topic = "topics" [languages] -[languages.en] + +[languages.en.params] title = "Alex Selimov" subtitle = "" keywords = "" copyright = "© Alex Selimov" - -[languages.en.params] menuMore = "Show more" readMore = "Read more" readOtherPosts = "Read other posts" @@ -35,17 +34,25 @@ logoHomeLink = "/" [languages.en.menu] [[languages.en.menu.main]] -identifier = "about" -name = "[About Me]" -url = "/about" -weight = 10 -[[languages.en.menu.main]] identifier = "cv" name = "[CV]" url = "/cv" -weight = 10 +weight = 1 [[languages.en.menu.main]] identifier = "git" name = "[Git]" url = "https://forge.alexselimov.com/aselimov" -weight = 10 +weight = 1 +[[languages.en.menu.main]] +identier = "linkedIn" +name = "[LinkedIn]" +url = "https://www.linkedin.com/in/alex-selimov/" +weight = 2 +[[languages.en.menu.main]] +identier = "Scholar" +name = "[Google Scholar]" +url = "https://scholar.google.com/citations?user=w6unVk8AAAAJ&hl=en&oi=ao" +[[languages.en.menu.main]] +identifier = "gpg" +name = "[GPG public key]" +url = "./public.key" diff --git a/static/public.key b/static/public.key new file mode 100644 index 0000000..4af9c07 --- /dev/null +++ b/static/public.key @@ -0,0 +1,41 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +oOzx0x0y7ELQVGJVtpxqVxLcA58xJCE34I+h +=5X5g +-----END PGP PUBLIC KEY BLOCK----- diff --git a/themes/hugo-theme-terminal b/themes/hugo-theme-terminal index 4e2b017..7cd0b57 160000 --- a/themes/hugo-theme-terminal +++ b/themes/hugo-theme-terminal @@ -1 +1 @@ -Subproject commit 4e2b01779a5d2cc1b869c6bce1edf4676a4684b9 +Subproject commit 7cd0b57a0276349b9f107afb48f692e72f0d931a