posts-go/docs/2023-06-25-useful-tools.html

936 lines
26 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.2.0/github-markdown.min.css"
/>
<title>haunt98 posts</title>
</head>
<style>
.markdown-body {
box-sizing: border-box;
min-width: 200px;
max-width: 980px;
margin: 0 auto;
padding: 45px;
}
@media (max-width: 767px) {
.markdown-body {
padding: 15px;
}
}
</style>
<body class="markdown-body">
<h2>
<a href="index.html"><code>~</code></a>
</h2>
<h1 id="user-content-userful-tools">
<a class="heading-link" href="#userful-tools"
>Userful tools<span
aria-hidden="true"
class="octicon octicon-link"
></span
></a>
</h1>
<p>This just a raw list.</p>
<h2 id="user-content-tools">
<a class="heading-link" href="#tools"
>Tools<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h2>
<h3 id="user-content-terminal">
<a class="heading-link" href="#terminal"
>Terminal<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h3>
<ul>
<li>
<p>
<a href="https://github.com/ohmyzsh/ohmyzsh"
>https://github.com/ohmyzsh/ohmyzsh</a
>
</p>
<ul>
<li>
<a href="https://github.com/romkatv/powerlevel10k"
>https://github.com/romkatv/powerlevel10k</a
>
</li>
<li>
<a href="https://github.com/zsh-users/zsh-autosuggestions"
>https://github.com/zsh-users/zsh-autosuggestions</a
>
</li>
</ul>
</li>
<li>
<p>
<a href="https://github.com/junegunn/fzf"
>https://github.com/junegunn/fzf</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/folke/lazy.nvim"
>https://github.com/folke/lazy.nvim</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/sharkdp/fd"
>https://github.com/sharkdp/fd</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/sharkdp/bat"
>https://github.com/sharkdp/bat</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/BurntSushi/ripgrep"
>https://github.com/BurntSushi/ripgrep</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/dandavison/delta"
>https://github.com/dandavison/delta</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/Wilfred/difftastic"
>https://github.com/Wilfred/difftastic</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/ogham/exa"
>https://github.com/ogham/exa</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/adrianlopezroche/fdupes"
>https://github.com/adrianlopezroche/fdupes</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/WayneD/rsync"
>https://github.com/WayneD/rsync</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/rclone/rclone"
>https://github.com/rclone/rclone</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/restic/restic"
>https://github.com/restic/restic</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/ayoisaiah/f2"
>https://github.com/ayoisaiah/f2</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/dbrgn/tealdeer"
>https://github.com/dbrgn/tealdeer</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/GothenburgBitFactory/taskwarrior"
>https://github.com/GothenburgBitFactory/taskwarrior</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/dundee/gdu"
>https://github.com/dundee/gdu</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/muesli/duf"
>https://github.com/muesli/duf</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/charmbracelet/glow"
>https://github.com/charmbracelet/glow</a
>
</p>
</li>
<li>
<p>
<a href="https://github.com/sharkdp/vivid"
>https://github.com/sharkdp/vivid</a
>
</p>
</li>
</ul>
<p>Memory</p>
<ul>
<li>
<a href="https://github.com/junegunn/vim-plug"
>https://github.com/junegunn/vim-plug</a
>
</li>
<li>
<a href="https://github.com/wbthomason/packer.nvim"
>https://github.com/wbthomason/packer.nvim</a
>
</li>
<li>
<a href="https://github.com/so-fancy/diff-so-fancy"
>https://github.com/so-fancy/diff-so-fancy</a
>
</li>
<li>
<a href="https://github.com/jonas/tig">https://github.com/jonas/tig</a>
</li>
<li>
<a href="https://github.com/extrawurst/gitui"
>https://github.com/extrawurst/gitui</a
>
</li>
<li>
<a href="https://dev.yorhel.nl/ncdu" rel="nofollow"
>https://dev.yorhel.nl/ncdu</a
>
</li>
<li>
<a href="https://github.com/zellij-org/zellij"
>https://github.com/zellij-org/zellij</a
>
</li>
<li>
<a href="https://github.com/wustho/epr"
>https://github.com/wustho/epr</a
>
</li>
<li>
<a href="https://github.com/junegunn/fzf-git.sh"
>https://github.com/junegunn/fzf-git.sh</a
>
</li>
</ul>
<p>For fun</p>
<ul>
<li>
<a href="https://github.com/asciinema/asciinema"
>https://github.com/asciinema/asciinema</a
>
<ul>
<li>
<a href="https://github.com/asciinema/agg"
>https://github.com/asciinema/agg</a
>
</li>
</ul>
</li>
<li>
<a href="https://github.com/Gobidev/pfetch-rs"
>https://github.com/Gobidev/pfetch-rs</a
>
</li>
<li>
<a href="https://github.com/jarun/nnn">https://github.com/jarun/nnn</a>
<ul>
<li>
<a href="https://github.com/ImageMagick/ImageMagick"
>https://github.com/ImageMagick/ImageMagick</a
>
</li>
<li>
<a href="https://github.com/dirkvdb/ffmpegthumbnailer"
>https://github.com/dirkvdb/ffmpegthumbnailer</a
>
</li>
</ul>
</li>
<li>
<a href="https://github.com/Genymobile/scrcpy"
>https://github.com/Genymobile/scrcpy</a
>
</li>
<li>
<a href="https://github.com/libjxl/libjxl"
>https://github.com/libjxl/libjxl</a
>
</li>
<li>
<a href="https://github.com/yt-dlp/yt-dlp"
>https://github.com/yt-dlp/yt-dlp</a
>
</li>
<li>
<a href="https://github.com/talwat/pokeget-rs"
>https://github.com/talwat/pokeget-rs</a
>
</li>
</ul>
<p>Fun memory</p>
<ul>
<li>
<a href="https://github.com/htop-dev/htop"
>https://github.com/htop-dev/htop</a
>
</li>
<li>
<a href="https://github.com/aristocratos/btop"
>https://github.com/aristocratos/btop</a
>
</li>
<li>
<a href="https://github.com/dylanaraps/neofetch"
>https://github.com/dylanaraps/neofetch</a
>
</li>
<li>
<a href="https://github.com/dylanaraps/pfetch"
>https://github.com/dylanaraps/pfetch</a
>
</li>
<li>
<a href="https://github.com/Dr-Noob/cpufetch"
>https://github.com/Dr-Noob/cpufetch</a
>
</li>
<li>
<a href="https://github.com/o2sh/onefetch"
>https://github.com/o2sh/onefetch</a
>
</li>
<li>
<a href="https://gitlab.com/jallbrit/cbonsai" rel="nofollow"
>https://gitlab.com/jallbrit/cbonsai</a
>
</li>
<li>
<a href="https://github.com/ytdl-org/youtube-dl"
>https://github.com/ytdl-org/youtube-dl</a
>
</li>
<li>
<a href="https://github.com/instaloader/instaloader"
>https://github.com/instaloader/instaloader</a
>
</li>
<li>
<a
href="https://gitlab.com/phoneybadger/pokemon-colorscripts"
rel="nofollow"
>https://gitlab.com/phoneybadger/pokemon-colorscripts</a
>
</li>
</ul>
<h4 id="user-content-windows">
<a class="heading-link" href="#windows"
>Windows<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h4>
<ul>
<li>
<a href="https://github.com/abbodi1406/KMS_VL_ALL_AIO"
>https://github.com/abbodi1406/KMS_VL_ALL_AIO</a
>
</li>
<li>
<a href="https://github.com/massgravel/Microsoft-Activation-Scripts"
>https://github.com/massgravel/Microsoft-Activation-Scripts</a
>
</li>
<li>
<a href="https://github.com/abbodi1406/vcredist"
>https://github.com/abbodi1406/vcredist</a
>
</li>
</ul>
<h3 id="user-content-ui">
<a class="heading-link" href="#ui"
>UI<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h3>
<ul>
<li>
<a href="https://github.com/kovidgoyal/kitty"
>https://github.com/kovidgoyal/kitty</a
>
</li>
<li>
<a href="https://github.com/wez/wezterm"
>https://github.com/wez/wezterm</a
>
</li>
<li>
<a href="https://transmissionbt.com/" rel="nofollow"
>https://transmissionbt.com/</a
>
</li>
<li>
<a href="https://tailscale.com/" rel="nofollow"
>https://tailscale.com/</a
>
</li>
<li>
<a href="https://www.libreoffice.org/" rel="nofollow"
>https://www.libreoffice.org/</a
>
</li>
<li>
<a href="https://github.com/johnfactotum/foliate"
>https://github.com/johnfactotum/foliate</a
>
</li>
<li>
<a href="https://fbreader.org/" rel="nofollow">https://fbreader.org/</a>
</li>
<li>
<a href="https://www.xnview.com/en/xnviewmp/" rel="nofollow"
>https://www.xnview.com/en/xnviewmp/</a
>
</li>
</ul>
<p>Memory</p>
<ul>
<li>
<a href="https://github.com/alacritty/alacritty"
>https://github.com/alacritty/alacritty</a
>
</li>
</ul>
<h4 id="user-content-macos">
<a class="heading-link" href="#macos"
>macOS<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h4>
<ul>
<li>
<a href="https://theunarchiver.com/" rel="nofollow"
>https://theunarchiver.com/</a
>
</li>
<li>
<a href="https://github.com/iina/iina">https://github.com/iina/iina</a>
</li>
<li>
<a href="https://github.com/linearmouse/linearmouse"
>https://github.com/linearmouse/linearmouse</a
>
</li>
<li>
<a href="https://github.com/rxhanson/Rectangle"
>https://github.com/rxhanson/Rectangle</a
>
</li>
<li>
<a href="https://github.com/waydabber/BetterDisplay"
>https://github.com/waydabber/BetterDisplay</a
>
</li>
<li>
<a href="https://github.com/pedrommcarrasco/Brooklyn"
>https://github.com/pedrommcarrasco/Brooklyn</a
>
</li>
<li>
<a href="https://github.com/ganeshrvel/openmtp"
>https://github.com/ganeshrvel/openmtp</a
>
</li>
<li>
<a href="https://github.com/coteditor/CotEditor"
>https://github.com/coteditor/CotEditor</a
>
</li>
<li>
<a href="https://github.com/lwouis/alt-tab-macos"
>https://github.com/lwouis/alt-tab-macos</a
>
</li>
<li>
<a href="https://github.com/Ranchero-Software/NetNewsWire"
>https://github.com/Ranchero-Software/NetNewsWire</a
>
</li>
</ul>
<p>Memory</p>
<ul>
<li>
<a href="https://github.com/pilotmoon/Scroll-Reverser"
>https://github.com/pilotmoon/Scroll-Reverser</a
>
</li>
<li>
<a href="https://www.tunabellysoftware.com/balance_lock/" rel="nofollow"
>https://www.tunabellysoftware.com/balance_lock/</a
>
</li>
<li>
<a href="https://github.com/tuyenvm/OpenKey"
>https://github.com/tuyenvm/OpenKey</a
>
</li>
<li>
<a href="https://github.com/objective-see/LuLu"
>https://github.com/objective-see/LuLu</a
>
</li>
<li>
<a href="https://github.com/ivoronin/TomatoBar"
>https://github.com/ivoronin/TomatoBar</a
>
</li>
<li>
<a href="https://github.com/pqrs-org/Karabiner-Elements"
>https://github.com/pqrs-org/Karabiner-Elements</a
>
</li>
<li><a href="https://zed.dev/" rel="nofollow">https://zed.dev/</a></li>
<li>
<a href="https://github.com/alin23/Lunar"
>https://github.com/alin23/Lunar</a
>
</li>
</ul>
<h2 id="user-content-developement">
<a class="heading-link" href="#developement"
>Developement<span
aria-hidden="true"
class="octicon octicon-link"
></span
></a>
</h2>
<h3 id="user-content-terminal-1">
<a class="heading-link" href="#terminal-1"
>Terminal<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h3>
<ul>
<li>
<a href="https://github.com/Schniz/fnm"
>https://github.com/Schniz/fnm</a
>
</li>
<li>
<a href="https://github.com/oven-sh/bun"
>https://github.com/oven-sh/bun</a
>
</li>
<li>
<a href="https://github.com/denoland/deno"
>https://github.com/denoland/deno</a
>
</li>
<li>
<a href="https://github.com/pypa/pipx">https://github.com/pypa/pipx</a>
</li>
<li>
<a href="https://github.com/sdkman/sdkman-cli"
>https://github.com/sdkman/sdkman-cli</a
>
</li>
</ul>
<p>Format</p>
<ul>
<li>
<a href="https://github.com/prettier/prettier"
>https://github.com/prettier/prettier</a
>
</li>
<li>
<a href="https://github.com/mvdan/sh">https://github.com/mvdan/sh</a>
</li>
<li>
<a href="https://github.com/JohnnyMorganz/StyLua"
>https://github.com/JohnnyMorganz/StyLua</a
>
</li>
<li>
<a href="https://github.com/tamasfe/taplo"
>https://github.com/tamasfe/taplo</a
>
</li>
</ul>
<p>Language server</p>
<ul>
<li>
<a href="https://github.com/golang/tools/tree/master/gopls"
>https://github.com/golang/tools/tree/master/gopls</a
>
</li>
<li>
<a href="https://github.com/bufbuild/buf-language-server"
>https://github.com/bufbuild/buf-language-server</a
>
</li>
</ul>
<p>Misc</p>
<ul>
<li>
<a href="https://github.com/mikefarah/yq"
>https://github.com/mikefarah/yq</a
>
</li>
<li>
<a href="https://github.com/itchyny/gojq"
>https://github.com/itchyny/gojq</a
>
</li>
<li>github.com/antonmedv/fx</li>
<li>
<a href="https://github.com/plantuml/plantuml"
>https://github.com/plantuml/plantuml</a
>
</li>
</ul>
<p>Memory</p>
<ul>
<li>
<a href="https://github.com/stedolan/jq"
>https://github.com/stedolan/jq</a
>
</li>
<li>
<a href="https://github.com/sigstore/gitsign"
>https://github.com/sigstore/gitsign</a
>
</li>
<li>
<a href="https://github.com/gitleaks/gitleaks"
>https://github.com/gitleaks/gitleaks</a
>
</li>
<li>
<a href="https://github.com/tailscale/golink"
>https://github.com/tailscale/golink</a
>
</li>
<li>
<a href="https://github.com/burntsushi/toml"
>https://github.com/burntsushi/toml</a
>
</li>
<li>
<a href="https://github.com/koalaman/shellcheck"
>https://github.com/koalaman/shellcheck</a
>
</li>
<li>
<a href="https://github.com/bojand/ghz"
>https://github.com/bojand/ghz</a
>
</li>
<li>
<a href="https://github.com/sharkdp/hyperfine"
>https://github.com/sharkdp/hyperfine</a
>
</li>
<li>
<a href="https://github.com/boyter/cs">https://github.com/boyter/cs</a>
</li>
<li>
<a href="https://github.com/luals/lua-language-server"
>https://github.com/luals/lua-language-server</a
>
</li>
<li>
<a href="https://github.com/fullstorydev/grpcurl"
>https://github.com/fullstorydev/grpcurl</a
>
</li>
</ul>
<h4 id="user-content-go">
<a class="heading-link" href="#go"
>Go<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h4>
<ul>
<li>
<a href="https://github.com/mvdan/gofumpt"
>https://github.com/mvdan/gofumpt</a
>
</li>
<li>
<a href="https://github.com/golangci/golangci-lint"
>https://github.com/golangci/golangci-lint</a
>
</li>
<li>
<a
href="https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/fieldalignment"
rel="nofollow"
>https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/fieldalignment</a
>
</li>
<li>
<a href="https://github.com/gotestyourself/gotestsum"
>https://github.com/gotestyourself/gotestsum</a
>
</li>
<li>
<a href="https://github.com/maruel/panicparse"
>https://github.com/maruel/panicparse</a
>
</li>
</ul>
<p>Memory</p>
<ul>
<li>
<a href="https://github.com/go101/golds"
>https://github.com/go101/golds</a
>
</li>
<li>
<a href="https://github.com/burrowers/garble"
>https://github.com/burrowers/garble</a
>
</li>
</ul>
<h3 id="user-content-ui-1">
<a class="heading-link" href="#ui-1"
>UI<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h3>
<ul>
<li>
<a href="https://www.sublimemerge.com/" rel="nofollow"
>https://www.sublimemerge.com/</a
>
</li>
<li>
<a href="https://httpie.io/desktop" rel="nofollow"
>https://httpie.io/desktop</a
>
</li>
<li>
<a
href="https://redis.com/redis-enterprise/redis-insight/"
rel="nofollow"
>https://redis.com/redis-enterprise/redis-insight/</a
>
</li>
<li>
<a href="https://www.jetbrains.com/datagrip/" rel="nofollow"
>https://www.jetbrains.com/datagrip/</a
>
</li>
<li>
<a href="https://github.com/riok/Kreya"
>https://github.com/riok/Kreya</a
>
</li>
</ul>
<p>Memory</p>
<ul>
<li>
<a href="https://www.sublimetext.com/" rel="nofollow"
>https://www.sublimetext.com/</a
>
</li>
<li>
<a href="https://github.com/MuhammedKalkan/OpenLens"
>https://github.com/MuhammedKalkan/OpenLens</a
>
</li>
<li>
<a href="https://github.com/bloomrpc/bloomrpc"
>https://github.com/bloomrpc/bloomrpc</a
>
</li>
<li>
<a href="https://github.com/Kong/insomnia"
>https://github.com/Kong/insomnia</a
>
</li>
</ul>
<h3 id="user-content-macos-1">
<a class="heading-link" href="#macos-1"
>macOS<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h3>
<p>Memory</p>
<ul>
<li>
<a href="https://gpgtools.org/" rel="nofollow">https://gpgtools.org/</a>
</li>
</ul>
<h2 id="user-content-notes">
<a class="heading-link" href="#notes"
>Notes<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h2>
<p>nix/go/rust/pipx &gt; MacPorts, HomeBrew</p>
<p>Quirks:</p>
<div class="highlight highlight-source-shell">
<pre><span class="pl-c"><span class="pl-c">#</span> Add to ~/.zshrc</span>
<span class="pl-c"><span class="pl-c">#</span> https://github.com/NixOS/nix/issues/3616</span>
<span class="pl-k">if</span> [ <span class="pl-k">-e</span> <span class="pl-s"><span class="pl-pds">'</span>/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh<span class="pl-pds">'</span></span> ]<span class="pl-k">;</span> <span class="pl-k">then</span>
<span class="pl-c1">source</span> <span class="pl-s"><span class="pl-pds">'</span>/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh<span class="pl-pds">'</span></span>
<span class="pl-k">fi</span></pre>
</div>
<p>Don't install:</p>
<ul>
<li>Postman</li>
<li>Lens</li>
<li>Sourcegraph</li>
<li>Docker Desktop</li>
<li>Any JetBrains IDE beside DataGrip</li>
</ul>
<h2 id="user-content-misc">
<a class="heading-link" href="#misc"
>Misc<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h2>
<p>Don't enable plugin <code>git</code> in ohmyzsh.</p>
<h3 id="user-content-macos-2">
<a class="heading-link" href="#macos-2"
>macOS<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h3>
<p>Hide Developer in Spotlight:</p>
<div class="highlight highlight-source-shell">
<pre><span class="pl-c1">cd</span> /Applications
touch Xcode.app
<span class="pl-c"><span class="pl-c">#</span> Xcode mini version</span>
xcode-select --install</pre>
</div>
<p>Clean up leftover data:</p>
<ul>
<li><code>~/Library/Application Support</code></li>
<li><code>~/Library/LaunchAgents</code></li>
<li><code>/Library/LaunchAgents</code></li>
<li><code>~/Library/Fonts (Removed)</code></li>
</ul>
<p>Clean up clipboard:</p>
<div class="highlight highlight-source-shell">
<pre>pbcopy <span class="pl-k">&lt;</span> /dev/null</pre>
</div>
<h3 id="user-content-firefox">
<a class="heading-link" href="#firefox"
>Firefox<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h3>
<p><code>about:config</code>:</p>
<ul>
<li>
<p>Disable unused features:</p>
<ul>
<li><code>extensions.pocket.enabled</code>: false</li>
<li><code>identity.fxaccounts.enabled</code>: false</li>
<li><code>reader.parse-on-load.enabled</code>: false</li>
</ul>
</li>
<li>
<p>Good settings:</p>
<ul>
<li>
<code
>media.videocontrols.picture-in-picture.video-toggle.always-show</code
>: true
</li>
<li><code>network.IDN_show_punycode</code>: true</li>
<li><code>browser.tabs.insertAfterCurrent</code>: true</li>
</ul>
</li>
<li>
<p>Encrypted Client Hello (ECH):</p>
<ul>
<li><code>network.dns.echconfig.enabled</code>: true</li>
<li><code>network.dns.use_https_rr_as_altsvc</code>: true</li>
</ul>
</li>
<li>
<p>Experiment</p>
<ul>
<li><code>image.jxl.enabled</code>: true</li>
</ul>
</li>
</ul>
<h2 id="user-content-thanks">
<a class="heading-link" href="#thanks"
>Thanks<span aria-hidden="true" class="octicon octicon-link"></span
></a>
</h2>
<ul>
<li>
<a
href="https://boyter.org/posts/my-list-of-useful-command-line-tools/"
rel="nofollow"
>My list of useful command line tools</a
>
</li>
<li>
<a
href="http://www.quippd.com/firefox/wiki/useful-customizations/"
rel="nofollow"
>Useful Customizations for Firefox</a
>
</li>
<li>
<a
href="https://blog.mozilla.org/security/2021/01/07/encrypted-client-hello-the-future-of-esni-in-firefox/"
rel="nofollow"
>Encrypted Client Hello: the future of ESNI in Firefox</a
>
</li>
<li>
<a href="https://www.xudongz.com/blog/2017/idn-phishing/" rel="nofollow"
>Phishing with Unicode Domains</a
>
</li>
<li>
<a href="https://sizeof.cat/links/" rel="nofollow"
>https://sizeof.cat/links/</a
>
</li>
</ul>
<div>
Feel free to ask me via
<a href="mailto:hauvipapro+posts@gmail.com">email</a> or
<a rel="me" href="https://hachyderm.io/@haunguyen">Mastodon</a>.
<br />Source code is available on
<a href="https://github.com/haunt98/posts-go">GitHub</a>
<a href="https://codeberg.org/yoshie/posts-go">Codeberg</a>
<a href="https://git.sr.ht/~youngyoshie/posts-go">sourcehut</a>
<a href="https://gitea.treehouse.systems/yoshie/posts-go">Treehouse</a>
<a href="https://gitlab.com/youngyoshie/posts-go">GitLab</a>
</div>
</body>
</html>