Compare commits

...
Sign in to create a new pull request.

5 commits

Author SHA1 Message Date
9b143cf6ce
Update banner
All checks were successful
Build and Deploy Hugo / deploy (push) Successful in -16m27s
2025-07-14 05:45:10 -04:00
a367a49a96
Fix various issues and re-style framed banner
All checks were successful
Build and Deploy Hugo / deploy (push) Successful in -16m14s
2025-07-13 21:56:54 -04:00
669c977ed0 Correct path to debian upgrade post
Some checks failed
Build and Deploy Hugo / deploy (push) Failing after -16m30s
2025-07-14 00:42:16 +00:00
006468e868 Debian upgrade post
All checks were successful
Build and Deploy Hugo / deploy (push) Successful in -16m17s
2025-07-14 00:37:13 +00:00
ededbf5cfa
Fix issues with workflow syntax
All checks were successful
Build and Deploy Hugo / deploy (push) Successful in -16m23s
2025-07-13 05:52:41 -04:00
9 changed files with 119 additions and 28 deletions

View file

@ -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/

2
.gitmodules vendored
View file

@ -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

0
.hugo_build.lock Normal file
View file

View file

@ -5,14 +5,17 @@ date: 2022-10-03T14:17:10-04:00
layout: index
---
<pre class="figlet-banner">
_ _ ____ _ _
/ \ | | _____ __ / ___| ___| (_)_ __ ___ _____ __
/ _ \ | |/ _ \ \/ / \___ \ / _ \ | | '_ ` _ \ / _ \ \ / /
/ ___ \| | __/> < ___) | __/ | | | | | | | (_) \ V /
/_/ \_\_|\___/_/\_\ |____/ \___|_|_|_| |_| |_|\___/ \_/
</pre>
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!**

View file

@ -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)\

View file

@ -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**

View file

@ -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"

41
static/public.key Normal file
View file

@ -0,0 +1,41 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
oOzx0x0y7ELQVGJVtpxqVxLcA58xJCE34I+h
=5X5g
-----END PGP PUBLIC KEY BLOCK-----

@ -1 +1 @@
Subproject commit 4e2b01779a5d2cc1b869c6bce1edf4676a4684b9
Subproject commit 7cd0b57a0276349b9f107afb48f692e72f0d931a