<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Giving less Fucks</title>
	<atom:link href="https://givinglessfucks.com/feed/" rel="self" type="application/rss+xml"/>
	<link>https://givinglessfucks.com</link>
	<description>Spending my fucks wisely!</description>
	<lastBuildDate>Fri, 07 Aug 2026 09:58:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>Firefox protocol display</title>
		<link>https://givinglessfucks.com/firefox-protocol-display/</link>
					<comments>https://givinglessfucks.com/firefox-protocol-display/#respond</comments>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Thu, 06 Aug 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[Nerd]]></category>
		<guid isPermaLink="false">https://givinglessfucks.com/?p=191</guid>

					<description><![CDATA[One of the more recent updates in Firefox removed the https:// from being shown in the URL bar. Now I didn&#8217;t notice this at first, however once it was pointed out, I want this back. We can get it back, follow these steps, and get https:// back in your URL bar.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">One of the more recent updates in Firefox removed the <code>https://</code> from being shown in the URL bar. Now I didn&#8217;t notice this at first, however once it was pointed out, I want this back.</p>



<p class="wp-block-paragraph">We can get it back, follow these steps, and get <code>https://</code> back in your URL bar.</p>



<ol class="wp-block-list">
<li>Go to <code>about:config</code></li>



<li>Search for <code>browser.urlbar.trimurls</code></li>



<li>Change the setting to false</li>



<li>Enjoy <code>https://</code> showing in your URL bar</li>
</ol>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://givinglessfucks.com/firefox-protocol-display/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Build Your Own Private VPN with Ad-Blocking DNS (Pi-hole + WireGuard)</title>
		<link>https://givinglessfucks.com/private-vpn-with-adblock/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[Technologist]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=168</guid>

					<description><![CDATA[If you&#8217;ve ever wanted your own personal &#8220;internet filter&#8221; that blocks ads and trackers no matter where you are — at home, on coffee shop Wi-Fi, or roaming on your phone — this guide is for you. We&#8217;re going to set up a small Linux server that does two things: By the end, your server [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you&#8217;ve ever wanted your own personal &#8220;internet filter&#8221; that blocks ads and trackers no matter where you are — at home, on coffee shop Wi-Fi, or roaming on your phone — this guide is for you.</p>



<p class="wp-block-paragraph">We&#8217;re going to set up a small Linux server that does two things:</p>



<ol class="wp-block-list">
<li><strong>Pi-hole</strong> — blocks ads and trackers for any device that uses it as a DNS server.</li>



<li><strong>WireGuard</strong> (via the friendly installer <strong>PiVPN</strong>) — creates a private, encrypted tunnel from your devices back to this server, so you can use Pi-hole&#8217;s filtering from anywhere, and the server itself isn&#8217;t directly exposed to the internet for anything except the VPN.</li>
</ol>



<p class="wp-block-paragraph">By the end, your server will quietly sit there doing one job: only devices connected through your VPN can use it, and everything they look up gets filtered through Pi-hole.</p>



<p class="wp-block-paragraph">This guide assumes you&#8217;re starting with a fresh installation of a Debian-based Linux distribution (such as Ubuntu Server or Raspberry Pi OS) and that you can access it over SSH or a terminal.</p>



<h2 class="wp-block-heading">What you&#8217;ll need</h2>



<ul class="wp-block-list">
<li>A small always-on computer or server (a Raspberry Pi, an old laptop, or a cheap cloud VPS all work)</li>



<li>A fresh install of a Debian/Ubuntu-based OS</li>



<li>Basic comfort typing commands into a terminal (we&#8217;ll explain each one)</li>



<li>About 30–45 minutes</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Step 1: Update everything</h2>



<p class="wp-block-paragraph">Before installing anything new, make sure your system&#8217;s software is fully up to date. This patches security holes and avoids weird compatibility issues later.</p>



<pre class="wp-block-code"><code>sudo apt update
sudo apt full-upgrade -y
</code></pre>



<p class="wp-block-paragraph"><code>apt update</code> refreshes the list of available software versions, and <code>full-upgrade</code> actually installs the newest versions, including any that need to remove or replace older packages.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Step 2: Create a personal user account</h2>



<p class="wp-block-paragraph">Most Linux servers come with a <code>root</code> account that can do absolutely anything — including break absolutely anything. Best practice is to create a normal user account for yourself and use <code>sudo</code> (which temporarily grants admin rights) only when needed.</p>



<p class="wp-block-paragraph">Create a new user, replacing <code>&lt;username&gt;</code> with whatever name you&#8217;d like:</p>



<pre class="wp-block-code"><code>sudo adduser &lt;username&gt;
</code></pre>



<p class="wp-block-paragraph">You&#8217;ll be asked to set a password and optionally fill in some details (these can be left blank).</p>



<p class="wp-block-paragraph">Now add that user to the <code>sudo</code> group, which allows it to run admin commands:</p>



<pre class="wp-block-code"><code>sudo usermod -aG sudo &lt;username&gt;
</code></pre>



<h3 class="wp-block-heading">Switch to your new account and test it</h3>



<pre class="wp-block-code"><code>su - &lt;username&gt;
sudo apt update
</code></pre>



<p class="wp-block-paragraph">If <code>sudo apt update</code> runs without complaining about permissions (it will ask for your password the first time), everything&#8217;s working correctly. From now on, do all your work logged in as this user, not as <code>root</code>.</p>



<h3 class="wp-block-heading">(Optional but recommended) Disable the root account</h3>



<p class="wp-block-paragraph">Since you now have a sudo-capable user, there&#8217;s no need to log in as <code>root</code> directly. Disabling direct root logins is a simple security improvement:</p>



<pre class="wp-block-code"><code>sudo passwd -l root
</code></pre>



<p class="wp-block-paragraph">This &#8220;locks&#8221; the root account so nobody can log in with a root password. Your <code>&lt;username&gt;</code> account can still use <code>sudo</code> to perform admin tasks as needed.</p>



<p class="wp-block-paragraph">If you ever need to re-enable it (for troubleshooting, for example), you can run:</p>



<pre class="wp-block-code"><code>sudo passwd -u root
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Step 3: Install Pi-hole</h2>



<p class="wp-block-paragraph">Pi-hole is the piece that blocks ads and trackers. It works by acting as your network&#8217;s DNS server — when a device asks &#8220;what&#8217;s the address for adserver.example.com?&#8221;, Pi-hole checks it against block lists and refuses to answer if it&#8217;s a known ad or tracker domain.</p>



<p class="wp-block-paragraph">Install it with the official one-line installer:</p>



<pre class="wp-block-code"><code>curl -sSL https://install.pi-hole.net | bash
</code></pre>



<p class="wp-block-paragraph">This launches an interactive setup wizard. Walk through the prompts — the defaults are sensible for most people. Pay attention to two things near the end:</p>



<ul class="wp-block-list">
<li><strong>The admin password</strong> it generates (or lets you set) — you&#8217;ll need this to log into the Pi-hole web dashboard.</li>



<li><strong>The upstream DNS provider</strong> you choose — this is the DNS server Pi-hole forwards <em>allowed</em> requests to. If you plan to follow the optional Unbound step below, don&#8217;t worry too much about this choice now; we&#8217;ll point Pi-hole at Unbound afterward.</li>
</ul>



<p class="wp-block-paragraph">If you&#8217;d prefer to read through the full official instructions first, they&#8217;re available on the <a href="https://docs.pi-hole.net/">Pi-hole website</a>.</p>



<p class="wp-block-paragraph">Once installed, you can reach the Pi-hole dashboard at <code>http://&lt;your-server-ip&gt;/admin</code> (only from devices on your VPN once we finish setting things up).</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Step 4 (Optional): Add Unbound for fully private DNS lookups</h2>



<p class="wp-block-paragraph">By default, Pi-hole forwards the DNS lookups it doesn&#8217;t block to an upstream provider like Cloudflare or Google. That&#8217;s fine, but it means those providers can still see which sites you&#8217;re visiting (even if your ISP can&#8217;t).</p>



<p class="wp-block-paragraph"><strong>Unbound</strong> is a small program that lets your server look up domain names directly from the source — talking straight to the authoritative DNS servers for each website, rather than going through a third-party DNS provider. This step is entirely optional, but it&#8217;s a nice privacy upgrade.</p>



<h3 class="wp-block-heading">Install Unbound</h3>



<pre class="wp-block-code"><code>sudo apt install unbound
</code></pre>



<h3 class="wp-block-heading">Create a configuration file for Pi-hole to use</h3>



<p class="wp-block-paragraph">Create a new file at <code>/etc/unbound/unbound.conf.d/pi-hole.conf</code>:</p>



<pre class="wp-block-code"><code>sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf
</code></pre>



<p class="wp-block-paragraph">Paste in the following configuration, then save and exit (in <code>nano</code>, press <code>Ctrl+O</code> to save and <code>Ctrl+X</code> to exit):</p>



<pre class="wp-block-code"><code>server:
    # If no logfile is specified, syslog is used
    # logfile: "/var/log/unbound/unbound.log"
    verbosity: 0

    interface: 127.0.0.1
    port: 5335
    do-ip4: yes
    do-udp: yes
    do-tcp: yes

    # May be set to no if you don't have IPv6 connectivity
    do-ip6: yes

    # You want to leave this to no unless you have *native* IPv6. With 6to4 and
    # Teredo tunnels your web browser should favor IPv4 for the same reasons
    prefer-ip6: no

    # Use this only when you downloaded the list of primary root servers!
    # If you use the default dns-root-data package, unbound will find it automatically
    #root-hints: "/var/lib/unbound/root.hints"

    # Trust glue only if it is within the server's authority
    harden-glue: yes

    # Require DNSSEC data for trust-anchored zones, if such data is absent, the zone becomes BOGUS
    harden-dnssec-stripped: yes

    # Don't use Capitalization randomization as it is known to cause DNSSEC issues sometimes
    use-caps-for-id: no

    # Reduce EDNS reassembly buffer size to avoid issues with fragmented UDP packets
    edns-buffer-size: 1232

    # Perform prefetching of close-to-expired cache entries for frequently queried domains
    prefetch: yes

    # One thread is sufficient for most small setups
    num-threads: 1

    # Ensure the kernel buffer is large enough to avoid losing messages during traffic spikes
    so-rcvbuf: 1m

    # Keep local network addresses private
    private-address: 192.168.0.0/16
    private-address: 169.254.0.0/16
    private-address: 172.16.0.0/12
    private-address: 10.0.0.0/8
    private-address: fd00::/8
    private-address: fe80::/10

    # Prevent reverse lookups for non-public IP ranges (per RFC6303)
    private-address: 192.0.2.0/24
    private-address: 198.51.100.0/24
    private-address: 203.0.113.0/24
    private-address: 255.255.255.255/32
    private-address: 2001:db8::/32
</code></pre>



<p class="wp-block-paragraph">Now restart Unbound so it picks up the new configuration:</p>



<pre class="wp-block-code"><code>sudo systemctl restart unbound
</code></pre>



<p class="wp-block-paragraph">You can do a quick test to make sure it&#8217;s working:</p>



<pre class="wp-block-code"><code>dig pi-hole.net @127.0.0.1 -p 5335
</code></pre>



<p class="wp-block-paragraph">If you get back a response with an <code>ANSWER SECTION</code>, Unbound is working correctly.</p>



<h3 class="wp-block-heading">Point Pi-hole at Unbound</h3>



<p class="wp-block-paragraph">Now tell Pi-hole to send its lookups to Unbound instead of an external provider:</p>



<ol class="wp-block-list">
<li>Open the Pi-hole dashboard (<code>http://&lt;your-server-ip>/admin</code>) and log in.</li>



<li>Go to <strong>Settings → DNS</strong>.</li>



<li>Under <strong>Upstream DNS Servers</strong>, untick any pre-selected providers (like Google or Cloudflare).</li>



<li>Tick <strong>Custom 1 (IPv4)</strong> and enter: <code>127.0.0.1#5335</code></li>



<li>Scroll down and click <strong>Save</strong>.</li>
</ol>



<p class="wp-block-paragraph">Pi-hole will now use Unbound for any lookups that aren&#8217;t blocked, keeping your DNS queries private end-to-end.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Step 5: Install WireGuard using PiVPN</h2>



<p class="wp-block-paragraph"><strong>WireGuard</strong> is a modern, fast, and secure VPN protocol. <strong>PiVPN</strong> is a friendly installer script that sets up WireGuard for you and handles generating client configurations — without it, configuring WireGuard by hand involves a fair bit of manual key management.</p>



<p class="wp-block-paragraph">Install it with:</p>



<pre class="wp-block-code"><code>curl -L https://install.pivpn.io | bash
</code></pre>



<p class="wp-block-paragraph">This also launches an interactive installer. A few notes on the prompts:</p>



<ul class="wp-block-list">
<li><strong>It will automatically detect your existing Pi-hole installation</strong> and offer to configure your VPN clients to use Pi-hole for DNS automatically — say yes to this.</li>



<li>You&#8217;ll be asked to confirm the <strong>public IP address or domain name</strong> your devices will use to reach this server. If your server doesn&#8217;t have a static IP (most home internet connections don&#8217;t), consider setting up a free dynamic DNS hostname (e.g. via DuckDNS or No-IP) so the address doesn&#8217;t change on you.</li>



<li>You&#8217;ll choose a <strong>port</strong> for WireGuard — the default (51820/UDP) is fine unless you have a reason to change it.</li>
</ul>



<p class="wp-block-paragraph">Once installation finishes, you can create a configuration file for each device (phone, laptop, etc.) with:</p>



<pre class="wp-block-code"><code>pivpn add
</code></pre>



<p class="wp-block-paragraph">This generates a <code>.conf</code> file you can transfer to your device, or — even easier — generate a QR code for mobile devices with:</p>



<pre class="wp-block-code"><code>pivpn -qr
</code></pre>



<p class="wp-block-paragraph">Scan the QR code with the WireGuard app on your phone, and it&#8217;s instantly configured.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Step 6: Lock down the firewall</h2>



<p class="wp-block-paragraph">This is the most important step from a security standpoint. The goal is:</p>



<ul class="wp-block-list">
<li><strong>Allow</strong> WireGuard VPN connections in from the internet (so you can connect from anywhere).</li>



<li><strong>Allow</strong> SSH so you can keep managing the server (ideally only from trusted networks, or via your VPN once it&#8217;s set up).</li>



<li><strong>Block</strong> everything else from the outside world — especially the DNS, HTTP, and HTTPS ports that Pi-hole and its dashboard use. These should only ever be reachable <em>through</em> the VPN tunnel, never directly from the internet.</li>
</ul>



<p class="wp-block-paragraph">We&#8217;ll use <strong>UFW</strong> (Uncomplicated Firewall), which is a much friendlier front-end for Linux&#8217;s firewall rules than editing raw <code>iptables</code> files.</p>



<h3 class="wp-block-heading">Install UFW (if it isn&#8217;t already)</h3>



<pre class="wp-block-code"><code>sudo apt install ufw
</code></pre>



<h3 class="wp-block-heading">Allow the essentials</h3>



<pre class="wp-block-code"><code>sudo ufw allow OpenSSH
sudo ufw allow 51820/udp
</code></pre>



<p class="wp-block-paragraph">The first command keeps your SSH access working (so you don&#8217;t lock yourself out!). The second opens the WireGuard port (adjust the number if you chose a different port during the PiVPN setup) so your devices can connect to the VPN.</p>



<h3 class="wp-block-heading">Confirm DNS, HTTP, and HTTPS are NOT open to the world</h3>



<p class="wp-block-paragraph">By default, UFW blocks everything that isn&#8217;t explicitly allowed, so as long as you haven&#8217;t added rules for ports 53 (DNS), 80 (HTTP), or 443 (HTTPS), they&#8217;re already inaccessible from the public internet. You can double check with:</p>



<pre class="wp-block-code"><code>sudo ufw status verbose
</code></pre>



<p class="wp-block-paragraph">You should only see rules for SSH and your WireGuard port. If you see anything for ports 53, 80, or 443, remove those rules — Pi-hole&#8217;s DNS and dashboard should only be reachable from inside the VPN&#8217;s private network range (PiVPN sets this up automatically as part of the WireGuard interface).</p>



<h3 class="wp-block-heading">Enable the firewall</h3>



<pre class="wp-block-code"><code>sudo ufw enable
</code></pre>



<p class="wp-block-paragraph">You&#8217;ll be warned that this might disrupt existing SSH connections — as long as you&#8217;ve allowed OpenSSH above, you&#8217;ll be fine. Type <code>y</code> to confirm.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Step 7: Test everything</h2>



<ol class="wp-block-list">
<li><strong>Connect to your VPN</strong> from a phone or laptop using the config or QR code from <code>pivpn -qr</code>.</li>



<li>Once connected, visit <code>http://&lt;your-server-ip>/admin</code> — you should be able to reach the Pi-hole dashboard.</li>



<li>Try browsing to a known ad-heavy site and check the Pi-hole dashboard&#8217;s <strong>Query Log</strong> — you should see blocked requests rolling in.</li>



<li>Disconnect from the VPN and confirm you can <em>no longer</em> reach the Pi-hole dashboard or resolve DNS through the server&#8217;s public IP — this confirms it&#8217;s properly locked down.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Wrapping up</h2>



<p class="wp-block-paragraph">You now have a private, ad-blocking DNS server that&#8217;s only reachable through an encrypted VPN tunnel. A few ideas for where to go next:</p>



<ul class="wp-block-list">
<li>Set up <strong>dynamic DNS</strong> if your home IP address changes periodically, so your VPN connection details don&#8217;t go stale.</li>



<li>Explore Pi-hole&#8217;s <strong>block lists</strong> (Settings → Blocklists) to fine-tune how aggressive the filtering is.</li>



<li>Consider enabling <strong>automatic security updates</strong> (<code>unattended-upgrades</code>) so your server stays patched without manual effort.</li>
</ul>



<p class="wp-block-paragraph">Happy (and ad-free) browsing!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How do we achieve stability?</title>
		<link>https://givinglessfucks.com/stability/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Sat, 10 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=105</guid>

					<description><![CDATA[Stoics seek steadiness, stability and tranquility, something that most of us aspire to experience long term, but only get to experience fleetingly. How do we accomplish this goal? Epictetus tells us through his writing of Discourses, &#8220;The essence of good is a certain kind of reasoned choice; just as the essence of evil is another [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Stoics seek steadiness, stability and tranquility, something that most of us aspire to experience long term, but only get to experience fleetingly. How do we accomplish this goal?</p>



<p class="wp-block-paragraph">Epictetus tells us through his writing of <em>Discourses</em>, &#8220;The essence of good is a certain kind of reasoned choice; just as the essence of evil is another kind. What about externals, then? They are only the raw material for our reasoned choice, which finds its own good or evil in working with them. How will it find the good? Not by marveling at the material! For if judgements about the material are straight that makes our choices good, but if those judgements are twisted, our choices turn bad.&#8221; [Discourses, 1.29.1-3]</p>



<p class="wp-block-paragraph">So how do we accomplish stability and tranquility? We filter the outside world through the straightener of our judgement. That&#8217;s what reason can do, it takes the crooked, confusing and overwhelming nature of external events and make them orderly.</p>



<p class="wp-block-paragraph">However, if our judgements are crooked because we fail to use reason, then everything that comes next will remain crooked and we lose our ability to stabilise ourselves in the chaos of the world. Proper judgement allows us to achieve clarity. </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What we control, and what we don’t</title>
		<link>https://givinglessfucks.com/control/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Fri, 09 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=102</guid>

					<description><![CDATA[We do not have control over the things that happen around us, but what we do have is control over how we think and respond to those events. Epictetus opens his Enchiridion with, &#8220;Some things are in our control, while others are not. We control out opinion, choice, desire, aversion, and , in a work, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We do not have control over the things that happen around us, but what we do have is control over how we think and respond to those events.</p>



<p class="wp-block-paragraph">Epictetus opens his <em>Enchiridion</em> with, &#8220;Some things are in our control, while others are not. We control out opinion, choice, desire, aversion, and , in a work, everything of our own doing. We don&#8217;t control our body, property, reputation, position, and ,in a word, everything not of our own doing. Even more, the things in our control are by nature free, unhindered, and unobstructed, while those not in our control are weak, slavish, can be hindered and are not our own.&#8221; [1.1-2]</p>



<p class="wp-block-paragraph">Best of all, an honest understanding of what is without our control provides clarity about the world, all we have is our own mind. </p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Seeing our addictions</title>
		<link>https://givinglessfucks.com/addictions/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Thu, 08 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=97</guid>

					<description><![CDATA[Sometimes, our indulges become addictions, not all, but some do. Seneca tells us the following through his Moral Letters, &#8220;We must give up many things to which we are addicted considering them to be good. Otherwise, courage will vanish which should continually test itself. Greatness of soul will be lost, which can&#8217;t stand out unless [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Sometimes, our indulges become addictions, not all, but some do.</p>



<p class="wp-block-paragraph">Seneca tells us the following through his <em>Moral Letters</em>, &#8220;We must give up many things to which we are addicted considering them to be good. Otherwise, courage will vanish which should continually test itself. Greatness of soul will be lost, which can&#8217;t stand out unless it disdains as petty what the mob regards as most desirable.&#8221; [74.12b-13]</p>



<p class="wp-block-paragraph">These little indulgences, while seemingly harmless can chip away at our freedom and sovereignty and can cloud our clarity. We believe we are still in control, but are we really?</p>



<p class="wp-block-paragraph">One addict has said, &#8220;addiction is where we have <em>lost the freedom to abstain</em>.&#8221;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The seven functions of the mind</title>
		<link>https://givinglessfucks.com/seven-functions/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=95</guid>

					<description><![CDATA[In his work, Discourses, Epictetus tells us that there are seven function of the mind, &#8220;The proper work of the mind is the exercise of choice, refusal, yearning, repulsion, preparation, purpose, and assent. What then can pollute and clog the mind&#8217;s proper functioning? Nothing but its own corrupt decisions.&#8221; [4.11.6-7] So what do each of [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In his work, <em>Discourses</em>, Epictetus tells us that there are seven function of the mind, &#8220;The proper work of the mind is the exercise of choice, refusal, yearning, repulsion, preparation, purpose, and assent. What then can pollute and clog the mind&#8217;s proper functioning? Nothing but its own corrupt decisions.&#8221; [4.11.6-7]</p>



<p class="wp-block-paragraph">So what do each of these functions mean:</p>



<ul class="wp-block-list">
<li>Choice to do and think right</li>



<li>Refusal of temptation</li>



<li>Yearning to be better</li>



<li>Repulsion of negativity, of bad influences of what isn&#8217;t true</li>



<li>Preparation for what lies ahead or whatever may happen</li>



<li>Purpose &#8211; our guiding principle and highest priority</li>



<li>Assent to be free of deception about what&#8217;s <a href="https://nerdgineer.com/control-and-choice/" data-type="post" data-id="83">inside and outside our control</a> (and be ready to accept the latter)</li>
</ul>



<p class="wp-block-paragraph">This is why we are here, and what the mind must do.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Where, who, what and why?</title>
		<link>https://givinglessfucks.com/where-who-what-and-why/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Tue, 06 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=93</guid>

					<description><![CDATA[How do we answer the simple questions in life? Do we only give superficial answers/ Or more considered ones? Marcus Aurelius asks, &#8220;A person who doesn&#8217;t know what the universe is, doesn&#8217;t know where they are. A person who doesn&#8217;t know their purpose in life doesn&#8217;t know who they are or what the universe is. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">How do we answer the simple questions in life? Do we only give superficial answers/ Or more considered ones?</p>



<p class="wp-block-paragraph">Marcus Aurelius asks, &#8220;A person who doesn&#8217;t know what the universe is, doesn&#8217;t know where they are. A person who doesn&#8217;t know their purpose in life doesn&#8217;t know who they are or what the universe is. A person who doesn&#8217;t know anyone of these things doesn&#8217;t know why they are here. So what to make of people who seek or avoid the praise of those who have no knowledge of where or who they are?&#8221; [Meditations, 8.52]</p>



<p class="wp-block-paragraph">Have you taken the time to seek clarity about who you are or what you stand for? Or are you busy chasing non-important things, following the wrong influences, and chasing disappointing or nonexistent paths in life?</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clarify your intentions</title>
		<link>https://givinglessfucks.com/intentions/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Mon, 05 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=91</guid>

					<description><![CDATA[The Stoics tell us that without a plan, we are unable to make clear decisions and know whether we should say yes or no to an action. The Stoics call this oiesis or false conceptions. Seneca writes, &#8220;Let all your efforts be directed to something, let it keep that end in view. It&#8217;s not activity [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The Stoics tell us that without a plan, we are unable to make clear decisions and know whether we should say yes or no to an action. The Stoics call this <em>oiesis</em> or false conceptions.</p>



<p class="wp-block-paragraph">Seneca writes, &#8220;Let all your efforts be directed to something, let it keep that end in view. It&#8217;s not activity that disturbs people, but false conceptions of things that drive them mad.&#8221; [On Tranquility of Mind, 12.5]</p>



<p class="wp-block-paragraph">Other examples of this are from Robert Greene in his book, &#8220;The 48 Laws of Power&#8221; or Steven Covey&#8217;s book, &#8220;The 7 Habits of Highly Effective People&#8221;.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The big three</title>
		<link>https://givinglessfucks.com/big-three/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Sun, 04 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=89</guid>

					<description><![CDATA[Marcus Aurelius tells us that there are three big disciplines of Stoicism. There are others as well, but we could spend days listing and talking about them. In his personal journal, Marcus tells us, &#8220;All you need are these: certainty of judgement in the present moment; action for the common good in the present moment; [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Marcus Aurelius tells us that there are three big disciplines of Stoicism. There are others as well, but we could spend days listing and talking about them.</p>



<p class="wp-block-paragraph">In his personal journal, Marcus tells us, &#8220;All you need are these: certainty of judgement in the present moment; action for the common good in the present moment; and an attitude of gratitude in the present moment for anything that comes your way.&#8221; [Meditations 9.6]</p>



<p class="wp-block-paragraph">We should take the following parts of Stoicism with us every day into every decision we make:</p>



<ul class="wp-block-list">
<li>control our perception</li>



<li>direct our actions properly</li>



<li>willingly accept what&#8217;s outside our control</li>
</ul>



<p class="wp-block-paragraph">That is all we need to do.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Be ruthless to the things that don’t matter</title>
		<link>https://givinglessfucks.com/be-ruthless/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Sat, 03 Jan 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Stoic]]></category>
		<guid isPermaLink="false">https://nerdgineer.com/?p=87</guid>

					<description><![CDATA[One thing that the Stoics are known for is saying &#8216;no&#8217; to the the things that don not matter to us. It is a hard but very important thing to do. Seneca tells us via On the brevity of life about people who &#8220;have laid waste to your life when you weren&#8217;t aware of what [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">One thing that the Stoics are known for is saying &#8216;no&#8217; to the the things that don not matter to us. It is a hard but very important thing to do.</p>



<p class="wp-block-paragraph">Seneca tells us via <em>On the brevity of life</em> about people who &#8220;have laid waste to your life when you weren&#8217;t aware of what you were losing, how much was wasted in pointless grief, foolish joy, greedy desire, and social amusements &#8211; how little of your own was left to you.&#8221; [3.3b]</p>



<p class="wp-block-paragraph">So what does saying &#8216;no&#8217; do? It allows us to say &#8216;yes&#8217; to the things that really matter to let us live and enjoy life, and live the life that we want to live.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>