From 56860ca991fc3cd2ff958b9c253638dafd534822 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Mon, 5 Jan 2026 16:00:19 -0600 Subject: [PATCH 01/42] feat: github account rename --- src/content/git/auto-theme.nvim.mdx | 6 +++--- src/content/software/designing-this-website.mdx | 2 +- src/content/software/improving-my-developer-workflow.mdx | 4 ++-- src/pages/about.astro | 2 +- src/pages/git/[slug].astro | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/git/auto-theme.nvim.mdx b/src/content/git/auto-theme.nvim.mdx index 36ca475..421b056 100644 --- a/src/content/git/auto-theme.nvim.mdx +++ b/src/content/git/auto-theme.nvim.mdx @@ -36,7 +36,7 @@ I most commonly use the following applications: 9. [ripgrep](https://github.com/BurntSushi/ripgrep) 10. [zsh](https://www.zsh.org/) -All of the code can be found in my [dotfiles](https://github.com/barrett-ruth/dots). The implementations are scattered and I provide no guarantee that files will not be moved +All of the code can be found in my [dotfiles](https://github.com/barrettruth/dots). The implementations are scattered and I provide no guarantee that files will not be moved ## success criteria @@ -46,11 +46,11 @@ The feasability of this depends on the underlying support software has for dynam ## the solution -As of November 28, 2025, I've created [this script](https://github.com/barrett-ruth/dots/blob/main/scripts/theme) which is bound by a [karabiner](https://karabiner-elements.pqrs.org/) and [keyd](https://github.com/rvaiya/keyd) binding for macOS and linux, respectively, for quick access. +As of November 28, 2025, I've created [this script](https://github.com/barrettruth/dots/blob/main/scripts/theme) which is bound by a [karabiner](https://karabiner-elements.pqrs.org/) and [keyd](https://github.com/rvaiya/keyd) binding for macOS and linux, respectively, for quick access. ### successes -1. neovim: [auto-theme.nvim](https://github.com/barrett-ruth/auto-theme.nvim) +1. neovim: [auto-theme.nvim](https://github.com/barrettruth/auto-theme.nvim) 2. ghostty: Ghostty supports [light and dark themes based on the system appearance](https://github.com/tmux/tmux/wiki)--easy. 3. sioyek: Any changes to user configuration are automatically reloaded--my script updates the program's settings file `prefs_user.config` in-place 4. ungoogled-chromium: I folded and used the default system theme which automatically reads and updates according to the system environment diff --git a/src/content/software/designing-this-website.mdx b/src/content/software/designing-this-website.mdx index ec0c89a..8e2a6ed 100644 --- a/src/content/software/designing-this-website.mdx +++ b/src/content/software/designing-this-website.mdx @@ -78,6 +78,6 @@ Enter [astro](https://astro.build/). Everything is now in MDX. I had to say goodbye to my d3 latex labels (I could only do this with MathJax, which I recently found out was overkill for my needs) and a bit of custom styling. -On the upside, I have around the same LOC, a dead-simple blog post setup ([here](https://github.com/barrett-ruth/barrettruth.com/commit/8666e5a16983b177118f6e8a3246feb0d6907fff) was my biggest commit), and the entire Astro community at my back. +On the upside, I have around the same LOC, a dead-simple blog post setup ([here](https://github.com/barrettruth/barrettruth.com/commit/8666e5a16983b177118f6e8a3246feb0d6907fff) was my biggest commit), and the entire Astro community at my back. The choice of Astro was of no significance. It did the job and that's all that matters. I'm not quite a fan of the funky `---` syntax to separate HTML and JS, though. I find it counterintuitive to separate the UI and the frontend logic, which ought to be tightly coupled. I don't want to imagine working on larger files in Astro. diff --git a/src/content/software/improving-my-developer-workflow.mdx b/src/content/software/improving-my-developer-workflow.mdx index f4896da..b33c812 100644 --- a/src/content/software/improving-my-developer-workflow.mdx +++ b/src/content/software/improving-my-developer-workflow.mdx @@ -40,7 +40,7 @@ Since May 2025, I've been using the same tmux+neovim-centric setup. Sessions hou because I would consistently pull incorrect Chrome instances with multiple of them open at a time, forcing me to manually reorder them. Evidence of this constant iteration can be found in the revitalized history of my - [dotfiles](https://github.com/barrett-ruth/dots). + [dotfiles](https://github.com/barrettruth/dots). - Use tools that "just work": one of my friend's fathers told me that I was not special during a lacrosse practice in elementary school. I used many programs to feel special, from quirky Linux window managers to niche Neovim @@ -83,7 +83,7 @@ Here are only a few of the config changes I made in the past month: - Use taskwarrior for tasks and todo management. - Use Google Chrome search engines as URL shortcuts, the [fuzzy url finder](https://chromewebstore.google.com/detail/ff-fuzzy-finder-for-chrom/dbgeolnmmjmhcfndmmahnpicpmnpibep?hl=en) chrome extension to find URLs, and [a tab numberer](https://chromewebstore.google.com/detail/chrome-show-tab-numbers/pflnpcinjbcfefgbejjfanemlgcfjbna?hl=en) to find tabs. - Make dotfiles OS-agnostic through a variety of OS-specific conditionals in configs and refactoring the directory structure to mirror that of the Unix-like file structure (my dots repo now has `.config`, `/etc` folders). -- Use [lf](https://github.com/gokcehan/lf) for quickly opening files. Waste a day of your life writing an awesome previewer that supports native (treesitter/vim syntax!) neovim highlighting and video/pdf/gif support. This thing is seriously cool--[check it out](https://github.com/barrett-ruth/dots/blob/main/.config/lf/lf.lua). +- Use [lf](https://github.com/gokcehan/lf) for quickly opening files. Waste a day of your life writing an awesome previewer that supports native (treesitter/vim syntax!) neovim highlighting and video/pdf/gif support. This thing is seriously cool--[check it out](https://github.com/barrettruth/dots/blob/main/.config/lf/lf.lua). - Auto-theme switching (see [here](/git/auto-theme.nvim.html)). - Swap to a stable AppImage build of my PDF reader, [sioyek](https://sioyek.info/), to avoid versioning dependencies. diff --git a/src/pages/about.astro b/src/pages/about.astro index 9e5cc30..8285b27 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -33,7 +33,7 @@ import BaseLayout from "../layouts/BaseLayout.astro";

You can see my related contributions on - GitHub. + GitHub.

diff --git a/src/pages/git/[slug].astro b/src/pages/git/[slug].astro index 5874028..42f9b28 100644 --- a/src/pages/git/[slug].astro +++ b/src/pages/git/[slug].astro @@ -13,7 +13,7 @@ export async function getStaticPaths() { const { repo } = Astro.props; const { Content } = await repo.render(); const cloneCommand = `git clone https://git.barrettruth.com/${repo.slug}.git`; -const githubUrl = `https://github.com/barrett-ruth/${repo.slug}`; +const githubUrl = `https://github.com/barrettruth/${repo.slug}`; --- From b05cd67befc1e8cc213e75363b081246f296fa4b Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Mon, 5 Jan 2026 16:02:15 -0600 Subject: [PATCH 02/42] feat: resume too --- public/resume.pdf | Bin 114454 -> 114444 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/public/resume.pdf b/public/resume.pdf index dff2846ff3c951ec15cfb238450f3a977285a7e4..7ff99446c027e069f53b4e902be29e885b8a3e11 100644 GIT binary patch delta 6289 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 Sb|0exr-dPxs;aBM8y5hM4(~Jo delta 6354 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 From 1d2f556b32470321fc98d03a94f636a3cb2d5df9 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Wed, 7 Jan 2026 13:40:35 -0600 Subject: [PATCH 03/42] remove gists as viewable --- src/components/Footer.astro | 1 - src/pages/gist.astro | 33 --------------------------------- 2 files changed, 34 deletions(-) delete mode 100644 src/pages/gist.astro diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 910e02b..e704361 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -7,7 +7,6 @@ about - ☼⊂ʕ•ᴥ•ʔ - diff --git a/src/pages/index.astro b/src/pages/index.astro index 6b2d1cf..f1ed7f4 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,71 +1,68 @@ --- import BaseLayout from "../layouts/BaseLayout.astro"; -import { sortItem } from "../utils/sort.js"; -import { getCollection } from "astro:content"; -import type { PostCollection } from "../types"; - -const title = "Barrett Ruth"; -const CATS: PostCollection[] = [ - "algorithms", - "software", - "meditations", - "autonomous-racing", -]; - -type PostData = { - id: string; - slug: string; - data: { - title: string; - date: string | null; - }; -}; - -const postsByCategory: Record = {}; -for (const c of CATS) { - const entries = await getCollection(c); - entries.sort(sortItem); - postsByCategory[c] = entries.map((e) => ({ - id: `${c}/${e.slug}.mdx`, - slug: e.slug, - data: { - title: e.data.title ?? e.slug, - date: e.data.date ?? null, - }, - })); -} +const title = "barrett ruth"; --- - - - - - -
- -
+ +
+ Philip Matthew Ruth +
+ rip philip matthew ruth
+ february 8, 1967 – c. december 2, 2025 +
+
+ gary wray
+ waiting in line, 2021 +
- - - +
From 7f1c155a7bfae5d9d9c34963dc3177586a451c8c Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Sat, 10 Jan 2026 13:00:52 -0500 Subject: [PATCH 06/42] update LI --- src/components/Footer.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Footer.astro b/src/components/Footer.astro index e704361..a0a1b71 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -9,7 +9,7 @@