From 24a03827c8e531f0b8ef804511381e7306fd0804 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Sat, 12 Jul 2025 00:24:10 -0400 Subject: [PATCH 01/13] Remove external dependency --- .forgejo/workflows/build_and_deploy_site.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build_and_deploy_site.yml b/.forgejo/workflows/build_and_deploy_site.yml index 5e26418..1359084 100644 --- a/.forgejo/workflows/build_and_deploy_site.yml +++ b/.forgejo/workflows/build_and_deploy_site.yml @@ -15,11 +15,8 @@ jobs: submodules: true # Fetch Hugo themes (true OR recursive) 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 + - name: Setup + run: apt-get install hugo -y - name: Build run: hugo --minify From da797997c04c4c04044a5a39fb53538510dbd5f1 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Sat, 12 Jul 2025 00:25:32 -0400 Subject: [PATCH 02/13] Downgrade checkout --- .forgejo/workflows/build_and_deploy_site.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build_and_deploy_site.yml b/.forgejo/workflows/build_and_deploy_site.yml index 1359084..b8e48ce 100644 --- a/.forgejo/workflows/build_and_deploy_site.yml +++ b/.forgejo/workflows/build_and_deploy_site.yml @@ -10,7 +10,7 @@ jobs: deploy: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 with: submodules: true # Fetch Hugo themes (true OR recursive) fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod From ededbf5cfa364bc3c5da81821fc7facb9f1b30cb Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Sat, 12 Jul 2025 00:24:10 -0400 Subject: [PATCH 03/13] Fix issues with workflow syntax --- .forgejo/workflows/build_and_deploy_site.yml | 31 ++++++++++++++++---- .gitmodules | 2 +- .hugo_build.lock | 0 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 .hugo_build.lock 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 From 006468e868a86146d504d9cea680880b308f4028 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Mon, 14 Jul 2025 00:37:13 +0000 Subject: [PATCH 04/13] Debian upgrade post --- posts/debian_upgrade.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 posts/debian_upgrade.md diff --git a/posts/debian_upgrade.md b/posts/debian_upgrade.md new file mode 100644 index 0000000..5a27a6c --- /dev/null +++ b/posts/debian_upgrade.md @@ -0,0 +1,21 @@ +--- +title: "The folly of Debian major version upgrades"" +date: 2025-07-13T20: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** \ No newline at end of file From 669c977ed023c05f2889647d9b15c42772db12e2 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Mon, 14 Jul 2025 00:42:16 +0000 Subject: [PATCH 05/13] Correct path to debian upgrade post --- content/posts/debian_upgrade.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 content/posts/debian_upgrade.md diff --git a/content/posts/debian_upgrade.md b/content/posts/debian_upgrade.md new file mode 100644 index 0000000..e10470c --- /dev/null +++ b/content/posts/debian_upgrade.md @@ -0,0 +1,20 @@ +--- +title: "The folly of Debian major version upgrades" +date: 2025-07-13T20: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** \ No newline at end of file From a367a49a9636413156ce54ef1c6c9fb59a1e1868 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Sun, 13 Jul 2025 21:56:54 -0400 Subject: [PATCH 06/13] Fix various issues and re-style framed banner --- content/_index.md | 17 +++++++------- content/cv.md | 3 +-- content/posts/debian_upgrade.md | 6 ++--- hugo.toml | 29 ++++++++++++++--------- posts/debian_upgrade.md | 21 ----------------- static/public.key | 41 +++++++++++++++++++++++++++++++++ themes/hugo-theme-terminal | 2 +- 7 files changed, 73 insertions(+), 46 deletions(-) delete mode 100644 posts/debian_upgrade.md create mode 100644 static/public.key diff --git a/content/_index.md b/content/_index.md index e26619b..48284a9 100644 --- a/content/_index.md +++ b/content/_index.md @@ -5,14 +5,15 @@ 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). - -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!** 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 index e10470c..704bb1d 100644 --- a/content/posts/debian_upgrade.md +++ b/content/posts/debian_upgrade.md @@ -1,7 +1,7 @@ --- title: "The folly of Debian major version upgrades" -date: 2025-07-13T20:35:50-05:00 - topics: ['git', 'matrix', 'self-host'] +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. @@ -17,4 +17,4 @@ I recently realized that my web server was still on Debian Buster, **2 whole maj 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** \ No newline at end of file + **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/posts/debian_upgrade.md b/posts/debian_upgrade.md deleted file mode 100644 index 5a27a6c..0000000 --- a/posts/debian_upgrade.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "The folly of Debian major version upgrades"" -date: 2025-07-13T20: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** \ No newline at end of file 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 From 9b143cf6ceb74ade1716e5f82cb90bbf65ae0230 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Mon, 14 Jul 2025 05:45:10 -0400 Subject: [PATCH 07/13] Update banner --- content/_index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/_index.md b/content/_index.md index 48284a9..5b3d9ee 100644 --- a/content/_index.md +++ b/content/_index.md @@ -16,4 +16,6 @@ layout: index 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. -**Checkout some posts below and thanks for stopping by!** +**Checkout recent posts below or posts organized by topic [here](/topics)** + +**Thanks for stopping by!** From 80b2eab45ebde6eaa3010d51b76265d5c2824fa4 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Fri, 1 Aug 2025 23:39:58 +0000 Subject: [PATCH 08/13] Add AI post --- content/posts/misc_thoughts_ai.md | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 content/posts/misc_thoughts_ai.md diff --git a/content/posts/misc_thoughts_ai.md b/content/posts/misc_thoughts_ai.md new file mode 100644 index 0000000..ff1b25b --- /dev/null +++ b/content/posts/misc_thoughts_ai.md @@ -0,0 +1,32 @@ +--- +title: "Misc thoughts on AI +date: 2025-08-01T07:36:00-4:00 +topics: ['AI', 'Software development', 'LLMs'] + +--- + +## AI has become a very useful tool for me + +If you know me personally, you know that I've been pretty slow on the LLM/GenAI uptake. At this point, however, if you are a software developer that isn't integrating GenAI tools into your workflow I think you are probably going to be left behind. I've been playing around with these tools a lot more lately and I've come to a few conclusions. + +1. Models that can be run locally (I've used a lot of different Ollama models) are mainly just ok. The best results I've had is with Gemma3:27b on an m4 macbook. Haven't tried qwen3 coder yet. +2. The amazing metrics you see referenced require 100b+ models that are not going to be feasible to run locally for most people. +3. Your application matters a lot. I find that these tools are extremely useful for java spring boot microservices but a lot less useful for scientific projects in Rust. +4. I really enjoy using the expensive LLM tools provided at work and enjoy using the free version of tools less. +5. Claude has given me the best performance so far. + +I'm still debating which subscription to get for personal projects. I know Claude is my favorite, but it's also much more expensive. I also have a newborn right now and not much time for side projects, so I'm delaying the decision. + +## AI has NOT become an irreplaceable tool + +I am not a vibe coder and don't think I will ever give in to the vibes. Even when I prompt claude code to make changes, I always know exactly what I want done and how I want it done. Many times I'll make the changes myself because it's faster than trying to prompt Claude. LLMs have definitely improved my efficiency but I would be fine if all the GPUs in the world suddenly melted down. I'm not a viber for a couple reasons: + +1. I enjoy coding and problem solving. +2. I'm not convinced models are capable enough to be fully trusted. +3. I want to keep my own skillset because the future of AI is uncertain to me + +## How does the economics of AI work? + +From my very limited understanding, the fact that major AI companies are still requiring funding rounds indicates that AI is currently not profitable. That makes sense to me since ChatGPT and Claude are available for free even though inference is certainly not free. I think the significant portion of cost is due to model training. It seems like model training costs won't be stopping anytime soon as companies race towards general and then "super" intelligence. I'm not convinced either of those are a given. As a result either prices will have to increase or ads will be introduced to recuperate investor money. I'm also not sure how this applies to providers of open weight models. Those prices can seem more reasonable, but are those subsidized as well? Finally, the current datacenter power consumption for model training seems entirely unsustainable. If I recall correctly, Elon Musk is powering some of his datecenter with a constant flow of diesel fuel jnto generators. The scale of everything at the moment seems to border absurdity. I think we are in for a bumpy ride for the next few years as the impact of GenAI technology and infrastructure works itself out. + +Please let me know if I'm wrong about anything or with better predictions! \ No newline at end of file From 5f2c9d19f7e31323d0ed48cdaa72b9366254a48d Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Fri, 1 Aug 2025 23:44:47 +0000 Subject: [PATCH 09/13] Fix missing quotes --- content/posts/misc_thoughts_ai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/posts/misc_thoughts_ai.md b/content/posts/misc_thoughts_ai.md index ff1b25b..9a9376f 100644 --- a/content/posts/misc_thoughts_ai.md +++ b/content/posts/misc_thoughts_ai.md @@ -1,5 +1,5 @@ --- -title: "Misc thoughts on AI +title: "Misc thoughts on AI" date: 2025-08-01T07:36:00-4:00 topics: ['AI', 'Software development', 'LLMs'] From 24eb85816fbd0f597004fa3e21d4163764940ca7 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Fri, 1 Aug 2025 23:47:13 +0000 Subject: [PATCH 10/13] Fix date --- content/posts/misc_thoughts_ai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/posts/misc_thoughts_ai.md b/content/posts/misc_thoughts_ai.md index 9a9376f..0976361 100644 --- a/content/posts/misc_thoughts_ai.md +++ b/content/posts/misc_thoughts_ai.md @@ -1,6 +1,6 @@ --- title: "Misc thoughts on AI" -date: 2025-08-01T07:36:00-4:00 +date: 2025-08-01T07:45:26-04:00 topics: ['AI', 'Software development', 'LLMs'] --- From 3e48d1318864384002b581e5d30e8035b535dc84 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Fri, 1 Aug 2025 23:03:24 -0400 Subject: [PATCH 11/13] Fix typos --- content/posts/misc_thoughts_ai.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/posts/misc_thoughts_ai.md b/content/posts/misc_thoughts_ai.md index 0976361..e3c0415 100644 --- a/content/posts/misc_thoughts_ai.md +++ b/content/posts/misc_thoughts_ai.md @@ -27,6 +27,6 @@ I am not a vibe coder and don't think I will ever give in to the vibes. Even whe ## How does the economics of AI work? -From my very limited understanding, the fact that major AI companies are still requiring funding rounds indicates that AI is currently not profitable. That makes sense to me since ChatGPT and Claude are available for free even though inference is certainly not free. I think the significant portion of cost is due to model training. It seems like model training costs won't be stopping anytime soon as companies race towards general and then "super" intelligence. I'm not convinced either of those are a given. As a result either prices will have to increase or ads will be introduced to recuperate investor money. I'm also not sure how this applies to providers of open weight models. Those prices can seem more reasonable, but are those subsidized as well? Finally, the current datacenter power consumption for model training seems entirely unsustainable. If I recall correctly, Elon Musk is powering some of his datecenter with a constant flow of diesel fuel jnto generators. The scale of everything at the moment seems to border absurdity. I think we are in for a bumpy ride for the next few years as the impact of GenAI technology and infrastructure works itself out. +From my very limited understanding, the fact that major AI companies are still requiring funding rounds indicates that AI is currently not profitable. That makes sense to me since ChatGPT and Claude are available for free even though inference is certainly not free. I think the significant portion of cost is due to model training. It seems like model training costs won't be stopping anytime soon as companies race towards general and then "super" intelligence. I'm not convinced either of those are a given. As a result either prices will have to increase or ads will be introduced to recuperate investor money. I'm also not sure how this applies to providers of open weight models. Those prices can seem more reasonable, but are those subsidized as well? Finally, the current datacenter power consumption for model training seems entirely unsustainable. If I recall correctly, Elon Musk is powering some of his datacenters with a constant flow of diesel fuel into generators because he can't get enough power from the power grid. The scale of everything at the moment seems to border absurdity. I think we are in for a bumpy ride for the next few years as the impact of GenAI technology and infrastructure works itself out. -Please let me know if I'm wrong about anything or with better predictions! \ No newline at end of file +Please let me know if I'm wrong about anything or with better predictions! From 7bb4b03b673f3473e147ff7771f52cd34745dd6f Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Fri, 1 Aug 2025 23:06:13 -0400 Subject: [PATCH 12/13] Fix typos and do one sentence one line --- content/posts/misc_thoughts_ai.md | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/content/posts/misc_thoughts_ai.md b/content/posts/misc_thoughts_ai.md index e3c0415..4139f8c 100644 --- a/content/posts/misc_thoughts_ai.md +++ b/content/posts/misc_thoughts_ai.md @@ -7,7 +7,10 @@ topics: ['AI', 'Software development', 'LLMs'] ## AI has become a very useful tool for me -If you know me personally, you know that I've been pretty slow on the LLM/GenAI uptake. At this point, however, if you are a software developer that isn't integrating GenAI tools into your workflow I think you are probably going to be left behind. I've been playing around with these tools a lot more lately and I've come to a few conclusions. +If you know me personally, you know that I've been pretty slow on the LLM/GenAI uptake. +At this point, however, if you are a software developer that isn't integrating GenAI tools into your workflow I think you are probably going to be left behind. +I've been playing around with these tools a lot more lately, and I've come to a few conclusions. + 1. Models that can be run locally (I've used a lot of different Ollama models) are mainly just ok. The best results I've had is with Gemma3:27b on an m4 macbook. Haven't tried qwen3 coder yet. 2. The amazing metrics you see referenced require 100b+ models that are not going to be feasible to run locally for most people. @@ -15,11 +18,18 @@ If you know me personally, you know that I've been pretty slow on the LLM/GenAI 4. I really enjoy using the expensive LLM tools provided at work and enjoy using the free version of tools less. 5. Claude has given me the best performance so far. -I'm still debating which subscription to get for personal projects. I know Claude is my favorite, but it's also much more expensive. I also have a newborn right now and not much time for side projects, so I'm delaying the decision. +I'm still debating which subscription to get for personal projects. +I know Claude is my favorite, but it's also much more expensive. +I also have a newborn right now and not much time for side projects, so I'm delaying the decision. + ## AI has NOT become an irreplaceable tool -I am not a vibe coder and don't think I will ever give in to the vibes. Even when I prompt claude code to make changes, I always know exactly what I want done and how I want it done. Many times I'll make the changes myself because it's faster than trying to prompt Claude. LLMs have definitely improved my efficiency but I would be fine if all the GPUs in the world suddenly melted down. I'm not a viber for a couple reasons: +I am not a vibe coder and don't think I will ever give in to the vibes. +Even when I prompt claude code to make changes, I always know exactly what I want done and how I want it done. +Many times I'll make the changes myself because it's faster than trying to prompt Claude. +LLMs have definitely improved my efficiency, but I would be fine if all the GPUs in the world suddenly melted down. +I'm not a viber for a couple reasons: 1. I enjoy coding and problem solving. 2. I'm not convinced models are capable enough to be fully trusted. @@ -27,6 +37,17 @@ I am not a vibe coder and don't think I will ever give in to the vibes. Even whe ## How does the economics of AI work? -From my very limited understanding, the fact that major AI companies are still requiring funding rounds indicates that AI is currently not profitable. That makes sense to me since ChatGPT and Claude are available for free even though inference is certainly not free. I think the significant portion of cost is due to model training. It seems like model training costs won't be stopping anytime soon as companies race towards general and then "super" intelligence. I'm not convinced either of those are a given. As a result either prices will have to increase or ads will be introduced to recuperate investor money. I'm also not sure how this applies to providers of open weight models. Those prices can seem more reasonable, but are those subsidized as well? Finally, the current datacenter power consumption for model training seems entirely unsustainable. If I recall correctly, Elon Musk is powering some of his datacenters with a constant flow of diesel fuel into generators because he can't get enough power from the power grid. The scale of everything at the moment seems to border absurdity. I think we are in for a bumpy ride for the next few years as the impact of GenAI technology and infrastructure works itself out. +From my very limited understanding, the fact that major AI companies are still requiring funding rounds indicates that AI is currently not profitable. +That makes sense to me since ChatGPT and Claude are available for free even though inference is certainly not free. +I think the significant portion of cost is due to model training. +It seems like model training costs won't be stopping anytime soon as companies race towards general and then "super" intelligence. +I'm not convinced either of those are a given. +As a result, prices will have to increase or ads will be introduced to recuperate investor money. +I'm also not sure how this applies to providers of open weight models. +Those prices can seem more reasonable, but are those subsidized as well? Finally, the current datacenter power consumption for model training seems entirely unsustainable. +If I recall correctly, Elon Musk is powering some of his datacenters with a constant flow of diesel fuel into generators because he can't get enough power from the power grid. +The scale of everything at the moment seems to border absurdity. +I think we are in for a bumpy ride for the next few years as the impact of GenAI technology and infrastructure works itself out. + Please let me know if I'm wrong about anything or with better predictions! From 4aed6233d252fb1d97e849fde0d349bf77a7e427 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Mon, 25 Aug 2025 14:22:22 -0400 Subject: [PATCH 13/13] Update CV --- content/cv.md | 104 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 62 insertions(+), 42 deletions(-) diff --git a/content/cv.md b/content/cv.md index ea36e8c..1bed2bb 100644 --- a/content/cv.md +++ b/content/cv.md @@ -6,9 +6,70 @@ date: 2022-10-04T23:35:54-04:00 Alex Selimov ================== - **alex@alexselimov.com · [https://alexselimov.com](https://alexselimov.com)** +## Skills + +- Programming Languages: Python, C++, Rust, Java, Fortran, Bash +- Algorithm design, data structure design, runtime complexity analysis +- High Performance Computing: Message Passing Interface (MPI), OpenMP, C++17 parallelism, Rayon, Python multithreading +- Proficient in Linux environments on desktop, personal server, and computing cluster architectures. +- Knowledge of product development tools such as git, Docker, CI/CD pipelines, JIRA, and Agile workflow. +- Expertise with development and profiling tools: Valgrind, gdb, gprof, Intel VTune profiler, tau profiler. +- Technical writing abilities which resulted in 8 published journal articles and creation of software specifications/documentation. + + +## Experience + +**UKG**, Atlanta\ +*Software Engineer (May 2025 -- Present)* + +- Worked as backend engineer on notifications as a service using a microservice architecture built on top Java, SpringBoot, Kafka, RabbitMQ, MongoDB, Splunk, and Grafana technologies. +- Implemented improved observability for services to reduce service downtime. +- Acted as a Security Champion and addressed security vulnerabilities in existing code based on SAST and SCA scans performed using CXOne Checkmarx. +- Led implementation of testing services for web push notification services. +- Assisted in development of MCP server and LLM chatbot proof-of-concept to act as an internal assistant for providing support to other UKG teams. + +**SpaceWorks Enterprises**, Atlanta\ +*Senior Software Developer (January 2024 -- April 2025)* + +- Lead development and maintainer role for commercial off-the-shelf (COTS) software products as well as NASA and NAVAIR programs in Rust and Python. +- Led development of modular and extensible simulation libraries for modeling applications including multi-body six-degree-of-freedom simulations, state-space linear simulations for control system design, differential evolution optimization, among others. +- Improved mesh based calculations from **~1 hour to ~1 minute** per analysis through improved data structure and algorithm design. +- Implemented multi-threading for accelerating simulation analysis and for asynchronous execution. +- Developed equilibrium gas composition solver for different stages of a rocket engine cycle with **order-of-magnitude improved speed compared to legacy approach**. +- Product owner for COTS product including final approval of merge requests, interfacing with customers for sales and technical support, and helping to develop software roadmaps. +- Developed and maintained CI/CD pipelines for COTS products using Gitlab runners and docker containers. +- Mentored junior developers in idiomatic Rust and software architecture. + +**Third Wave Systems**, Minnesota\ +*Computational Mechanics Engineer (December 2022 -- January 2024)* + +- Worked in an Agile team on a variety of projects requiring fast context switching to implement cutting edge functionality in C++, Fortran, and Python. +- Worked on large legacy C++ FEA code bases to add new functionality as well as address subtle legacy bugs resulting from race conditions, invalid memory access, and incorrect usage of programming language built-ins. +- Refactored core solvers utilizing an Octree data structure for adaptive mesh refinement, utilizing OpenMP and C++17 built in multi-threading, resulting in **90% reduction in simulation time**. +- Implemented improved force models for drilling through addition of analytical equations for elastic indentation, **which reduced error by 10% relative to experiments**. +- Led team members in implementation of machine learning analysis in Python requiring accurate effort estimation and selection of functionality based on effort/risk to reward. +- Mentored junior developers in idiomatic Python and machine learning concepts. +- Automated manual simulation creation and analysis workflows using Python, leveraging active learning based adaptive sampling, to reduce manual effort by engineers and **reduce usage of compute resources by ~80%**. + +**McDowell Research Group**, Dr. David McDowell, Georgia Tech\ +*Graduate Research Assistant (August 2017 -- December 2022)* + +- Developed and extended Concurrent Atomistic-Continuum (CAC) simulation toolkit involving the development of a coupled finite element method and classical many-body molecular dynamics simulation tool in C++ and Fortran. +- Developed a series of Python pipelines for analyzing simulations and visualization of simulation results. +- Refactored significant portions of the code to **reduce simulation run times by 60%** through design of new algorithms and improved implementation of communication subroutines utilizing MPI. +- Profiled and tuned software performance for high performance computing clusters including implementing code structure changes enabling improved compiler optimizations and addressing MPI communication bottlenecks. +- Worked independently on self-guided research topics while also collaborating with external sources such as Sandia National Lab and University of Florida. +- **Authored three published journal articles and four conference presentations**. + +**Mechanics of Materials Organization**, Dr. Xiaowang Zhou., Sandia National Lab\ +*Intern - Engineering Sciences Summer institute (May 2021 -- August 2021)* + +- Restructured simulation toolkit codebase to abide by an object-oriented programming paradigm to ease addition of functionality. +- Worked on the development of finite temperature CAC simulations through design of novel finite elements. +- Developed methods for pressure controlled CAC simulations. + ## Education - **Georgia Institute of Technology** (North Avenue, Atlanta, GA 30332)\ @@ -31,44 +92,3 @@ Alex Selimov Funding Source: Extreme Science and Engineering Discovery Environment (XSEDE)\ Project Title: Concurrent atomistic-continuum simulations of extended scale defect interactions in heterogeneous microstructures (TG-MSS150010)\ Funding Period: Jan 1, 2019 - June 30, 2022 - -## Research Experience -**McDowell Research Group**, Dr. David McDowell, Georgia Tech\ -*Graduate Research Assistant (August 2017 -- Present)* - -- Worked on the development and extension of the Concurrent Atomistic-Continuum method for running massively parallel coarse-grained atomistic simulations of dislocation interactions with interfaces and other defect structures in nanolaminate and stainless steel materials. -- Improved parallel implementation and tuned calculation algorithms of in-house simulation suite obtaining runtime reductions of 66%. Also contributed to a fork of LAMMPS implementing the CAC simulation method. -- Implemented the finite element method to solve conservation law field equations to enable reductions in degrees-of-freedom leading to reduced computational cost. -- Tested various metrics to numerically characterize atomic interface structure of metallic semi-coherent interfaces and applied machine learning methods to track the interface structure evolution with loading. -- Modeled solute distributions in diffuse Cu/Ni semi-coherent interfaces and their effect on the glide of interface misfit dislocations and overall interface properties. -- Investigated the sequential interactions between dislocations and obstacles in various systems to quantify evolving obstacle strength and interaction mechanisms. - -**Mechanics of Materials Organization**, Dr. Xiaowang Zhou, Sandia National Lab\ -*Intern - Engineering Sciences Summer institute (May 2021 -- Aug 2021)* - -- Studied the barrier strength of grain boundaries with embedded helium bubbles to improve hardening predictions of irradiated stainless steel materials, collaboration continued beyond internship period. -- Extended molecular dynamics barostat algorithms to coarse-grained regions for pressure relaxation. -- Worked on CAC capabilities for high temperature dynamics simulations through development of new finite element types and extension of neighboring codes for cluster potentials. - -**AeroStructures Lab**, Dr. Seetha Raghavan, UCF\ -*Research Assistant (September 2013 -- December 2016)* - -- Utilized photoluminescence spectroscopy and piezospectroscopy for the characterization of material and mechanical properties in ceramic and composite materials. -- Worked on collaborative project with Imperial College London (Dr. Ambrose Taylor’s Research Group) for the testing and characterization of novel hybrid carbon fiber reinforced polymer (HCFRP) composites. -- Worked on collaborative project with German Aerospace Center (DLR) to study stress development in thermally grown oxide layers of thermal barrier coatings. - -**Pollock Research Group**, Dr. Tresa Pollock, UCSB \ -*RISE Undergraduate Intern, NSF funded REU (June -- August 2015)* - -- Studied Magnesium-zinc alloys to determine methods for texture weakening for improvement of material properties through analyzing presence of intermetallic particles. -- Utilized scanning electron microscopy to take secondary electron images, backscatter electron images, and to analyze crystallographic texture through electron backscatter diffraction -- Prepared image analysis tools to determine volume fraction of intermetallic particles from SEM images for comparison to grain size distribution of samples with Matlab. - -## Skills - -- Programming in Fortran, C, and C++ with additional expertise utilizing the Message Passing Interface (MPI) for implementation of parallel and scalable simulation tools. -- Programming in MATLAB, HTML, and CSS. -- Data analysis and pipeline creation using Python with Numpy, Scipy, Scikit-Learn, Pandas, and Tkinter modules. Additional familiarity with Jupyter Notebooks. -- Expertise in atomistic simulations using LAMMPS with Molecular Statics, Molecular Dynamics, and Monte-Carlo methods. -- Expertise with Linux software environment and building applications for use with computing cluster architectures. -- Familiarity with software development methodologies including test case design and CI/CD pipelines.