diff --git a/docs/about.md b/docs/about.md
index fb4ac97..379c5f7 100644
--- a/docs/about.md
+++ b/docs/about.md
@@ -8,7 +8,7 @@ hide:
- [:simple-mastodon:{ .mastodon } @tylernguyen@tylernguyen.social](https://tylernguyen.social/@tylernguyen)
-- [:simple-github:{ .github } @tylernguyen](https://github.com/tylernguyen)
+- [:simple-github:{ .foreground } @tylernguyen](https://github.com/tylernguyen)
- [:simple-gitea:{ .gitea } tylernguyen.codes](https://tylernguyen.codes)
@@ -71,8 +71,8 @@ I.e. copy, remix, and redistribute in a non-commercial manner.
-
- ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-light.svg#only-light){ width=250 }
- ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-dark.svg#only-dark){ width=250 }
+ ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-light.svg#only-light){ loading-lazy width=250 }
+ ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-dark.svg#only-dark){ loading-lazy width=250 }
diff --git a/docs/anime.md b/docs/anime.md
index 1b08bf1..973ef0c 100644
--- a/docs/anime.md
+++ b/docs/anime.md
@@ -16,27 +16,32 @@
-- ![Cowboy Bebop](https://image.tmdb.org/t/p/original/A4PHx94G7mvM3b8vsDJ5HEaQ6uv.jpg)
+- ![Cowboy Bebop](https://image.tmdb.org/t/p/original/A4PHx94G7mvM3b8vsDJ5HEaQ6uv.jpg){ loading=lazy }
+
__Cowboy Bebop__
[:simple-anilist:{ .anilist }](https://anilist.co/anime/1/Cowboy-Bebop/){ .card-link title="AniList"}
[![aniDB](https://assets.tylernguyen.wiki/logos/aniDB.png){ .twemoji .card-link title="aniDB" }](https://anidb.net/anime/23)
-- ![Frieren: Beyond Journey's End](https://image.tmdb.org/t/p/original/96RT2A47UdzWlUfvIERFyBsLhL2.jpg)
+- ![Frieren: Beyond Journey's End](https://image.tmdb.org/t/p/original/96RT2A47UdzWlUfvIERFyBsLhL2.jpg){ loading=lazy }
+
__Frieren: Beyond Journey's End__
[:simple-anilist:{ .anilist }](https://anilist.co/anime/154587/Sousou-no-Frieren){ .card-link title="AniList"}
[![aniDB](https://assets.tylernguyen.wiki/logos/aniDB.png){ .twemoji .card-link title="aniDB" }](https://anidb.net/anime/17617)
-- ![Ranking of Kings](https://image.tmdb.org/t/p/original/vKWw2EiJfnw2jOcXPbMJ2n1nl4S.jpg)
+- ![Ranking of Kings](https://image.tmdb.org/t/p/original/vKWw2EiJfnw2jOcXPbMJ2n1nl4S.jpg){ loading=lazy }
+
__Ranking of Kings__
[:simple-anilist:{ .anilist }](https://anilist.co/anime/113717/Ranking-of-Kings/){ .card-link title="AniList"}
[![aniDB](https://assets.tylernguyen.wiki/logos/aniDB.png){ .twemoji .card-link title="aniDB" }](https://anidb.net/anime/15298)
-- ![Nichijou](https://image.tmdb.org/t/p/original/7gzFoYs1N97cD53E7jPAer9UNlg.jpg)
+- ![Nichijou](https://image.tmdb.org/t/p/original/7gzFoYs1N97cD53E7jPAer9UNlg.jpg){ loading=lazy }
+
__Nichijou__
[:simple-anilist:{ .anilist }](https://www.rottentomatoes.com/m/matrix){ .card-link title="AniList"}
[![aniDB](https://assets.tylernguyen.wiki/logos/aniDB.png){ .twemoji .card-link title="aniDB" }](https://anidb.net/anime/8168)
-- ![Mushi-shi](https://image.tmdb.org/t/p/original/8ysRHGV3URjOJT7u7NkZiFjvObk.jpg)
+- ![Mushi-shi](https://image.tmdb.org/t/p/original/8ysRHGV3URjOJT7u7NkZiFjvObk.jpg){ loading=lazy }
+
__Mushi-Shi__
[:simple-anilist:{ .anilist }](https://anilist.co/anime/457/MUSHISHI/){ .card-link title="AniList"}
[![aniDB](https://assets.tylernguyen.wiki/logos/aniDB.png){ .twemoji .card-link title="aniDB" }](https://anidb.net/anime/3433)
diff --git a/docs/books.md b/docs/books.md
index 21332a3..3988ff5 100644
--- a/docs/books.md
+++ b/docs/books.md
@@ -16,12 +16,16 @@ I prefer to listen to the audiobook version when available. I've read/listened t
==}
-![The Committed](https://assets.tylernguyen.wiki/covers/The-Committed_2021.jpg){ width=125 }
-![The Sympathizer](https://assets.tylernguyen.wiki/covers/The-Sympathizer_2015.jpg){ width=125}
+
-__Nguyễn, Việt Thanh__ - _The Sympathizer_ [:simple-goodreads:{ .goodreads }](https://www.goodreads.com/book/show/23168277-the-sympathizer "Goodreads")
+- ![The Sympathizer](https://assets.tylernguyen.wiki/covers/The-Sympathizer_2015.jpg){ width=140}
+ ![The Committed](https://assets.tylernguyen.wiki/covers/The-Committed_2021.jpg){ width=140 }
-__Nguyễn, Việt Thanh__ - _The Committed (Sequel to The Sympathizer)_ [:simple-goodreads:{ .goodreads }](https://www.goodreads.com/book/show/52260627-the-committed "Goodreads")
+ __Nguyễn, Việt Thanh__ - _The Sympathizer_ [:simple-goodreads:{ .goodreads }](https://www.goodreads.com/book/show/23168277-the-sympathizer "Goodreads")
+
+ __Nguyễn, Việt Thanh__ - _The Committed (Sequel to The Sympathizer)_ [:simple-goodreads:{ .goodreads }](https://www.goodreads.com/book/show/52260627-the-committed "Goodreads")
+
+
---
diff --git a/docs/comics.md b/docs/comics.md
index ddd2e82..dd691fd 100644
--- a/docs/comics.md
+++ b/docs/comics.md
@@ -16,12 +16,17 @@ tags:
==}
-![Department of Truth](https://assets.tylernguyen.wiki/covers/Department-of-Truth_2021.jpg){ width=125 }
-![Spy Superb](https://assets.tylernguyen.wiki/covers/Spy-Superb_2023.jpg){ width=125 }
+
-**The Department of Truth (2020)** [![Image Comics](https://assets.tylernguyen.wiki/logos/Image_Comics.svg){ .twemoji }](https://imagecomics.com/comics/series/the-department-of-truth "Image Comics")
+- ![Department of Truth](https://assets.tylernguyen.wiki/covers/Department-of-Truth_2021.jpg){ width=125 }
-**Spy Superb (2023)** [![Dark Horse Comics](https://assets.tylernguyen.wiki/logos/Dark_Horse_Comics.svg){ .twemoji }](https://www.darkhorse.com/Books/3010-220/Spy-Superb-HC "Dark Horse Comics")
+ __The Department of Truth (2020)__ [![Image Comics](https://assets.tylernguyen.wiki/logos/Image_Comics.svg){ .twemoji }](https://imagecomics.com/comics/series/the-department-of-truth "Image Comics")
+
+- ![Spy Superb](https://assets.tylernguyen.wiki/covers/Spy-Superb_2023.jpg){ width=125 }
+
+ __Spy Superb (2023)__ [![Dark Horse Comics](https://assets.tylernguyen.wiki/logos/Dark_Horse_Comics.svg){ .twemoji }](https://www.darkhorse.com/Books/3010-220/Spy-Superb-HC "Dark Horse Comics")
+
+
---
diff --git a/docs/credits.md b/docs/credits.md
index 8b8d34a..8cee5cf 100644
--- a/docs/credits.md
+++ b/docs/credits.md
@@ -9,7 +9,7 @@ hide:
-- :simple-github:{ .github } GitHub
+- :simple-github:{ .foreground } GitHub
[:octicons-repo-16:](https://github.com/tylernguyen/wiki){ .card-link title="Repository" }
[:octicons-workflow-16:](){ .card-link title="Workflow" }
@@ -35,7 +35,7 @@ hide:
[:fontawesome-regular-file-code:](https://github.com/squidfunk/mkdocs-material){ .card-link title="Source Code" }
[:octicons-law-16:](https://github.com/squidfunk/mkdocs-material/blob/master/LICENSE){ .card-link title=License }
-- [PyMdown Extensions](https://facelessuser.github.io/pymdown-extensions/) by [:simple-github:{ .github } @facelessuser](https://github.com/facelessuser)
+- [PyMdown Extensions](https://facelessuser.github.io/pymdown-extensions/) by [:simple-github:{ .foreground } @facelessuser](https://github.com/facelessuser)
[:octicons-markdown-16:](https://facelessuser.github.io/pymdown-extensions/){ .card-link title=Documentation}
[:fontawesome-regular-file-code:](https://github.com/facelessuser/pymdown-extensions/tree/main){ .card-link title="Source Code" }
[:octicons-law-16:](https://github.com/facelessuser/pymdown-extensions/blob/main/LICENSE.md){ .card-link title=License }
@@ -56,12 +56,12 @@ hide:
-- :simple-simpleicons:{ .simpleicons } [Simple Icons](https://simpleicons.org/)
+- :simple-simpleicons:{ .foreground } [Simple Icons](https://simpleicons.org/)
[:fontawesome-regular-file-code:](https://github.com/simple-icons/simple-icons){ .card-link title="Source Code" }
[:octicons-law-16:](https://github.com/simple-icons/simple-icons/blob/develop/LICENSE.md){ .card-link title=License }
[:fontawesome-regular-heart:](https://opencollective.com/simple-icons){ .card-link title=Support }
-- :simple-github:{ .github } [Octicons](https://primer.style/foundations/icons) by GitHub
+- :simple-github:{ .foreground } [Octicons](https://primer.style/foundations/icons) by GitHub
[:fontawesome-regular-file-code:](https://github.com/primer/octicons){ .card-link title="Source Code" }
[:octicons-law-16:](https://github.com/primer/octicons/blob/main/LICENSE){ .card-link title=License }
[:fontawesome-regular-eye:](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement){ .card-link title="Privacy Policy" }
@@ -90,8 +90,8 @@ hide:
-
- ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-light.svg#only-light){ width=250 }
- ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-dark.svg#only-dark){ width=250 }
+ ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-light.svg#only-light){ loading-lazy width=250 }
+ ![PostHog](https://assets.tylernguyen.wiki/logos/PostHog-dark.svg#only-dark){ loading-lazy width=250 }
diff --git a/docs/dotfiles.md b/docs/dotfiles.md
index 305e03b..a4a753f 100644
--- a/docs/dotfiles.md
+++ b/docs/dotfiles.md
@@ -4,54 +4,82 @@
# dotfiles
-
+
-[:octicons-repo-16:{ .github } github.com/tylernguyen/dotfiles](https://github.com/tylernguyen/dotfiles){ .md-button }
+- :simple-git:{ .git } [tylernguyen/dotfiles](https://github.com/tylernguyen/dotfiles)
+ ![GitHub Stars](https://img.shields.io/github/stars/tylernguyen/dotfiles?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/tylernguyen/dotfiles?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Stars](https://img.shields.io/github/stars/tylernguyen/dotfiles?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/tylernguyen/dotfiles?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
-/// abstract
-dotfiles is designed with maximum cross-platform compatibility, minimal components, and universal behaviors in mind.
-///
-
-/// extension | Components
-- ![zsh](https://assets.tylernguyen.wiki/logos/zsh.svg){ .twemoji } [zsh](https://zsh.sourceforge.io/)
-[:octicons-markdown-16:](https://zsh.sourceforge.io/Doc/){ .card-link title=Documentation}
-
- ![chezmoi](https://assets.tylernguyen.wiki/logos/chezmoi.svg){ .twemoji } [chezmoi](https://github.com/twpayne/chezmoi/)
[:octicons-markdown-16:](https://www.chezmoi.io/){ .card-link title=Documentation}
[:fontawesome-regular-file-code:](https://github.com/twpayne/chezmoi){ .card-link title="Source Code" }
[:octicons-law-16:](https://github.com/twpayne/chezmoi/blob/master/LICENSE){ .card-link title=License }
-- :simple-wezterm:{ .wezterm } [wezterm](https://wezfurlong.org/wezterm/index.html)
-[:octicons-markdown-16:](https://wezfurlong.org/wezterm/){ .card-link title=Documentation}
-[:fontawesome-regular-file-code:](https://github.com/wez/wezterm){ .card-link title="Source Code" }
-[:octicons-law-16:](https://github.com/wez/wezterm/blob/main/LICENSE.md){ .card-link title=License }
+ ``` bash
+
+ chezmoi init --ssh tylernguyen #(1)
+
+ ```
+
+ 1. Initialize `chezmoi` source direcotry with the dotfiles repository of :simple-github:{ .foreground } GitHub user `tylernguyen`. Use SSH origin instead of the default HTTPS.
+
+
+
+
- :simple-1password:{ .onepassword } [1Password](https://1password.com/)
[:fontawesome-solid-money-bill:](https://1password.com/sign-up/){ .card-link title=Pricing }
[:fontawesome-regular-eye:](https://support.onepassword.com/1password-privacy/){ .card-link title="Privacy Policy" }
[:octicons-markdown-16:](https://developer.onepassword.com/){ .card-link title="Developer Documentation" }
+- :simple-wezterm:{ .wezterm } [wezterm](https://wezfurlong.org/wezterm/index.html)
+[:octicons-markdown-16:](https://wezfurlong.org/wezterm/){ .card-link title=Documentation}
+[:fontawesome-regular-file-code:](https://github.com/wez/wezterm){ .card-link title="Source Code" }
+[:octicons-law-16:](https://github.com/wez/wezterm/blob/main/LICENSE.md){ .card-link title=License }
+
+
+
+
+- :simple-zsh:{ .foreground } [zsh](https://zsh.sourceforge.io/)
+[:octicons-markdown-16:](https://zsh.sourceforge.io/Doc/){ .card-link title=Documentation}
+
+ :simple-git:{ .git } [zimfw/zimfw]()
+ ![GitHub Stars](https://img.shields.io/github/stars/zimfw/zimfw?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/zimfw/zimfw?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Stars](https://img.shields.io/github/stars/zimfw/zimfw?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/zimfw/zimfw?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+
+ :simple-git:{ .git } [romkatv/powerlevel10k]()
+ ![GitHub Stars](https://img.shields.io/github/stars/romkatv/powerlevel10k?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/romkatv/powerlevel10k?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Stars](https://img.shields.io/github/stars/romkatv/powerlevel10k?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/romkatv/powerlevel10k?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+
+ :simple-git:{ .git } [atuinsh/atuin]()
+ ![GitHub Stars](https://img.shields.io/github/stars/atuinsh/atuin?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/atuinsh/atuin?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Stars](https://img.shields.io/github/stars/atuinsh/atuin?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/atuinsh/atuin?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+
+ :simple-git:{ .git } [Aloxaf/fzf-tab](https://github.com/Aloxaf/fzf-tab)
+ ![GitHub Stars](https://img.shields.io/github/stars/Aloxaf/fzf-tab?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/Aloxaf/fzf-tab?style=flat&logo=GitHub&logoColor=073642&labelColor=eee8d5&color=859900#only-light){ .twemoji }
+ ![GitHub Stars](https://img.shields.io/github/stars/Aloxaf/fzf-tab?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+ ![GitHub Forks](https://img.shields.io/github/forks/Aloxaf/fzf-tab?style=flat&logo=GitHub&logoColor=839496&labelColor=073642&color=2aa198#only-dark){ .twemoji }
+
+
+
+/// abstract
+dotfiles is designed with maximum cross-platform compatibility, minimal components, and universal behaviors in mind.
///
-## Wezterm :simple-wezterm:{ .wezterm }
-
-- Cross-platform, written in Rust
-- [GPU-accelerated](https://wezfurlong.org/wezterm/config/lua/config/front_end.html)
-- Ligature support
-- [Nerd Fonts fallback](https://wezfurlong.org/wezterm/config/lua/wezterm/nerdfonts.html)
-
-## Z Shell ![zsh](https://assets.tylernguyen.wiki/logos/zsh.svg){ .twemoji }
-
-- :octicons-repo-16:{ .github } [zimfw/zimfw](
) - Plugin Manager
-- :octicons-repo-16:{ .github } [romkatv/powerlevel10k]() - Prompt Theme
-- :octicons-repo-16:{ .github } [atunish/atuin]() - Shell History TUI
-- :octicons-repo-16:{ .github } [Aloxaf/fzf-tab](https://github.com/Aloxaf/fzf-tab) - fzf Completion Menu
-
## Git :simple-git:{ .git }
`.gitconfig` uses `code` (Visual Studio Code) as the editor, diff and merge tool.
@@ -64,8 +92,17 @@ I prefer to rebase by default, unless there is very specific reason to merge.
## Package Managers
-On Windows :simple-windows:{ .windows } , I use `winget` by default, supplementing it with third-party installers and the Microsoft Store if needed. Portable executables are placed in `%userprofile%/bin`.
+
-On macOS :simple-apple:{ .apple } , [:simple-homebrew:{ .homebrew } homebrew](https://brew.sh/) is preferred and likewise supplemented by the App Store.
+- :simple-gnubash:{ .gnubash } [winget](https://github.com/microsoft/winget-cli)
+- :simple-flatpak:{ .flatpak } [Flatpak]( )
+- [:simple-homebrew:{ .homebrew } homebrew](https://brew.sh/)
+- :simple-appstore:{ .appstore } [App Store]()
-Depending on the Linux :simple-linux:{ .linux } distribution, I tend to use the default package managers such `apt` or `pacman`. If there are no feature difference, however, I will defer to installation via [:simple-flatpak:{ .flatpak } flatpak](https://flatpak.org/).
+
+
+/// note
+
+On Windows, portable executables are placed in `%userprofile%/bin`. Include this in `PATH`.
+
+///
diff --git a/docs/hardware.md b/docs/hardware.md
index 6842320..e0ffb0d 100644
--- a/docs/hardware.md
+++ b/docs/hardware.md
@@ -12,138 +12,146 @@ tags:
-
- ![BenQ Zowie XL2566K](https://assets.tylernguyen.wiki/hardware/BenQ-Zowie_XL2566K.png){ width=200}
+ ![BenQ Zowie XL2566K](https://assets.tylernguyen.wiki/hardware/BenQ-Zowie_XL2566K.png){ loading=lazy width=200}
BenQ Zowie XL2566K
-
- ![Fractal Torrent](https://assets.tylernguyen.wiki/hardware/Fractal_Torrent.png){ width=140 }
+ ![Fractal Torrent](https://assets.tylernguyen.wiki/hardware/Fractal_Torrent.png){ loading=lazy width=140 }
Fractal Torrent
-
- ![GIGABYTE X570S AORUS Master](https://assets.tylernguyen.wiki/hardware/GIGABYTE-X570S-AORUS-Master.png){ width=125 }
+ ![GIGABYTE X570S AORUS Master](https://assets.tylernguyen.wiki/hardware/GIGABYTE-X570S-AORUS-Master.png){ loading=lazy width=125 }
GIGABYTE X570S AORUS Master
-
- ![AMD Ryzen 7 5800X3D](https://assets.tylernguyen.wiki/hardware/AMD_Ryzen-5800X3D.png){ width=175 }
+ ![AMD Ryzen 7 5800X3D](https://assets.tylernguyen.wiki/hardware/AMD_Ryzen-5800X3D.png){ loading=lazy width=175 }
AMD Ryzen 7 5800X3D
-
- ![EVGA RTX 3080 Ti FTW3 Ultra](https://assets.tylernguyen.wiki/hardware/Nvidia_RTX3080-Ti-FTW3-Ultra.png){ width=200 }
+ ![EVGA RTX 3080 Ti FTW3 Ultra](https://assets.tylernguyen.wiki/hardware/Nvidia_RTX3080-Ti-FTW3-Ultra.png){ loading=lazy width=200 }
EVGA RTX 3080 Ti FTW3 Ultra
-
- ![Noctua NH-D15 chromax.Black](https://assets.tylernguyen.wiki/hardware/Noctua_NH-D15-chromax.Black.png){ width=140 }
+ ![Noctua NH-D15 chromax.Black](https://assets.tylernguyen.wiki/hardware/Noctua_NH-D15-chromax.Black.png){ loading=lazy width=140 }
Noctua NH-D15 chromax.Black
-
- ![be quiet! Dark Power 12 1000W](https://assets.tylernguyen.wiki/hardware/be-quiet!_Dark-Power-12.png){ width=150 }
+ ![be quiet! Dark Power 12 1000W](https://assets.tylernguyen.wiki/hardware/be-quiet!_Dark-Power-12.png){ loading=lazy width=175 }
be quiet! Dark Power 12 1000W
+
+
-
- ![Sabrent Rocket 4.0 Plus](https://assets.tylernguyen.wiki/hardware/Sabrent_Rocket-4.0-Plus.png){ width=125 }
+ ![Sabrent Rocket 4.0 Plus](https://assets.tylernguyen.wiki/hardware/Sabrent_Rocket-4.0-Plus.png){ loading=lazy width=125 }
Sabrent Rocket 4.0 Plus 1TB
-
- ![Crucial P3](https://assets.tylernguyen.wiki/hardware/Crucial_P3.png){ width=200 }
+ ![Crucial P3](https://assets.tylernguyen.wiki/hardware/Crucial_P3.png){ loading=lazy width=175 }
Crucial P3 3.0 4TB
+
+
## Server
-
- ![Fractal Meshify 2 XL](https://assets.tylernguyen.wiki/hardware/Fractal_Meshify2-XL.png){ width=150 }
+ ![Fractal Meshify 2 XL](https://assets.tylernguyen.wiki/hardware/Fractal_Meshify2-XL.png){ loading=lazy width=150 }
Fractal Meshify 2 XL
-
- ![ASRock X570 Phantom Gaming X](https://assets.tylernguyen.wiki/hardware/ASRock_X570-Phantom-Gaming-X.png){ width=175 }
+ ![ASRock X570 Phantom Gaming X](https://assets.tylernguyen.wiki/hardware/ASRock_X570-Phantom-Gaming-X.png){ loading=lazy width=175 }
ASRock X570 Phantom Gaming X
-
- ![AMD Ryzen 9 3950X](https://assets.tylernguyen.wiki/hardware/AMD_Ryzen-3950X.png){ width=200 }
+ ![AMD Ryzen 9 3950X](https://assets.tylernguyen.wiki/hardware/AMD_Ryzen-3950X.png){ loading=lazy width=175 }
AMD Ryzen 9 3950X
-
- ![Noctua NH-D15 chromax.Black](https://assets.tylernguyen.wiki/hardware/Noctua_NH-D15-chromax.Black.png){ width=150 }
+ ![Noctua NH-D15 chromax.Black](https://assets.tylernguyen.wiki/hardware/Noctua_NH-D15-chromax.Black.png){ loading=lazy width=150 }
Noctua NH-D15 chromax.Black
-
- ![PNY RTX 4000](https://assets.tylernguyen.wiki/hardware/PNY_Quadro-RTX4000.png){ width=225 }
+ ![PNY RTX 4000](https://assets.tylernguyen.wiki/hardware/PNY_Quadro-RTX4000.png){ loading=lazy width=225 }
PNY RTX 4000
-
- ![WD Elements](https://assets.tylernguyen.wiki/hardware/WD_Elements.png){ width=75 }
+ ![WD Elements](https://assets.tylernguyen.wiki/hardware/WD_Elements.png){ loading=lazy width=75 }
150TB of shucked WD Drives
-
- ![be quiet! Dark Power 12 1000W](https://assets.tylernguyen.wiki/hardware/be-quiet!_Dark-Power-12.png){ width=150 }
+ ![be quiet! Dark Power 12 1000W](https://assets.tylernguyen.wiki/hardware/be-quiet!_Dark-Power-12.png){ loading=lazy width=175 }
be quiet! Dark Power 12 1000W
+
+
-
- ![MTA18ASF4G72AZ-3G2R](https://assets.tylernguyen.wiki/hardware/Micron-DDR4-ECC-UDIMM.png){ width=200 }
+ ![MTA18ASF4G72AZ-3G2R](https://assets.tylernguyen.wiki/hardware/Micron-DDR4-ECC-UDIMM.png){ loading=lazy width=150 }
Micron 32GB DDR4-3200 ECC UDIMM 2Rx8 CL22 MTA18ASF4G72AZ-3G2R
-
- ![WD SN750](https://assets.tylernguyen.wiki/hardware/WD_Black-SN750.png){ width=150 }
+ ![WD SN750](https://assets.tylernguyen.wiki/hardware/WD_Black-SN750.png){ loading=lazy width=150 }
2x 1TB WD SN750
+
+
/// tip
[Disk Prices (US)](https://diskprices.com/) is convenient price checking/tracking tool for WD external drives.
///
@@ -154,14 +162,14 @@ tags:
-
- ![Apple 14-inch Macbook Pro M3 Max](https://assets.tylernguyen.wiki/hardware/Apple_MacbookPro-M3.png){ width=250 }
+ ![Apple 14-inch Macbook Pro M3 Max](https://assets.tylernguyen.wiki/hardware/Apple_MacbookPro-M3.png){ loading=lazy width=250 }
Apple 14" Macbook Pro M3 Max
-
- ![Thinkpad X1C6](https://assets.tylernguyen.wiki/hardware/Lenovo_ThinkPad-X1C6.png){ width=200 }
+ ![Thinkpad X1C6](https://assets.tylernguyen.wiki/hardware/Lenovo_ThinkPad-X1C6.png){ loading=lazy width=200 }
Lenovo Thinkpad X1C6 (macOS)
@@ -172,21 +180,21 @@ tags:
-
- ![iPhone 14 Pro](https://assets.tylernguyen.wiki/hardware/Apple_iPhone-14Pro.png){ width=123 }
+ ![iPhone 14 Pro](https://assets.tylernguyen.wiki/hardware/Apple_iPhone-14Pro.png){ loading=lazy width=123 }
iPhone 14 Pro
-
- ![iPad Mini 6th Gen](https://assets.tylernguyen.wiki/hardware/Apple_iPad-mini6.png){ width=120 }
+ ![iPad Mini 6th Gen](https://assets.tylernguyen.wiki/hardware/Apple_iPad-mini6.png){ loading=lazy width=120 }
iPad Mini 6th Gen
-
- ![Kobo Clara BW](https://assets.tylernguyen.wiki/hardware/Kobo_ClaraBW.png){ width=105 }
+ ![Kobo Clara BW](https://assets.tylernguyen.wiki/hardware/Kobo_ClaraBW.png){ loading=lazy width=105 }
Kobo Clara BW
@@ -199,22 +207,22 @@ tags:
-
- ![Steam Deck OLED Limited Edition](https://assets.tylernguyen.wiki/hardware/Steam-Deck-OLED-LE-top.png){ width=360 }
+ ![Steam Deck OLED Limited Edition](https://assets.tylernguyen.wiki/hardware/Steam-Deck-OLED-LE-top.png){ loading=lazy width=375 }
Steam Deck OLED LE
-
- ![Nintendo Switch OLED](https://assets.tylernguyen.wiki/hardware/Nintendo_Switch-OLED.png){ width=250 }
+ ![Nintendo Switch OLED](https://assets.tylernguyen.wiki/hardware/Nintendo_Switch-OLED.png){ loading=lazy width=250 }
Nintendo Switch OLED
-
- ![Miyoo Mini Plus](https://assets.tylernguyen.wiki/hardware/Miyoo_MiniPlus.png){ width=80 }
- Miyoo Mini Plus[^1]
+ ![AMBERNIC RG35XXSP](https://assets.tylernguyen.wiki/hardware/AMBERNIC_RG35XXSP.png){ loading=lazy width=90 }
+ AMBERNIC RG35XXSP[^1]
@@ -226,19 +234,19 @@ tags:
-
- ![Yubikey 5C NFC](https://assets.tylernguyen.wiki/hardware/Yubikey_5C-NFC.png){ width=100 }
+ ![Yubikey 5C NFC](https://assets.tylernguyen.wiki/hardware/Yubikey_5C-NFC.png){ loading=lazy width=100 }
Yubikey 5C NFC [^2]
-
- ![Apple AirTag](https://assets.tylernguyen.wiki/hardware/Apple_AirTag.png){ width=125 }
+ ![Apple AirTag](https://assets.tylernguyen.wiki/hardware/Apple_AirTag.png){ loading=lazy width=125 }
Apple AirTag
-[^1]: [OnionUI/OnionOS](https://github.com/OnionUI/Onion) - Replacement OS for Miyoo Mini and Mini+
+[^1]: [MuOS](https://muos.dev/) - Replacement OS for various AMBERNIC handheld devices
[^2]: [drduh/YubiKey-Guide](https://github.com/drduh/YubiKey-Guide): Guide to using YubiKey for GnuPG and SSH
diff --git a/docs/manga.md b/docs/manga.md
index a3be1af..72d25c0 100644
--- a/docs/manga.md
+++ b/docs/manga.md
@@ -16,9 +16,14 @@ tags:
==}
-![Vagabond](https://assets.tylernguyen.wiki/covers/Vagabond.jpg){ width=125 }
-![Goodnight Punpun](https://assets.tylernguyen.wiki/covers/Goodnight-Punpun.png){ width=125 }
+
-**Vagabond** [:simple-anilist:{ .anilist }](https://anilist.co/manga/30656/Vagabond "AniList") [![Viz](https://assets.tylernguyen.wiki/logos/Viz.png){ .twemoji }]( "VIZ")
+- ![Vagabond](https://assets.tylernguyen.wiki/covers/Vagabond.jpg){ width=125 }
-**Goodnight Punpun** [:simple-anilist:{ .anilist }](https://anilist.co/manga/34632/Oyasumi-Punpun "AniList") [![Viz](https://assets.tylernguyen.wiki/logos/Viz.png){ .twemoji }](https://www.viz.com/goodnight-punpun "VIZ")
+ __Vagabond__ [:simple-anilist:{ .anilist }](https://anilist.co/manga/30656/Vagabond "AniList") [![Viz](https://assets.tylernguyen.wiki/logos/Viz.png){ .twemoji }]( "VIZ")
+
+- ![Goodnight Punpun](https://assets.tylernguyen.wiki/covers/Goodnight-Punpun.png){ width=125 }
+
+ __Goodnight Punpun__ [:simple-anilist:{ .anilist }](https://anilist.co/manga/34632/Oyasumi-Punpun "AniList") [![Viz](https://assets.tylernguyen.wiki/logos/Viz.png){ .twemoji }](https://www.viz.com/goodnight-punpun "VIZ")
+
+
diff --git a/docs/movies.md b/docs/movies.md
index 9779b64..440891a 100644
--- a/docs/movies.md
+++ b/docs/movies.md
@@ -18,27 +18,31 @@ hide:
-- ![Enter the Dragon](https://image.tmdb.org/t/p/original/b9G01LQzVhxgxdFOgopYlShM4L5.jpg)
- **Enter the Dragon**
+- ![Enter the Dragon](https://image.tmdb.org/t/p/original/b9G01LQzVhxgxdFOgopYlShM4L5.jpg){ loading=lazy }
+
+ __Enter the Dragon__
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/m/enter_the_dragon){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/movie/9461-enter-the-dragon){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt0070034/)
[![The Criterion Collection](https://assets.tylernguyen.wiki/logos/The-Criterion-Collection.svg){ .twemoji .card-link title="The Criterion Collection" }](https://www.criterion.com/films/30623-enter-the-dragon)
-- ![The Matrix](https://image.tmdb.org/t/p/original/ncEsesgOJDNrTUED89hYbA117wo.jpg)
- **The Matrix**
+- ![The Matrix](https://image.tmdb.org/t/p/original/ncEsesgOJDNrTUED89hYbA117wo.jpg){ loading=lazy }
+
+ __The Matrix__
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/m/matrix){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/movie/603-the-matrix){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt0133093/)
-- ![Heat](https://image.tmdb.org/t/p/original/gndZ51GNkmGGGi9jT2eqbJuzyt8.jpg)
- **Heat**
+- ![Heat](https://image.tmdb.org/t/p/original/gndZ51GNkmGGGi9jT2eqbJuzyt8.jpg){ loading=lazy}
+
+ __Heat__
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/m/heat_1995){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/movie/949-heat){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt0113277/)
-- ![1917](https://image.tmdb.org/t/p/original/zpWL0LEjiEcLxhtm8goyyMOylst.jpg)
- **1917**
+- ![1917](https://image.tmdb.org/t/p/original/zpWL0LEjiEcLxhtm8goyyMOylst.jpg){ loading=lazy }
+
+ __1917__
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/m/1917_2019){ .card-link title="Rotten Tomatoes"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt8579674/)
diff --git a/docs/peripherals.md b/docs/peripherals.md
old mode 100644
new mode 100755
index 1a2a6d2..fd100ff
--- a/docs/peripherals.md
+++ b/docs/peripherals.md
@@ -12,7 +12,7 @@ tags:
-
- ![Logitech G Pro Superlight 2](https://assets.tylernguyen.wiki/peripherals/Logitech_GPro-Superlight2.png){ width=80 }
+ ![Logitech G Pro Superlight 2](https://assets.tylernguyen.wiki/peripherals/Logitech_GPro-Superlight2.png){ loading-lazy width=80 }
Logitech G Pro Superlight 2
@@ -23,14 +23,14 @@ tags:
-
- ![Pulsar Supergrip](https://assets.tylernguyen.wiki/peripherals/Pulsar_Supergrip.png){ width=150 }
+ ![Pulsar Supergrip](https://assets.tylernguyen.wiki/peripherals/Pulsar_Supergrip.png){ loading-lazy width=150 }
Pulsar Supergrip
-
- ![EspTiger Ice DIY Dots V2](https://assets.tylernguyen.wiki/peripherals/EspTiger_ICE-DotsV2.png){ width=150 }
+ ![EspTiger Ice DIY Dots V2](https://assets.tylernguyen.wiki/peripherals/EspTiger_ICE-DotsV2.png){ loading-lazy width=150 }
EspTiger Ice DIY Dots V2
@@ -43,14 +43,14 @@ tags:
-
- ![Artisan Zero Mid](https://assets.tylernguyen.wiki/peripherals/Artisan_Zero.png){ width=300 }
+ ![Artisan Zero Mid](https://assets.tylernguyen.wiki/peripherals/Artisan_Zero.png){ loading-lazy width=300 }
Artisan Zero Mid Orange
-
- ![Artisan Otsu Soft](https://assets.tylernguyen.wiki/peripherals/Artisan_Otsu.png){ width=300 }
+ ![Artisan Otsu Soft](https://assets.tylernguyen.wiki/peripherals/Artisan_Otsu.png){ loading-lazy width=300 }
Artisan Otsu Soft
@@ -59,22 +59,13 @@ tags:
## Keyboard
-
-
--
-
- ![Wooting 60HE+ Module](https://assets.tylernguyen.wiki/peripherals/Wooting_60HE-module.png){ width=375 }
- Wooting 60HE+ Module
-
-
-
-
+### Wooting 60HE Build
-
- ![Wilba.Tech Salvation](https://assets.tylernguyen.wiki/peripherals/wilba.tech_Salvation.png){ width=425 }
+ ![Wilba.Tech Salvation](https://assets.tylernguyen.wiki/peripherals/wilba.tech_Salvation.png){ loading-lazy width=425 }
Wilba.Tech Salvation Lightning Silver
@@ -85,27 +76,80 @@ tags:
-
- ![NovelKeys GMK Kaiju Part Deux: Mechabase](https://assets.tylernguyen.wiki/peripherals/NovelKeys_Mecha-Godzilla.png){ width=75 }
+ ![Wooting 60HE+ Module](https://assets.tylernguyen.wiki/peripherals/Wooting_60HE-module.png){ loading-lazy width=375 }
+ Wooting 60HE+ Module
+
+
+
+
+
+
+
+-
+
+ ![NovelKeys GMK Kaiju Part Deux: Mechabase](https://assets.tylernguyen.wiki/peripherals/NovelKeys_Mecha-Godzilla.png){ loading-lazy width=75 }
NovelKeys GMK Kaiju Part Deux Mechabase Keycaps
-
- ![GEONWORKS Raptor HE + Lekkar Stem](https://assets.tylernguyen.wiki/peripherals/GEONWORKS_Rapter-HE-Lekkar-stem.png){ width=100 }
+ ![GEONWORKS Raptor HE + Lekkar Stem](https://assets.tylernguyen.wiki/peripherals/GEONWORKS_Rapter-HE-Lekkar-stem.png){ loading-lazy width=100 }
GEONWORKS Raptor HE Housing Lekkar Stem
+### Wooting 80HE
+
+
+
+-
+
+ ![Wooting 80HE PCR ABS Ghost](https://assets.tylernguyen.wiki/peripherals/Wooting_80HE-PCR-Ghost.png){ loading-lazy width=400 }
+ Wooting 80HE PCR ABS Ghost
+
+
+
+
+
+
+
+-
+
+ ![Wooting 80HE Module](https://assets.tylernguyen.wiki/peripherals/Wooting_80HE-module.png){ loading-lazy width=375 }
+ Wooting 80HE Module
+
+
+
+
+
+
+
+-
+
+ ![NovelKeys GMK Kaiju Part Deux: Mechabase](https://assets.tylernguyen.wiki/peripherals/NovelKeys_Mecha-Godzilla.png){ loading-lazy width=75 }
+ NovelKeys GMK Kaiju Part Deux Mechabase Keycaps
+
+
+
+-
+
+ ![GEON Raw HE](https://assets.tylernguyen.wiki/peripherals/GEON_RawHE.png){ loading-lazy width=100 }
+ GEON Raw HE
+
+
+
+
+
## Audio
-
- ![MOTU UltraLite Mk5](https://assets.tylernguyen.wiki/hardware/MOTU_Ultralite-Mk5.png){ width=300 }
+ ![MOTU UltraLite Mk5](https://assets.tylernguyen.wiki/hardware/MOTU_Ultralite-Mk5.png){ loading-lazy width=300 }
MOTU UltraLite Mk5
@@ -116,35 +160,39 @@ tags:
-
- ![Shure SM7dB](https://assets.tylernguyen.wiki/hardware/Shure_SM7dB.png){ width=200 }
+ ![Shure SM7dB](https://assets.tylernguyen.wiki/hardware/Shure_SM7dB.png){ loading-lazy width=175 }
Shure SM7dB
+
+
+
+
-
- ![Sennheiser HD 490 PRO](https://assets.tylernguyen.wiki/peripherals/Sennheiser_HD490-PRO.png){ width=200 }
+ ![Sennheiser HD 490 PRO](https://assets.tylernguyen.wiki/peripherals/Sennheiser_HD490-PRO.png){ loading-lazy width=175 }
Sennheiser HD 490 PRO
-
- ![Sennheiser IE600](https://assets.tylernguyen.wiki/peripherals/Sennheiser_IE600.png){ width=250 }
- Sennheiser IE600
-
-
-
--
-
- ![Sony WH-1000XM4](https://assets.tylernguyen.wiki/peripherals/Sony_WH-1000XM4.png){ width=150 }
+ ![Sony WH-1000XM4](https://assets.tylernguyen.wiki/peripherals/Sony_WH-1000XM4.png){ loading-lazy width=140 }
Sony WH-1000XM4
-
- ![Apple AirPods Pro 2](https://assets.tylernguyen.wiki/peripherals/Apple_AirPods-Pro2.png){ width=115 }
+ ![Sennheiser IE600](https://assets.tylernguyen.wiki/peripherals/Sennheiser_IE600.png){ loading-lazy width=200 }
+ Sennheiser IE600
+
+
+
+-
+
+ ![Apple AirPods Pro 2](https://assets.tylernguyen.wiki/peripherals/Apple_AirPods-Pro2.png){ loading-lazy width=115 }
Apple AirPods Pro 2
@@ -153,31 +201,22 @@ tags:
## Music
-### Neural DSP
-
-
- ![Neural DSP Quad Cortex](https://assets.tylernguyen.wiki/hardware/NeuralDSP_Quad-Cortex.png){ width=300 }
+ ![Neural DSP Quad Cortex](https://assets.tylernguyen.wiki/hardware/NeuralDSP_Quad-Cortex.png){ loading-lazy width=300 }
Neural DSP Quad Cortex
-
-
-#### Plugins
-
-- ![Neural DSP Archetype: Gojira X](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Gojira.png){ .twemoji } [Archetype: Gojira X](https://neuraldsp.com/plugins/archetype-gojira)
-- ![Neural DSP Archetype: Plini X](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Plini.png){ .twemoji } [Archetype: Plini X](https://neuraldsp.com/plugins/archetype-plini)
+- ![Archetype: Gojira X](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Gojira.png){ .twemoji } [Archetype: Gojira X](https://neuraldsp.com/plugins/archetype-gojira)
+- ![Archetype: Plini X](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Plini.png){ .twemoji } [Archetype: Plini X](https://neuraldsp.com/plugins/archetype-plini)
+- ![Archetype: Petrucci](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Petrucci.png){ .twemoji } [Archetype: Petrucci](https://neuraldsp.com/plugins/archetype-petrucci)
+- ![Archetype: Tim Henson](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Tim-Henson.png){ .twemoji } [Archetype: Tim Henson](https://neuraldsp.com/plugins/archetype-tim-henson)
-
-
-- ![Neural DSP Archetype: Petrucci](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Petrucci.png){ .twemoji } [Archetype: Petrucci](https://neuraldsp.com/plugins/archetype-petrucci)
-- ![Neural DSP Archetype: Tim Henson](https://assets.tylernguyen.wiki/logos/NeuralDSP_Archetype-Tim-Henson.png){ .twemoji } [Archetype: Tim Henson](https://neuraldsp.com/plugins/archetype-tim-henson)
-
diff --git a/docs/podcasts.md b/docs/podcasts.md
index 68c725e..ce16a96 100644
--- a/docs/podcasts.md
+++ b/docs/podcasts.md
@@ -14,30 +14,37 @@ tags:
==}
-![This American Life](https://assets.tylernguyen.wiki/podcasts/This-American-Life.png){ width=150 }
-![Planet Money](https://assets.tylernguyen.wiki/podcasts/NPR_Planet-Money.jpg){ width=150 }
-![Lore](https://assets.tylernguyen.wiki/podcasts/Lore.jpg){ width=150 }
-![Criminal](https://assets.tylernguyen.wiki/podcasts/Vox_Criminal.png){ width=150 }
+
-**This American Life**
-[:octicons-link-external-16:](https://www.thisamericanlife.org/){ .card-link title="Homepage"}
-[:fontawesome-solid-square-rss:{ .rss }](https://www.thisamericanlife.org/podcast/rss.xml){ .card-link title="RSS Feed"}
-[:octicons-archive-16:](https://www.thisamericanlife.org/archive){ .card-link title=Archive}
+- ![This American Life](https://assets.tylernguyen.wiki/podcasts/This-American-Life.png){ width=125 }
+
+ __This American Life__
+ [:octicons-link-external-16:](https://www.thisamericanlife.org/){ .card-link title="Homepage"}
+ [:fontawesome-solid-square-rss:{ .rss }](https://www.thisamericanlife.org/podcast/rss.xml){ .card-link title="RSS Feed"}
+ [:octicons-archive-16:](https://www.thisamericanlife.org/archive){ .card-link title=Archive}
+
+- ![Planet Money](https://assets.tylernguyen.wiki/podcasts/NPR_Planet-Money.jpg){ width=125 }
+
+ __Planet Money__
+ [:octicons-link-external-16:](https://www.npr.org/podcasts/510289/planet-money){ .card-link title="Homepage"}
+ [:fontawesome-solid-square-rss:{ .rss }](https://feeds.npr.org/510289/podcast.xml){ .card-link title="RSS Feed"}
+
+- ![Lore](https://assets.tylernguyen.wiki/podcasts/Lore.jpg){ width=125 }
+
+ __Lore__
+ [:octicons-link-external-16:](https://www.lorepodcast.com/){ .card-link title="Homepage"}
+ [:fontawesome-solid-square-rss:{ .rss }](https://feeds.libsyn.com/65267/rss){ .card-link title="RSS Feed"}
+
+- ![Criminal](https://assets.tylernguyen.wiki/podcasts/Vox_Criminal.png){ width=125 }
+
+ __Criminal__
+ [:octicons-link-external-16:](https://thisiscriminal.com/){ .card-link title="Homepage"}
+ [:fontawesome-solid-square-rss:{ .rss }](https://feeds.megaphone.fm/VMP7924981569){ .card-link title="RSS Feed"}
+
+
The official RSS feed only has its recent episodes. There is an [un-official archive RSS feed](https://github.com/dcadata/this-american-life-archive) with episodes 1 to current.
-**Planet Money**
-[:octicons-link-external-16:](https://www.npr.org/podcasts/510289/planet-money){ .card-link title="Homepage"}
-[:fontawesome-solid-square-rss:{ .rss }](https://feeds.npr.org/510289/podcast.xml){ .card-link title="RSS Feed"}
-
-**Lore**
-[:octicons-link-external-16:](https://www.lorepodcast.com/){ .card-link title="Homepage"}
-[:fontawesome-solid-square-rss:{ .rss }](https://feeds.libsyn.com/65267/rss){ .card-link title="RSS Feed"}
-
-**Criminal**
-[:octicons-link-external-16:](https://thisiscriminal.com/){ .card-link title="Homepage"}
-[:fontawesome-solid-square-rss:{ .rss }](https://feeds.megaphone.fm/VMP7924981569){ .card-link title="RSS Feed"}
-
## Art, Design & Writing
- 99% Invisible
diff --git a/docs/self-hosted.md b/docs/self-hosted.md
old mode 100644
new mode 100755
index 15b9e8d..40df147
--- a/docs/self-hosted.md
+++ b/docs/self-hosted.md
@@ -23,6 +23,15 @@ Unraid is not open source.
[:fontawesome-solid-money-bill:](https://unraid.net/pricing){ .card-link title=Pricing}
[:octicons-markdown-16:](https://wiki.unraid.net/Documentation){ .card-link title=Documentation}
+## Virtual Machines
+
+
+
+- :simple-homeassistant:{ .homeassistant } [Home Assistant](https://www.home-assistant.io/)
+[:fontawesome-regular-file-code:](https://github.com/home-assistant/core){ .card-link title="Source Code" }
+
+
+
## Containers
/// note
@@ -34,6 +43,21 @@ I recommend the linuxserver Docker image for its [image mods](https://mods.linux
- ![plex](https://assets.tylernguyen.wiki/logos/plex.svg){ .twemoji } [Plex Media Server](https://www.plex.tv/)
[:octicons-container-16:{ .docker }](https://hub.docker.com/r/linuxserver/plex){ .card-link title=Container}
+
+
+- ![Kometa](https://assets.tylernguyen.wiki/logos/Kometa.png){ .twemoji } [Kometa](https://github.com/meisnate12/Plex-Meta-Manager)
+[:octicons-container-16:{ .docker }](https://hub.docker.com/r/kometateam/kometa){ .card-link title=Container}
+[:fontawesome-regular-file-code:](https://github.com/Kometa-Team/Kometa){ .card-link title="Source Code" }
+
+- ![Kometa/ImageMaid](https://assets.tylernguyen.wiki/logos/Kometa.png){ .twemoji } [Kometa/ImageMaid](https://github.com/meisnate12/Plex-Meta-Manager)
+[:octicons-container-16:{ .docker }](https://hub.docker.com/r/kometateam/imagemaid){ .card-link title=Container}
+
+
+
+
+
+
+
- ![Audiobookshelf](https://assets.tylernguyen.wiki/logos/audiobookshelf.svg){ .twemoji } [Audiobookshelf](https://www.audiobookshelf.org/)
[:octicons-container-16:{ .docker }](https://github.com/advplyr/audiobookshelf/pkgs/container/audiobookshelf){ .card-link title=Container}
[:fontawesome-regular-file-code:](https://github.com/advplyr/audiobookshelf){ .card-link title="Source Code" }
@@ -56,13 +80,6 @@ I recommend the linuxserver Docker image for its [image mods](https://mods.linux
[:octicons-container-16:{ .docker }](https://hub.docker.com/r/linuxserver/freshrss){ .card-link title=Container}
[:fontawesome-regular-file-code:](https://github.com/FreshRSS/FreshRSS){ .card-link title="Source Code" }
-- ![Kometa](https://assets.tylernguyen.wiki/logos/Kometa.png){ .twemoji } [Kometa (formerly plex-meta-manager)](https://github.com/meisnate12/Plex-Meta-Manager)
-[:octicons-container-16:{ .docker }](https://hub.docker.com/r/kometateam/kometa){ .card-link title=Container}
-[:fontawesome-regular-file-code:](https://github.com/Kometa-Team/Kometa){ .card-link title="Source Code" }
-
-- ![Kometa/ImageMaid](https://assets.tylernguyen.wiki/logos/Kometa.png){ .twemoji } [Kometa/ImageMaid](https://github.com/meisnate12/Plex-Meta-Manager)
-[:octicons-container-16:{ .docker }](https://hub.docker.com/r/kometateam/imagemaid){ .card-link title=Container}
-
- [giorgi-o/SkinPeek](https://github.com/giorgi-o/SkinPeek)
[:octicons-container-16:{ .docker }](https://github.com/users/giorgi-o/packages/container/package/skinpeek%2Fskinpeek){ .card-link title=Container}
[:fontawesome-regular-file-code:](https://github.com/giorgi-o/SkinPeek){ .card-link title="Source Code" }
@@ -71,18 +88,25 @@ I recommend the linuxserver Docker image for its [image mods](https://mods.linux
[:octicons-container-16:{ .docker }](https://hub.docker.com/r/rmcrackan/libation/tags){ .card-link title=Container}
[:fontawesome-regular-file-code:](https://github.com/rmcrackan/Libation){ .card-link title="Source Code" }
+- ![Caddy](https://assets.tylernguyen.wiki/logos/Caddy.png){ .twemoji } [Caddy (serfriz/caddy-custom-builds)](https://github.com/serfriz/caddy-custom-builds)
+[:octicons-container-16:{ .docker }](https://github.com/serfriz?tab=packages&repo_name=caddy-custom-builds){ .card-link title=Container}
+[:fontawesome-regular-file-code:](https://github.com/serfriz/caddy-custom-builds){ .card-link title="Source Code" }
+
+- ![CrowdSec](https://assets.tylernguyen.wiki/logos/CrowdSec.png){ .twemoji } [CrowdSec](https://github.com/rmcrackan/Libation)
+[:octicons-container-16:{ .docker }](https://hub.docker.com/r/rmcrackan/libation/tags){ .card-link title=Container}
+[:fontawesome-regular-file-code:](https://github.com/rmcrackan/Libation){ .card-link title="Source Code" }
+
+- [:simple-syncthing:{ .syncthing } Syncthing](https://gitea.io/en-us/)
+[:octicons-container-16:{ .docker }](https://github.com/linuxserver/docker-syncthing/pkgs/container/syncthing){ .card-link title=Container}
+[:fontawesome-regular-file-code:](https://github.com/syncthing/syncthing){ .card-link title="Source Code" }
+
- :simple-mastodon:{ .mastodon } [Mastodon](https://joinmastodon.org/)
[:octicons-container-16:{ .docker }](https://github.com/mastodon/mastodon/pkgs/container/mastodon){ .card-link title=Container}
-
- /// success
- Follow me on the Fediverse: [@tylernguyen@tylernguyen.social](https://tylernguyen.social/@tylernguyen)
- ///
-
-
+[:fontawesome-regular-file-code:](https://github.com/mastodon/mastodon){ .card-link title="Source Code" }
@@ -97,6 +121,8 @@ I recommend the linuxserver Docker image for its [image mods](https://mods.linux
+
+
## Cloudflare Zero Trust
![Cloudflare Zero Trust](https://assets.tylernguyen.wiki/logos/Cloudflare-Zero-Trust.svg){ align=right width=125 }
@@ -122,8 +148,8 @@ I use Cloudflare Tunnel[^1] (part of the Zero Trust suite) to expose some servic
-
- ![Tailscale](https://assets.tylernguyen.wiki/logos/Tailscale-light.svg#only-light){ width=300 }
- ![Tailscale](https://assets.tylernguyen.wiki/logos/Tailscale-dark.svg#only-dark){ width=300 }
+ ![Tailscale](https://assets.tylernguyen.wiki/logos/Tailscale-light.svg#only-light){ loading-lazy width=300 }
+ ![Tailscale](https://assets.tylernguyen.wiki/logos/Tailscale-dark.svg#only-dark){ loading-lazy width=300 }
diff --git a/docs/services.md b/docs/services.md
index 9ecb06b..3bb8bc5 100644
--- a/docs/services.md
+++ b/docs/services.md
@@ -8,12 +8,32 @@ tags:
I hate subscriptions and actively avoid them when I can. This is mostly a financial decision but is also motivated by data privacy. The services here are mostly irreplaceable for their features and/or should not be self-hosted for security.
+## NextDNS
+
+
+
+- :simple-nextdns:{ .nextdns } [NextDNS](https://nextdns.io/)
+
+
+
## Productivity
+- ![Google Calendar](https://assets.tylernguyen.wiki/logos/Google_Calendar.svg){ .twemoji } [Google Calendar](https://calendar.google.com/)
+
+ ---
+
+ - :material-eye-lock-outline: **Properitary**
+ - :material-newspaper: **Ad** -ware
+
- :simple-todoist:{ .todoist } [Todoist](https://todoist.com/)
+ ---
+
+ - :material-eye-lock-outline: **Properitary**
+ - :material-sync: **Subscription** -ware
+
## Media
@@ -38,49 +58,13 @@ eBooks and audiobooks are sold by Amazon with DRM. Buy directly from publisher a
Consider archiving your audiobooks from Audible. See [rmcrackan/Libation](https://github.com/rmcrackan/Libation).
///
-## 1Password
+## Proton
-
- ![1Password](https://assets.tylernguyen.wiki/logos/1Password-light.svg#only-light){ width=200 }
- ![1Password](https://assets.tylernguyen.wiki/logos/1Password-dark.svg#only-dark){ width=200 }
-
-
-
-
-
-/// warning
-1Password is not open source.
-///
-
-1Password is robust, cross-platform, and well integrated. Its ease of use and wide adoption also makes sharing passwords effortless.
-
-1Password also offers various developer functions that I find cannot be matched by other offerings. These include:
-
-- SSH Authentication
-- Git Commit Signing
-- Developer Tokens and Secrets Automation
-- [twpayne/chezmoi](https://www.chezmoi.io/user-guide/password-managers/1password/) integration for managing dotfiles
-- [Visual Studio Code](https://developer.1password.com/docs/vscode/) integration for editing secrets
-
-/// info
-1Password is [audited](https://support.onepassword.com/security-assessments/) on a regular basis and also documents their security in the [security white paper](https://1passwordstatic.com/files/security/1password-white-paper.pdf).
-///
-
-[:octicons-link-external-16: Homepage](https://1password.com/){ .md-button }
-[:fontawesome-solid-money-bill:](https://1password.com/sign-up/){ .card-link title=Pricing }
-[:fontawesome-regular-eye:](https://support.onepassword.com/1password-privacy/){ .card-link title="Privacy Policy" }
-[:octicons-markdown-16:](https://developer.onepassword.com/){ .card-link title="Developer Documentation" }
-
-## Proton Unlimited
-
-
-
--
-
- ![Proton](https://assets.tylernguyen.wiki/logos/Proton-logotype-purple-noborder.svg){ width=200 }
+ ![Proton](https://assets.tylernguyen.wiki/logos/Proton-logotype-purple-noborder.svg){ loading-lazy width=200 }
@@ -126,17 +110,11 @@ Consider archiving your audiobooks from Audible. See [rmcrackan/Libation](https:
- :simple-cloudflare:{ .cloudflare } [Cloudflare Domain Registar](https://www.cloudflare.com/products/registrar/)
-
- Cloudflare offers at-cost pricing both for new registrations and renewals.
-
- :simple-cloudflare:{ .cloudflare } [Cloudflare DNS](https://www.cloudflare.com/)
- :simple-cloudflare:{ .cloudflare } [Cloudflare R2](https://www.cloudflare.com/products/r2/)
-
- Cloudflare R2 hosts assets for this wiki, as well as for my [Mastodon instance](https://tylernguyen.social/@tylernguyen).
-
-- ![Cloudflare Workers](https://assets.tylernguyen.wiki/logos/Cloudflare-Workers.png){ .twemoji } [Cloudflare Workers](https://workers.cloudflare.com/)
+- ![Cloudflare Workers](https://assets.tylernguyen.wiki/logos/Cloudflare_Workers.svg){ .twemoji } [Cloudflare Workers](https://workers.cloudflare.com/)
- :simple-cloudflarepages:{ .cloudflarepages } [Cloudflare Pages](https://pages.cloudflare.com/)
-- ![Cloudflare Zero Trust](https://assets.tylernguyen.wiki/logos/Cloudflare-Zero-Trust.svg){ .twemoji } [Cloudflare Zero Trust](https://www.cloudflare.com/zero-trust/)
+- ![Cloudflare Zero Trust](https://assets.tylernguyen.wiki/logos/Cloudflare_Zero-Trust.png){ .twemoji } [Cloudflare Zero Trust](https://www.cloudflare.com/zero-trust/)
diff --git a/docs/tv.md b/docs/tv.md
index 3993639..e60b941 100644
--- a/docs/tv.md
+++ b/docs/tv.md
@@ -18,37 +18,43 @@ hide:
-- ![Mr. Robot](https://image.tmdb.org/t/p/original/1SEVAgbaah9wE5xoLt4qWPMBdpL.jpg)
+- ![Mr. Robot](https://image.tmdb.org/t/p/original/1SEVAgbaah9wE5xoLt4qWPMBdpL.jpg){ loading=lazy }
+
**Mr. Robot**
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/tv/mr_robot){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/tv/62560-mr-robot){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt4158110/)
-- ![The Wire](https://image.tmdb.org/t/p/original/oggnxmvofLtGQvXsO9bAFyCj3p6.jpg)
+- ![The Wire](https://image.tmdb.org/t/p/original/oggnxmvofLtGQvXsO9bAFyCj3p6.jpg){ loading=lazy }
+
**The Wire**
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/tv/the-wire){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/tv/1438-the-wire){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt0306414/)
-- ![Severance](https://image.tmdb.org/t/p/original/npD65vPa4vvn1ZHpp3o05A5vdKT.jpg)
+- ![Severance](https://image.tmdb.org/t/p/original/npD65vPa4vvn1ZHpp3o05A5vdKT.jpg){ loading=lazy }
+
**Severance**
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/tv/severance/s01){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/tv/95396-severance){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt11280740/)
-- ![Barry](https://image.tmdb.org/t/p/original/vCv4HFYhIlB454Hj22IqYXYEmyi.jpg)
+- ![Barry](https://image.tmdb.org/t/p/original/vCv4HFYhIlB454Hj22IqYXYEmyi.jpg){ loading=lazy }
+
**Barry**
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/tv/barry){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/tv/73107-barry){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt5348176/)
-- ![Utopia](https://image.tmdb.org/t/p/original//tynEoLA2cYONcUSz2OrCU0wSp6K.jpg)
+- ![Utopia](https://image.tmdb.org/t/p/original//tynEoLA2cYONcUSz2OrCU0wSp6K.jpg){ loading=lazy }
+
**Utopia**
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/tv/barry){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/tv/46511-utopia){ .card-link title="TMDB"}
[![IMDb](https://assets.tylernguyen.wiki/logos/IMDb.png){ .twemoji .card-link title="IMDb" }](https://www.imdb.com/title/tt2384811/)
-- ![Chernobyl](https://image.tmdb.org/t/p/original/900tHlUYUkp7Ol04XFSoAaEIXcT.jpg)
+- ![Chernobyl](https://image.tmdb.org/t/p/original/900tHlUYUkp7Ol04XFSoAaEIXcT.jpg){ loading=lazy }
+
**Chernobyl**
[:simple-rottentomatoes:{ .rottentomatoes }](https://www.rottentomatoes.com/tv/barry){ .card-link title="Rotten Tomatoes"}
[:simple-themoviedatabase:{ .tmdb }](https://www.themoviedb.org/tv/87108-chernobyl){ .card-link title="TMDB"}
diff --git a/docs/websites.md b/docs/websites.md
index 5451ab6..a79e41c 100644
--- a/docs/websites.md
+++ b/docs/websites.md
@@ -8,21 +8,31 @@ tags:
RSS is my preferred method of following websites. I also maintain an email alias specifically for newsletters to be converted into an RSS feed.
-/// featured
-- [danluu.com](https://danluu.com/) [:fontawesome-solid-square-rss:{ .rss }](https://danluu.com/atom.xml){ .card-link title="RSS Feed"}
-- [No Mercy / No Malice](https://www.profgalloway.com/) [:fontawesome-solid-square-rss:{ .rss }](https://www.profgalloway.com/feed/){ .card-link title="RSS Feed"}
-- [NY Times - Visual Investigation](https://www.nytimes.com/spotlight/visual-investigations) [:simple-youtube:{ .youtube }](https://www.youtube.com/playlist?list=PL4CGYNsoW2iAZt9-UzPyPZOH-AlRMxcIE){ .card-link title="YouTube Channel"}
-- [@3blue1brown](https://www.youtube.com/@3blue1brown) [:simple-youtube:{ .youtube }](https://www.youtube.com/@3blue1brown){ .card-link title="YouTube Channel"}
-- [@LEMMiNO](https://www.youtube.com/@LEMMiNO) [:simple-youtube:{ .youtube }](https://www.youtube.com/@LEMMiNO){ .card-link title="YouTube Channel"}
-///
+
+{==
+
+## Featured
+
+==}
+
+
+- [danluu.com](https://danluu.com/) [:material-rss-box:{ .rss }](https://danluu.com/atom.xml){ .card-link title="RSS Feed"}
+- [No Mercy / No Malice](https://www.profgalloway.com/) [:material-rss-box:{ .rss }](https://www.profgalloway.com/feed/){ .card-link title="RSS Feed"}
+
+---
+
+## Aggregators
+
+- [Hacker News](https://news.ycombinator.com/)
+- [Lobsters](https://lobste.rs/)
## Blogs
-- [Schneier on Security](https://www.schneier.com/) [:fontawesome-solid-square-rss:{ .rss }](https://www.schneier.com/feed/){ .card-link title="RSS Feed"}
-- [Julia Evans](https://jvns.ca) [:fontawesome-solid-square-rss:{ .rss }](https://jvns.ca/atom.xml){ .card-link title="RSS Feed"}
+- [Schneier on Security](https://www.schneier.com/) [:material-rss-box:{ .rss }](https://www.schneier.com/feed/){ .card-link title="RSS Feed"}
+- [Julia Evans](https://jvns.ca) [:material-rss-box:{ .rss }](https://jvns.ca/atom.xml){ .card-link title="RSS Feed"}
- [Seirdy’s Home](https://seirdy.one/)
-- [endtimes.dev](https://endtimes.dev/) [:fontawesome-solid-square-rss:{ .rss }](https://endtimes.dev/feed.xml){ .card-link title="RSS Feed"}
-- [Jeff Geerling](https://www.jeffgeerling.com/blog)
+- [endtimes.dev](https://endtimes.dev/) [:material-rss-box:{ .rss }](https://endtimes.dev/feed.xml){ .card-link title="RSS Feed"}
+- [Jeff Geerling](https://www.jeffgeerling.com/blog), and [@JeffGeerling](https://www.youtube.com/@JeffGeerling) :simple-youtube:{ .youtube }
- [tonsky.me](https://tonsky.me/)
## Digital Gardens
@@ -56,3 +66,9 @@ RSS is my preferred method of following websites. I also maintain an email alias
## Cooking
- [Dr. Doughlas Baldwin - A Practical Guide to Sous Vide Cooking](https://douglasbaldwin.com/sous-vide.html)
+
+## YouTube :simple-youtube:{ .youtube }
+
+- [NY Times - Visual Investigation](https://www.youtube.com/playlist?list=PL4CGYNsoW2iAZt9-UzPyPZOH-AlRMxcIE) :simple-youtube:{ .youtube }
+- [@3blue1brown](https://www.youtube.com/@3blue1brown) :simple-youtube:{ .youtube }
+- [@LEMMiNO](https://www.youtube.com/@LEMMiNO) :simple-youtube:{ .youtube }