<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[TalkativeTurtles - Operating Systems & Linux]]></title>
		<link>https://talkativeturtles.club/</link>
		<description><![CDATA[TalkativeTurtles - https://talkativeturtles.club]]></description>
		<pubDate>Wed, 05 Aug 2026 13:58:00 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Shell aliases and functions you actually use every day]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=118</link>
			<pubDate>Tue, 30 Jun 2026 20:35:25 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=118</guid>
			<description><![CDATA[Not the look at my 500-line zshrc post. Just the stuff that actually saved you time this week.<br />
<br />
Mine:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># Git shorthand<br />
alias gs="git status"<br />
alias gp="git push"<br />
alias gl="git log --oneline --graph --decorate -20"<br />
<br />
# Find stuff fast<br />
function ff() { find . -name "*&#36;1*" 2&gt;/dev/null; }<br />
<br />
# Kill whatever is on a port<br />
function killport() { lsof -ti:&#36;1 | xargs kill -9; }<br />
<br />
# Open last modified file in nvim<br />
alias vlast="nvim &#36;(ls -t | head -1)"</code></div></div><br />
The port killer alone has saved me more time than I care to admit.<br />
<br />
What are yours? Bash or zsh, does not matter.]]></description>
			<content:encoded><![CDATA[Not the look at my 500-line zshrc post. Just the stuff that actually saved you time this week.<br />
<br />
Mine:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># Git shorthand<br />
alias gs="git status"<br />
alias gp="git push"<br />
alias gl="git log --oneline --graph --decorate -20"<br />
<br />
# Find stuff fast<br />
function ff() { find . -name "*&#36;1*" 2&gt;/dev/null; }<br />
<br />
# Kill whatever is on a port<br />
function killport() { lsof -ti:&#36;1 | xargs kill -9; }<br />
<br />
# Open last modified file in nvim<br />
alias vlast="nvim &#36;(ls -t | head -1)"</code></div></div><br />
The port killer alone has saved me more time than I care to admit.<br />
<br />
What are yours? Bash or zsh, does not matter.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Switching from VS Code to Neovim - 6 month update]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=128</link>
			<pubDate>Sun, 28 Jun 2026 20:52:08 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=128</guid>
			<description><![CDATA[Six months ago I made the switch. Here is an honest assessment without the hype.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What actually improved:</span><ul class="mycode_list"><li>Keyboard-only workflow is genuinely faster once muscle memory kicks in. I stopped reaching for the mouse in the editor entirely.<br />
</li>
<li>Startup time is instant vs VS Code which takes 3-5 seconds on my machine.<br />
</li>
<li>SSH editing is miles better - the whole editor is in the terminal, no remote extension jank.<br />
</li>
<li>I understand my editor now. VS Code was a black box. Neovim config is just Lua I can read and modify.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">What is still annoying:</span><ul class="mycode_list"><li>Plugin ecosystem is powerful but inconsistent. Two plugins solving the same problem will have completely different config styles.<br />
</li>
<li>Debugging support still lags. DAP works but the ergonomics are rough compared to VS Code.<br />
</li>
<li>Every 3 months something breaks because a plugin changed its API.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Would I go back?</span> No. But I would not recommend it to someone who is not interested in spending time configuring their environment. It is a hobby as much as a tool.<br />
<br />
Using LazyVim as a base if anyone wants to know the starting point.]]></description>
			<content:encoded><![CDATA[Six months ago I made the switch. Here is an honest assessment without the hype.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What actually improved:</span><ul class="mycode_list"><li>Keyboard-only workflow is genuinely faster once muscle memory kicks in. I stopped reaching for the mouse in the editor entirely.<br />
</li>
<li>Startup time is instant vs VS Code which takes 3-5 seconds on my machine.<br />
</li>
<li>SSH editing is miles better - the whole editor is in the terminal, no remote extension jank.<br />
</li>
<li>I understand my editor now. VS Code was a black box. Neovim config is just Lua I can read and modify.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">What is still annoying:</span><ul class="mycode_list"><li>Plugin ecosystem is powerful but inconsistent. Two plugins solving the same problem will have completely different config styles.<br />
</li>
<li>Debugging support still lags. DAP works but the ergonomics are rough compared to VS Code.<br />
</li>
<li>Every 3 months something breaks because a plugin changed its API.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Would I go back?</span> No. But I would not recommend it to someone who is not interested in spending time configuring their environment. It is a hobby as much as a tool.<br />
<br />
Using LazyVim as a base if anyone wants to know the starting point.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Terminal setup thread - share your shell, prompt, and tools]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=83</link>
			<pubDate>Mon, 22 Jun 2026 12:55:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=83</guid>
			<description><![CDATA[What does your terminal actually look like and what are you running?<br />
<br />
<span style="font-weight: bold;" class="mycode_b">My current setup:</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Shell:</span> Zsh with a small set of plugins via <span style="font-weight: bold;" class="mycode_b">zinit</span> (faster startup than Oh My Zsh):<ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">zsh-autosuggestions</span> - suggests completions from history as you type, accept with right arrow<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">zsh-syntax-highlighting</span> - colours valid commands green, typos red before you run them<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">fzf</span> integration - fuzzy history search with Ctrl+R is genuinely transformative<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Prompt:</span> Starship - cross-shell, fast (written in Rust), shows git branch/status, language versions, exit codes. One config file, works the same in Zsh and Fish.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tools that replaced standard ones:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">eza</span> instead of <span style="font-family: monospace;" class="mycode_font">ls</span> - colours, git status icons, tree view<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">bat</span> instead of <span style="font-family: monospace;" class="mycode_font">cat</span> - syntax highlighting, line numbers, git diff integration<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">fd</span> instead of <span style="font-family: monospace;" class="mycode_font">find</span> - faster, saner defaults, respects .gitignore<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">ripgrep</span> instead of <span style="font-family: monospace;" class="mycode_font">grep</span> - significantly faster, also respects .gitignore<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">zoxide</span> instead of <span style="font-family: monospace;" class="mycode_font">cd</span> - learns your most visited directories, jump anywhere with <span style="font-family: monospace;" class="mycode_font">z project</span><br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Terminal emulator:</span> Ghostty - fast, supports ligatures, good default config.<br />
<br />
All config lives in a dotfiles repo and gets installed via a <span style="font-family: monospace;" class="mycode_font">stow</span>-based script. New machine setup takes about 10 minutes.<br />
<br />
What's your terminal stack?]]></description>
			<content:encoded><![CDATA[What does your terminal actually look like and what are you running?<br />
<br />
<span style="font-weight: bold;" class="mycode_b">My current setup:</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Shell:</span> Zsh with a small set of plugins via <span style="font-weight: bold;" class="mycode_b">zinit</span> (faster startup than Oh My Zsh):<ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">zsh-autosuggestions</span> - suggests completions from history as you type, accept with right arrow<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">zsh-syntax-highlighting</span> - colours valid commands green, typos red before you run them<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">fzf</span> integration - fuzzy history search with Ctrl+R is genuinely transformative<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Prompt:</span> Starship - cross-shell, fast (written in Rust), shows git branch/status, language versions, exit codes. One config file, works the same in Zsh and Fish.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Tools that replaced standard ones:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">eza</span> instead of <span style="font-family: monospace;" class="mycode_font">ls</span> - colours, git status icons, tree view<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">bat</span> instead of <span style="font-family: monospace;" class="mycode_font">cat</span> - syntax highlighting, line numbers, git diff integration<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">fd</span> instead of <span style="font-family: monospace;" class="mycode_font">find</span> - faster, saner defaults, respects .gitignore<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">ripgrep</span> instead of <span style="font-family: monospace;" class="mycode_font">grep</span> - significantly faster, also respects .gitignore<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">zoxide</span> instead of <span style="font-family: monospace;" class="mycode_font">cd</span> - learns your most visited directories, jump anywhere with <span style="font-family: monospace;" class="mycode_font">z project</span><br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Terminal emulator:</span> Ghostty - fast, supports ligatures, good default config.<br />
<br />
All config lives in a dotfiles repo and gets installed via a <span style="font-family: monospace;" class="mycode_font">stow</span>-based script. New machine setup takes about 10 minutes.<br />
<br />
What's your terminal stack?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Vim motions - are they actually worth learning?]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=82</link>
			<pubDate>Mon, 22 Jun 2026 12:47:41 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=82</guid>
			<description><![CDATA[Hot take: yes, but not for the reason most people claim.<br />
<br />
The usual argument for Vim motions is speed - moving without a mouse, text objects, composable commands. The speed argument is mostly a distraction. The real value is precision - being able to express exactly what you want to do in terms of text structure rather than cursor position.<br />
<br />
"Delete everything inside the parentheses" as <span style="font-family: monospace;" class="mycode_font">di(</span> is faster than click, drag, delete - but more importantly, it's less error-prone. You're not approximating with a cursor, you're describing the operation.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Things worth learning, roughly in order:</span><ul class="mycode_list"><li>Basic movement: <span style="font-family: monospace;" class="mycode_font">hjkl</span>, <span style="font-family: monospace;" class="mycode_font">w/b/e</span> (word), <span style="font-family: monospace;" class="mycode_font">0/&#36;</span> (line start/end), <span style="font-family: monospace;" class="mycode_font">gg/G</span> (file start/end)<br />
</li>
<li>The operator + motion pattern: <span style="font-family: monospace;" class="mycode_font">d</span>elete, <span style="font-family: monospace;" class="mycode_font">c</span>hange, <span style="font-family: monospace;" class="mycode_font">y</span>ank + any motion<br />
</li>
<li>Text objects: <span style="font-family: monospace;" class="mycode_font">iw</span> (inner word), <span style="font-family: monospace;" class="mycode_font">i"/i'</span> (inside quotes), <span style="font-family: monospace;" class="mycode_font">i(/i{</span> (inside brackets)<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">f/F</span> and <span style="font-family: monospace;" class="mycode_font">t/T</span> to jump to characters on the line<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">.</span> to repeat the last change - this one is secretly the most powerful<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">How to actually learn them:</span> Install a Vim plugin in your current editor (VSCode Vim, JetBrains IdeaVim) and use it for a week. You'll be slower at first. Push through. By week two it starts to click.<br />
<br />
You don't need to switch to Neovim or abandon your IDE. The motions work in almost every editor with a plugin.<br />
<br />
Using Vim motions currently? What's your setup?]]></description>
			<content:encoded><![CDATA[Hot take: yes, but not for the reason most people claim.<br />
<br />
The usual argument for Vim motions is speed - moving without a mouse, text objects, composable commands. The speed argument is mostly a distraction. The real value is precision - being able to express exactly what you want to do in terms of text structure rather than cursor position.<br />
<br />
"Delete everything inside the parentheses" as <span style="font-family: monospace;" class="mycode_font">di(</span> is faster than click, drag, delete - but more importantly, it's less error-prone. You're not approximating with a cursor, you're describing the operation.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Things worth learning, roughly in order:</span><ul class="mycode_list"><li>Basic movement: <span style="font-family: monospace;" class="mycode_font">hjkl</span>, <span style="font-family: monospace;" class="mycode_font">w/b/e</span> (word), <span style="font-family: monospace;" class="mycode_font">0/&#36;</span> (line start/end), <span style="font-family: monospace;" class="mycode_font">gg/G</span> (file start/end)<br />
</li>
<li>The operator + motion pattern: <span style="font-family: monospace;" class="mycode_font">d</span>elete, <span style="font-family: monospace;" class="mycode_font">c</span>hange, <span style="font-family: monospace;" class="mycode_font">y</span>ank + any motion<br />
</li>
<li>Text objects: <span style="font-family: monospace;" class="mycode_font">iw</span> (inner word), <span style="font-family: monospace;" class="mycode_font">i"/i'</span> (inside quotes), <span style="font-family: monospace;" class="mycode_font">i(/i{</span> (inside brackets)<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">f/F</span> and <span style="font-family: monospace;" class="mycode_font">t/T</span> to jump to characters on the line<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">.</span> to repeat the last change - this one is secretly the most powerful<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">How to actually learn them:</span> Install a Vim plugin in your current editor (VSCode Vim, JetBrains IdeaVim) and use it for a week. You'll be slower at first. Push through. By week two it starts to click.<br />
<br />
You don't need to switch to Neovim or abandon your IDE. The motions work in almost every editor with a plugin.<br />
<br />
Using Vim motions currently? What's your setup?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Self-hosting at home - what services are you running?]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=81</link>
			<pubDate>Mon, 22 Jun 2026 12:41:20 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=81</guid>
			<description><![CDATA[Self-hosting has never been more accessible. Between cheap SBCs, Docker Compose making deployment trivial, and Cloudflare Tunnels letting you expose services without opening ports, there's very little reason to keep paying for SaaS versions of things you can run yourself.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What I'm currently running on a Pi 4 + an old mini PC:</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Vaultwarden</span> - Bitwarden-compatible password manager. Self-hosted, works with all the Bitwarden clients. The reason I trust it: the server never sees your plaintext passwords (client-side encryption), so even if my server is compromised, credentials are safe.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Immich</span> - Google Photos replacement. Auto-backup from phones, face recognition, timeline view. Has come a long way in the last year.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Jellyfin</span> - Media server. Plex alternative with no account required and no paid tier. Transcoding on a Pi is limited but on anything with a decent iGPU it handles hardware acceleration well.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Miniflux</span> - Minimal RSS reader with a good web UI. I pipe everything I want to read through RSS so I have one place to check instead of visiting 20 sites.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Uptime Kuma</span> - Self-hosted uptime monitoring. Pings my services and notifies via Telegram if something goes down.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Caddy</span> - Reverse proxy. Automatic HTTPS, clean config syntax, much simpler than Nginx for this use case.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">How I expose services externally:</span> Cloudflare Tunnel. No open ports on the router, no dynamic DNS headaches, HTTPS handled automatically. The free tier is generous for personal use.<br />
<br />
What services are you self-hosting? What would you recommend?]]></description>
			<content:encoded><![CDATA[Self-hosting has never been more accessible. Between cheap SBCs, Docker Compose making deployment trivial, and Cloudflare Tunnels letting you expose services without opening ports, there's very little reason to keep paying for SaaS versions of things you can run yourself.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What I'm currently running on a Pi 4 + an old mini PC:</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Vaultwarden</span> - Bitwarden-compatible password manager. Self-hosted, works with all the Bitwarden clients. The reason I trust it: the server never sees your plaintext passwords (client-side encryption), so even if my server is compromised, credentials are safe.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Immich</span> - Google Photos replacement. Auto-backup from phones, face recognition, timeline view. Has come a long way in the last year.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Jellyfin</span> - Media server. Plex alternative with no account required and no paid tier. Transcoding on a Pi is limited but on anything with a decent iGPU it handles hardware acceleration well.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Miniflux</span> - Minimal RSS reader with a good web UI. I pipe everything I want to read through RSS so I have one place to check instead of visiting 20 sites.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Uptime Kuma</span> - Self-hosted uptime monitoring. Pings my services and notifies via Telegram if something goes down.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Caddy</span> - Reverse proxy. Automatic HTTPS, clean config syntax, much simpler than Nginx for this use case.<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">How I expose services externally:</span> Cloudflare Tunnel. No open ports on the router, no dynamic DNS headaches, HTTPS handled automatically. The free tier is generous for personal use.<br />
<br />
What services are you self-hosting? What would you recommend?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[systemd services - writing and managing your own .service files]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=103</link>
			<pubDate>Mon, 22 Jun 2026 12:25:36 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=103</guid>
			<description><![CDATA[systemd is everywhere on modern Linux and understanding how to write service files means you can run any process reliably as a system service with auto-restart, logging, and dependency management.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">A minimal service file</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>[Unit]<br />
Description=My Application<br />
After=network.target<br />
<br />
[Service]<br />
Type=simple<br />
User=myapp<br />
WorkingDirectory=/opt/myapp<br />
ExecStart=/opt/myapp/myapp --config /etc/myapp/config.yml<br />
Restart=always<br />
RestartSec=5<br />
<br />
[Install]<br />
WantedBy=multi-user.target</code></div></div><br />
Save to <span style="font-family: monospace;" class="mycode_font">/etc/systemd/system/myapp.service</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Essential commands</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo systemctl daemon-reload&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# reload after editing a .service file<br />
sudo systemctl enable myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# start on boot<br />
sudo systemctl start myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # start now<br />
sudo systemctl restart myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # restart<br />
sudo systemctl status myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# check status + recent logs<br />
sudo journalctl -u myapp -f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# follow live logs<br />
sudo journalctl -u myapp --since today # logs from today</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Useful Service options</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Environment=NODE_ENV=production&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# set env vars<br />
EnvironmentFile=/etc/myapp/.env&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# load from file<br />
StandardOutput=journal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # send stdout to journald<br />
StandardError=journal<br />
LimitNOFILE=65535&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# raise file descriptor limit<br />
PrivateTmp=yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # isolated /tmp<br />
NoNewPrivileges=yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# security hardening</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Type values that matter:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">simple</span> - process started by ExecStart IS the service<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">forking</span> - process forks and parent exits (old daemon style)<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">notify</span> - process signals systemd when ready (more reliable than simple for slow-starting services)<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Restart policies:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">always</span> - always restart, regardless of exit code<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">on-failure</span> - restart only on non-zero exit<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">on-abnormal</span> - restart on signal/timeout/watchdog, not clean exit<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[systemd is everywhere on modern Linux and understanding how to write service files means you can run any process reliably as a system service with auto-restart, logging, and dependency management.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">A minimal service file</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>[Unit]<br />
Description=My Application<br />
After=network.target<br />
<br />
[Service]<br />
Type=simple<br />
User=myapp<br />
WorkingDirectory=/opt/myapp<br />
ExecStart=/opt/myapp/myapp --config /etc/myapp/config.yml<br />
Restart=always<br />
RestartSec=5<br />
<br />
[Install]<br />
WantedBy=multi-user.target</code></div></div><br />
Save to <span style="font-family: monospace;" class="mycode_font">/etc/systemd/system/myapp.service</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Essential commands</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo systemctl daemon-reload&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# reload after editing a .service file<br />
sudo systemctl enable myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# start on boot<br />
sudo systemctl start myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # start now<br />
sudo systemctl restart myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # restart<br />
sudo systemctl status myapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# check status + recent logs<br />
sudo journalctl -u myapp -f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# follow live logs<br />
sudo journalctl -u myapp --since today # logs from today</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Useful Service options</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Environment=NODE_ENV=production&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# set env vars<br />
EnvironmentFile=/etc/myapp/.env&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# load from file<br />
StandardOutput=journal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # send stdout to journald<br />
StandardError=journal<br />
LimitNOFILE=65535&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# raise file descriptor limit<br />
PrivateTmp=yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # isolated /tmp<br />
NoNewPrivileges=yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# security hardening</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">Type values that matter:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">simple</span> - process started by ExecStart IS the service<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">forking</span> - process forks and parent exits (old daemon style)<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">notify</span> - process signals systemd when ready (more reliable than simple for slow-starting services)<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Restart policies:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">always</span> - always restart, regardless of exit code<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">on-failure</span> - restart only on non-zero exit<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">on-abnormal</span> - restart on signal/timeout/watchdog, not clean exit<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Linux permissions explained - chmod, chown, and when things go wrong]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=102</link>
			<pubDate>Mon, 22 Jun 2026 12:15:07 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=102</guid>
			<description><![CDATA[File permissions trip up everyone at some point. Here's a solid mental model.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">The permission model</span><br />
Every file has three permission sets: <span style="font-weight: bold;" class="mycode_b">owner</span>, <span style="font-weight: bold;" class="mycode_b">group</span>, <span style="font-weight: bold;" class="mycode_b">others</span>. Each set has three bits: <span style="font-weight: bold;" class="mycode_b">read (4)</span>, <span style="font-weight: bold;" class="mycode_b">write (2)</span>, <span style="font-weight: bold;" class="mycode_b">execute (1)</span>.<br />
<br />
<span style="font-family: monospace;" class="mycode_font">-rwxr-xr-- 1 alice developers 4096 Jun 22 file.sh</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">rwx</span> = owner (alice) can read, write, execute<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">r-x</span> = group (developers) can read and execute, not write<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">r--</span> = others can only read<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">chmod - changing permissions</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>chmod 755 file.sh&nbsp;&nbsp;&nbsp;&nbsp; # rwxr-xr-x (owner all, group+others read+execute)<br />
chmod 644 file.txt&nbsp;&nbsp;&nbsp;&nbsp; # rw-r--r-- (owner read+write, others read only)<br />
chmod 600 secret.key&nbsp;&nbsp; # rw------- (owner only, common for SSH keys)<br />
chmod +x script.sh&nbsp;&nbsp;&nbsp;&nbsp; # add execute for everyone<br />
chmod -w file.txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# remove write for everyone<br />
chmod -R 755 /var/www&nbsp;&nbsp;# recursive</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">chown - changing ownership</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>chown alice file.txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # change owner<br />
chown alice:developers file.txt # change owner and group<br />
chown -R www-data:www-data /var/www&nbsp;&nbsp;# recursive (common for web servers)</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">The execute bit on directories</span><br />
For directories, execute means "can enter" (traverse). A directory with <span style="font-family: monospace;" class="mycode_font">r--</span> but no <span style="font-family: monospace;" class="mycode_font">x</span> lets you list contents but not access files inside. Usually you want <span style="font-family: monospace;" class="mycode_font">r-x</span> together on directories.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Common permission mistakes:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">chmod 777</span> on web-served files - never. World-writable is a security hole.<br />
</li>
<li>Wrong owner on web root (nexusclade instead of www-data) - PHP-FPM can't write uploads<br />
</li>
<li>SSH private key too permissive - SSH refuses keys that aren't <span style="font-family: monospace;" class="mycode_font">600</span><br />
</li>
<li>Forgetting <span style="font-family: monospace;" class="mycode_font">-R</span> on a directory change and wondering why subdirectory access still fails<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[File permissions trip up everyone at some point. Here's a solid mental model.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">The permission model</span><br />
Every file has three permission sets: <span style="font-weight: bold;" class="mycode_b">owner</span>, <span style="font-weight: bold;" class="mycode_b">group</span>, <span style="font-weight: bold;" class="mycode_b">others</span>. Each set has three bits: <span style="font-weight: bold;" class="mycode_b">read (4)</span>, <span style="font-weight: bold;" class="mycode_b">write (2)</span>, <span style="font-weight: bold;" class="mycode_b">execute (1)</span>.<br />
<br />
<span style="font-family: monospace;" class="mycode_font">-rwxr-xr-- 1 alice developers 4096 Jun 22 file.sh</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">rwx</span> = owner (alice) can read, write, execute<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">r-x</span> = group (developers) can read and execute, not write<br />
</li>
<li><span style="font-family: monospace;" class="mycode_font">r--</span> = others can only read<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">chmod - changing permissions</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>chmod 755 file.sh&nbsp;&nbsp;&nbsp;&nbsp; # rwxr-xr-x (owner all, group+others read+execute)<br />
chmod 644 file.txt&nbsp;&nbsp;&nbsp;&nbsp; # rw-r--r-- (owner read+write, others read only)<br />
chmod 600 secret.key&nbsp;&nbsp; # rw------- (owner only, common for SSH keys)<br />
chmod +x script.sh&nbsp;&nbsp;&nbsp;&nbsp; # add execute for everyone<br />
chmod -w file.txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# remove write for everyone<br />
chmod -R 755 /var/www&nbsp;&nbsp;# recursive</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">chown - changing ownership</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>chown alice file.txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # change owner<br />
chown alice:developers file.txt # change owner and group<br />
chown -R www-data:www-data /var/www&nbsp;&nbsp;# recursive (common for web servers)</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">The execute bit on directories</span><br />
For directories, execute means "can enter" (traverse). A directory with <span style="font-family: monospace;" class="mycode_font">r--</span> but no <span style="font-family: monospace;" class="mycode_font">x</span> lets you list contents but not access files inside. Usually you want <span style="font-family: monospace;" class="mycode_font">r-x</span> together on directories.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Common permission mistakes:</span><ul class="mycode_list"><li><span style="font-family: monospace;" class="mycode_font">chmod 777</span> on web-served files - never. World-writable is a security hole.<br />
</li>
<li>Wrong owner on web root (nexusclade instead of www-data) - PHP-FPM can't write uploads<br />
</li>
<li>SSH private key too permissive - SSH refuses keys that aren't <span style="font-family: monospace;" class="mycode_font">600</span><br />
</li>
<li>Forgetting <span style="font-family: monospace;" class="mycode_font">-R</span> on a directory change and wondering why subdirectory access still fails<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Share your terminal setup / dotfiles]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=38</link>
			<pubDate>Sun, 21 Jun 2026 09:42:20 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=38</guid>
			<description><![CDATA[The terminal is where most of us live. Share your setup - shell, prompt, tools, colour scheme, whatever you have tuned.<br />
<br />
Mine:<ul class="mycode_list"><li>Shell: fish (tried zsh for years, fish's autosuggestions and syntax highlighting out of the box won me over)<br />
</li>
<li>Terminal emulator: Alacritty - GPU accelerated, fast, config in TOML<br />
</li>
<li>Prompt: Starship - shows git branch, exit codes, language versions, fast enough to not notice the overhead<br />
</li>
<li>Editor: Neovim with lazy.nvim - took a weekend to configure properly but I haven't touched VSCode since<br />
</li>
<li>Multiplexer: tmux with a minimal status bar, prefix remapped to Ctrl-A<br />
</li>
<li>Colour scheme: Catppuccin Mocha everywhere I can apply it<br />
</li>
</ul>
<br />
Dotfiles repo is the best gift you can give your future self when setting up a new machine. If yours are on GitHub, drop the link.]]></description>
			<content:encoded><![CDATA[The terminal is where most of us live. Share your setup - shell, prompt, tools, colour scheme, whatever you have tuned.<br />
<br />
Mine:<ul class="mycode_list"><li>Shell: fish (tried zsh for years, fish's autosuggestions and syntax highlighting out of the box won me over)<br />
</li>
<li>Terminal emulator: Alacritty - GPU accelerated, fast, config in TOML<br />
</li>
<li>Prompt: Starship - shows git branch, exit codes, language versions, fast enough to not notice the overhead<br />
</li>
<li>Editor: Neovim with lazy.nvim - took a weekend to configure properly but I haven't touched VSCode since<br />
</li>
<li>Multiplexer: tmux with a minimal status bar, prefix remapped to Ctrl-A<br />
</li>
<li>Colour scheme: Catppuccin Mocha everywhere I can apply it<br />
</li>
</ul>
<br />
Dotfiles repo is the best gift you can give your future self when setting up a new machine. If yours are on GitHub, drop the link.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[What distro are you running and why?]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=37</link>
			<pubDate>Sun, 21 Jun 2026 09:42:20 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=37</guid>
			<description><![CDATA[Simple question with never-simple answers. What are you running as your daily driver and what keeps you there?<br />
<br />
I'm on Fedora 40 on my main machine. The reason I stay is Fedora's update cadence - new kernel and tooling fast enough that things don't feel stale, but without the chaos of a pure rolling release. The DNF package manager is solid, SELinux enforcement by default is a good habit to be in, and the GNOME experience is genuinely polished here.<br />
<br />
On my servers: Debian 12 Bookworm everywhere. No nostalgia, just reliability. Packages are older but that's fine for services running unattended.<br />
<br />
What are you on? And bonus question: have you ever distro-hopped extensively and eventually settled somewhere, or are you still looking?]]></description>
			<content:encoded><![CDATA[Simple question with never-simple answers. What are you running as your daily driver and what keeps you there?<br />
<br />
I'm on Fedora 40 on my main machine. The reason I stay is Fedora's update cadence - new kernel and tooling fast enough that things don't feel stale, but without the chaos of a pure rolling release. The DNF package manager is solid, SELinux enforcement by default is a good habit to be in, and the GNOME experience is genuinely polished here.<br />
<br />
On my servers: Debian 12 Bookworm everywhere. No nostalgia, just reliability. Packages are older but that's fine for services running unattended.<br />
<br />
What are you on? And bonus question: have you ever distro-hopped extensively and eventually settled somewhere, or are you still looking?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Guide] Choosing a Linux Distro - Quick Reference]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=36</link>
			<pubDate>Sun, 21 Jun 2026 09:42:20 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=36</guid>
			<description><![CDATA[There is no single best distro. Here is a quick breakdown by use case.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">For beginners / switching from Windows</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Linux Mint</span> - Familiar layout, rock stable, excellent hardware support, great first distro<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Ubuntu (LTS)</span> - Largest community, most Stack Overflow answers, good driver support<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pop!_OS</span> - Ubuntu base with better out-of-box Nvidia support, clean GNOME fork<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For intermediate users</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Fedora</span> - Cutting edge but stable, excellent for developers, ships stock GNOME<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Debian Stable</span> - Extremely stable, excellent for servers, slightly older packages<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">openSUSE Tumbleweed</span> - Rolling release, great tooling (YaST), good KDE experience<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For advanced / power users</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Arch Linux</span> - Install everything yourself, AUR has almost anything, great wiki<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Gentoo</span> - Compile everything, maximum control, significant time investment<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">NixOS</span> - Declarative config, reproducible systems, steep learning curve, powerful<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For servers</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Debian</span> - Default choice for many, minimal, stable, excellent package ecosystem<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Ubuntu Server (LTS)</span> - Good cloud integration, familiar to many devs<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Rocky Linux / AlmaLinux</span> - RHEL-compatible, good for enterprise environments<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For security / privacy</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Kali Linux</span> - Penetration testing tooling pre-installed (not a daily driver)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Tails</span> - Amnesic live OS routed through Tor<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Whonix</span> - Two-VM isolation model for anonymity<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[There is no single best distro. Here is a quick breakdown by use case.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">For beginners / switching from Windows</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Linux Mint</span> - Familiar layout, rock stable, excellent hardware support, great first distro<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Ubuntu (LTS)</span> - Largest community, most Stack Overflow answers, good driver support<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pop!_OS</span> - Ubuntu base with better out-of-box Nvidia support, clean GNOME fork<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For intermediate users</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Fedora</span> - Cutting edge but stable, excellent for developers, ships stock GNOME<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Debian Stable</span> - Extremely stable, excellent for servers, slightly older packages<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">openSUSE Tumbleweed</span> - Rolling release, great tooling (YaST), good KDE experience<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For advanced / power users</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Arch Linux</span> - Install everything yourself, AUR has almost anything, great wiki<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Gentoo</span> - Compile everything, maximum control, significant time investment<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">NixOS</span> - Declarative config, reproducible systems, steep learning curve, powerful<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For servers</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Debian</span> - Default choice for many, minimal, stable, excellent package ecosystem<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Ubuntu Server (LTS)</span> - Good cloud integration, familiar to many devs<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Rocky Linux / AlmaLinux</span> - RHEL-compatible, good for enterprise environments<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">For security / privacy</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Kali Linux</span> - Penetration testing tooling pre-installed (not a daily driver)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Tails</span> - Amnesic live OS routed through Tor<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Whonix</span> - Two-VM isolation model for anonymity<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Rules] Operating Systems & Linux — Forum Rules]]></title>
			<link>https://talkativeturtles.club/showthread.php?tid=8</link>
			<pubDate>Sun, 21 Jun 2026 09:34:07 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://talkativeturtles.club/member.php?action=profile&uid=1">Zero Two</a>]]></dc:creator>
			<guid isPermaLink="false">https://talkativeturtles.club/showthread.php?tid=8</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Operating Systems &amp; Linux</span> covers Linux distros, BSD, Windows, macOS, kernels, shells, and system administration.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Posting Rules:</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">State your OS and version</span> in every support thread. "Ubuntu" is not enough; "Ubuntu 24.04 LTS on a ThinkPad X1 Carbon Gen 10" is.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Use [code] tags for commands and terminal output.</span> Please paste text, not screenshots of text.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Include error messages in full.</span> Truncated logs hide the actual problem.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">No OS wars.</span> Debates about which OS is "best" are fine when civil; flame wars are not. Mockery of any OS or its users will be moderated.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mark threads solved</span> with the solution posted so others can find it later.<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Operating Systems &amp; Linux</span> covers Linux distros, BSD, Windows, macOS, kernels, shells, and system administration.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Posting Rules:</span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">State your OS and version</span> in every support thread. "Ubuntu" is not enough; "Ubuntu 24.04 LTS on a ThinkPad X1 Carbon Gen 10" is.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Use [code] tags for commands and terminal output.</span> Please paste text, not screenshots of text.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Include error messages in full.</span> Truncated logs hide the actual problem.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">No OS wars.</span> Debates about which OS is "best" are fine when civil; flame wars are not. Mockery of any OS or its users will be moderated.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mark threads solved</span> with the solution posted so others can find it later.<br />
</li>
</ul>
]]></content:encoded>
		</item>
	</channel>
</rss>