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

<channel>
	<title>TristanPoulsen.com</title>
	<atom:link href="https://tristanpoulsen.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://tristanpoulsen.com</link>
	<description>Welcome to TristanPoulsen.com</description>
	<lastBuildDate>Wed, 01 Apr 2026 18:27:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://tristanpoulsen.com/wp-content/uploads/2024/07/cropped-Tristan-Forryst-Poulsen-initials-logo-32x32.png</url>
	<title>TristanPoulsen.com</title>
	<link>https://tristanpoulsen.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Consolidating Business Apps in 2026</title>
		<link>https://tristanpoulsen.com/consolidating-business-apps-in-2026/</link>
					<comments>https://tristanpoulsen.com/consolidating-business-apps-in-2026/#respond</comments>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Wed, 01 Apr 2026 18:27:48 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=898</guid>

					<description><![CDATA[April 1st 2026I&#8217;m working on trying to make my life easier and consolidate my apps to as few as possible. That has led me to start using ClickUp for as many features that I need for my daily needs. I&#8217;m currently using ClickUp for the following + what it&#8217;s replaced: It&#8217;s starting to replace a ... <a title="Consolidating Business Apps in 2026" class="read-more" href="https://tristanpoulsen.com/consolidating-business-apps-in-2026/" aria-label="Read more about Consolidating Business Apps in 2026">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>April 1st 2026<br>I&#8217;m working on trying to make my life easier and consolidate my apps to as few as possible. That has led me to start using ClickUp for as many features that I need for my daily needs.</p>



<p>I&#8217;m currently using ClickUp for the following + what it&#8217;s replaced:</p>



<ul class="wp-block-list">
<li>Time tracking (starting today) &#8211; I used to use Toggl</li>



<li>To-do lists (primary) &#8211; Used to use To-doist
<ul class="wp-block-list">
<li>Both for work and for personal stuff like Shopping lists</li>
</ul>
</li>



<li>Project Tracking (primary) &#8211; Used to use Asana/Trello/Monday + others in the past</li>



<li>Company Chat &#8211; I used to use Slack</li>
</ul>



<p>It&#8217;s starting to replace a lot of apps / functionality so I&#8217;m not bouncing from app to app throughout the day. It&#8217;s nice only using one app for a lot of different use cases. We&#8217;ll see if it can help me organize and bring synergy to my businesses.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tristanpoulsen.com/consolidating-business-apps-in-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Best Daily Brake Pads for VW GTI MK7 &#8211; my pick</title>
		<link>https://tristanpoulsen.com/the-best-daily-brake-pads-for-vw-gti-mk7-my-pick/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Mon, 26 May 2025 22:05:22 +0000</pubDate>
				<category><![CDATA[Random Other Posts]]></category>
		<category><![CDATA[VW GTI MK7]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=869</guid>

					<description><![CDATA[I put the Hawk HP Street 5.0 pads from Hawk Performance on my 2017 VW GTI SE manual a couple of years ago and have been absolutely loving them.Quiet, great stopping power, and they are decently priced (compared to other performance pads I&#8217;ve tried on other vehicles). I got mine for $122.40 after tax on ... <a title="The Best Daily Brake Pads for VW GTI MK7 &#8211; my pick" class="read-more" href="https://tristanpoulsen.com/the-best-daily-brake-pads-for-vw-gti-mk7-my-pick/" aria-label="Read more about The Best Daily Brake Pads for VW GTI MK7 &#8211; my pick">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>I put the Hawk HP Street 5.0 pads from Hawk Performance on my 2017 VW GTI SE manual a couple of years ago and have been <strong>absolutely</strong> loving them.<br>Quiet, great stopping power, and they are decently priced (compared to other performance pads I&#8217;ve tried on other vehicles). I got mine for $122.40 after tax on Tire Rack, but you can find them in a few online retailers &#8211; I&#8217;m not sure about in-store availability.</p>



<p><br>They are everything I look for in upgraded street pads in comparison to the OEM pads. As their website says <em>&#8220;HPS 5.0 is a Ferro-Carbon compound that provides advanced braking characteristics to enhance the driving experience. This compound combines the safety and quality of aerospace design with the braking technology of motorsports. The results are shorter stopping distances, improved performance under heavy braking conditions, and street car friendly characteristics.&#8221;</em> &#8211; <a href="https://www.hawkperformance.com/hps-5-0">hawkperformance.com</a><br><br>Now they are going for around 180 for front pads (I still need to do my rear pads here shortly)<br></p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" width="732" height="504" src="https://tristanpoulsen.com/wp-content/uploads/2025/05/image-1.png" alt="" class="wp-image-873" style="width:473px;height:auto" srcset="https://tristanpoulsen.com/wp-content/uploads/2025/05/image-1.png 732w, https://tristanpoulsen.com/wp-content/uploads/2025/05/image-1-300x207.png 300w" sizes="(max-width: 732px) 100vw, 732px" /></figure>



<p>I tend to use my brakes more than engine braking, so I have a pretty good idea how they feel. A bit soft on the initial response (which I like personally). They grab nicely when you put adequate pressure. Used them in the snow for a season, and they do well with the ABS when sliding on ice. </p>



<p>My only gripe with them is they seem to produce more dust than the OEM &#8211; so cleaning the wheels takes a bit longer and I can live with that. I&#8217;ll certainly buy them again when I need to replace my pads on my MK7.</p>



<p><br><br><em>Note to self: When I do replace them, I&#8217;ll try to come back with the pictures and the mileage achieved with the Hawk hp street 5.0 pads</em></p>



<p><br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How I Stopped Bots from Crashing My cPanel Server</title>
		<link>https://tristanpoulsen.com/how-i-stopped-bots-from-crashing-my-cpanel-server/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Wed, 07 May 2025 17:36:09 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Random Tech Posts]]></category>
		<category><![CDATA[Strategy And Tips]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=856</guid>

					<description><![CDATA[If you&#8217;re managing a cPanel + WHM server (mine runs on AlmaLinux) and notice CPU usage spiking to 100%, there&#8217;s a good chance that aggressive bots or inefficient PHP processes are hammering your server. That’s exactly what happened to me — and here’s how I fixed it. The Problem My server load was pinned at ... <a title="How I Stopped Bots from Crashing My cPanel Server" class="read-more" href="https://tristanpoulsen.com/how-i-stopped-bots-from-crashing-my-cpanel-server/" aria-label="Read more about How I Stopped Bots from Crashing My cPanel Server">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>If you&#8217;re managing a cPanel + WHM server (mine runs on AlmaLinux) and notice CPU usage spiking to 100%, there&#8217;s a good chance that <strong>aggressive bots</strong> or <strong>inefficient PHP processes</strong> are hammering your server. That’s exactly what happened to me — and here’s how I fixed it.</p>



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



<h2 class="wp-block-heading">The Problem</h2>



<p>My server load was pinned at 100%, with <code>php-fpm</code> processes consuming the bulk of the CPU. Using tools like <code>htop</code> and <code>ps</code>, I traced the activity back to a few specific WordPress sites hosted on the server.</p>



<p>The common culprit? <strong>Bot traffic</strong> hammering uncached pages and XML-RPC endpoints.</p>



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



<h2 class="wp-block-heading">The Fix (3-Part Solution)</h2>



<h3 class="wp-block-heading">1. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f1.png" alt="🧱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Block Bots with <code>.htaccess</code></h3>



<p>I edited the <code>.htaccess</code> file for each affected site and added rules to block known abusive bots by user agent:</p>



<pre class="wp-block-preformatted"><code># Block bad bots by user-agent<br>&lt;IfModule mod_rewrite.c><br>RewriteEngine On<br>RewriteCond %{HTTP_USER_AGENT} ^$ [OR]<br>RewriteCond %{HTTP_USER_AGENT} (semrush|ahrefs|mj12bot|dotbot|python-requests|curl|wget|masscan|sqlmap|fimap|nmap|nikto) [NC]<br>RewriteRule .* - [F,L]<br>&lt;/IfModule><br></code></pre>



<p>This simple change started deflecting unnecessary load <strong>before</strong> it could hit WordPress or PHP.</p>



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



<h3 class="wp-block-heading">2. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Install and Configure Fail2Ban</h3>



<p>I installed <strong>Fail2Ban</strong> to automatically block IPs that triggered suspicious patterns in my Apache logs (like repeated bot-like requests):</p>



<pre class="wp-block-preformatted"><code>sudo yum install epel-release -y<br>sudo yum install fail2ban -y<br>sudo systemctl enable fail2ban<br>sudo systemctl start fail2ban<br></code></pre>



<p>Then, I created a jail to detect and ban bad bots:</p>



<p><strong><code>/etc/fail2ban/jail.d/apache-badbots.conf</code></strong></p>



<pre class="wp-block-preformatted"><code>[apache-badbots]<br>enabled = true<br>port    = http,https<br>filter  = apache-badbots<br>logpath = /usr/local/apache/logs/access_log<br>maxretry = 10<br>findtime = 300<br>bantime = 3600<br></code></pre>



<p><strong><code>/etc/fail2ban/filter.d/apache-badbots.conf</code></strong></p>



<pre class="wp-block-preformatted"><code>[Definition]<br>failregex = ^&lt;HOST> -.*"(GET|POST).*(crawler|bot|spider|python|curl|wget).*HTTP.*"<br></code></pre>



<p>With this in place, the server now proactively bans repeat offenders and malicious bots.</p>



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



<h3 class="wp-block-heading">3. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Restart PHP-FPM and Apache to Flush Load</h3>



<p>Once the defenses were in place, I restarted the two main services to clear out any bloated or stuck processes:</p>



<pre class="wp-block-preformatted"><code>systemctl restart ea-php81-php-fpm<br>systemctl restart httpd<br></code></pre>



<p>This dropped my CPU usage almost instantly and gave the server a clean slate to work with.</p>



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



<h2 class="wp-block-heading">Summary</h2>



<p>After these changes:</p>



<ul class="wp-block-list">
<li>CPU usage dropped from 100% to &lt;10%</li>



<li>PHP-FPM processes normalized</li>



<li>The server has stayed stable under load, even with continued traffic</li>
</ul>



<p>If you&#8217;re running cPanel/WHM and notice unexplained high load:</p>



<ul class="wp-block-list">
<li><strong>Check your access logs</strong></li>



<li><strong>Filter bots at the .htaccess level</strong></li>



<li><strong>Set up Fail2Ban to auto-ban bad actors</strong></li>



<li>And always <strong>restart PHP-FPM/Apache</strong> after config changes</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Recommended Switch for Small Business with No Yearly Licensing</title>
		<link>https://tristanpoulsen.com/recommended-switch-for-small-business-with-no-yearly-licensing/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Wed, 30 Oct 2024 20:30:26 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=833</guid>

					<description><![CDATA[If you&#8217;re in need of a business grade switch, my recommendation as of recent, has been this Cisco Business switch. My favorite aspect is there&#8217;s no need to pay for a recurring cloud license with this switch. This makes it perfect for smaller businesses with less than 10 offices or stations (each with a VOIP ... <a title="Recommended Switch for Small Business with No Yearly Licensing" class="read-more" href="https://tristanpoulsen.com/recommended-switch-for-small-business-with-no-yearly-licensing/" aria-label="Read more about Recommended Switch for Small Business with No Yearly Licensing">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>If you&#8217;re in need of a business grade switch, my recommendation as of recent, has been this Cisco Business switch. My favorite aspect is there&#8217;s no need to pay for a recurring cloud license with this switch. This makes it perfect for smaller businesses with less than 10 offices or stations (each with a VOIP device and workstation).</p>



<h2 class="wp-block-heading">CISCO DESIGNED Business CBS220-24P-4G Smart Switch | 24 Port GE | PoE | 4x1G SFP | 3-Year Limited Hardware Warranty</h2>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-25"><a class="wp-block-button__link has-contrast-color has-text-color has-background has-link-color wp-element-button" href="https://amzn.to/4fgHaPg" style="background-color:#f7ca00">Amazon</a></div>
</div>



<div style="height:52px" aria-hidden="true" class="wp-block-spacer"></div>



<p>The <strong>CISCO CBS220-24P-4G Smart Switch</strong> is a versatile network switch designed for small to medium-sized businesses. Here’s a quick breakdown:</p>



<ul class="wp-block-list">
<li><strong>Ports:</strong> 24 Gigabit Ethernet (GE) ports</li>



<li><strong>Power over Ethernet (PoE):</strong> Supports PoE, allowing it to power compatible devices like IP cameras, phones, and access points directly through Ethernet cables.</li>



<li><strong>Uplink Ports:</strong> 4 SFP (Small Form-factor Pluggable) ports at 1G each for high-speed uplinks to other network devices or the internet.</li>



<li><strong>Smart Features:</strong> Designed to offer easy configuration and monitoring, providing essential Layer 2 network features that support efficient traffic management without complexity.</li>



<li><strong>Warranty:</strong> Comes with a 3-year limited hardware warranty.</li>
</ul>



<p>This switch is suited for businesses needing a reliable, secure, and simple solution to expand their network and support PoE devices.</p>



<figure class="wp-block-image size-medium"><img decoding="async" width="300" height="169" src="http://3.239.168.193/wp-content/uploads/2024/10/CISCO-DESIGNED-Business-CBS220-24P-4G-300x169.png" alt="" class="wp-image-836" srcset="https://tristanpoulsen.com/wp-content/uploads/2024/10/CISCO-DESIGNED-Business-CBS220-24P-4G-300x169.png 300w, https://tristanpoulsen.com/wp-content/uploads/2024/10/CISCO-DESIGNED-Business-CBS220-24P-4G-1024x578.png 1024w, https://tristanpoulsen.com/wp-content/uploads/2024/10/CISCO-DESIGNED-Business-CBS220-24P-4G-768x434.png 768w, https://tristanpoulsen.com/wp-content/uploads/2024/10/CISCO-DESIGNED-Business-CBS220-24P-4G-1536x867.png 1536w, https://tristanpoulsen.com/wp-content/uploads/2024/10/CISCO-DESIGNED-Business-CBS220-24P-4G.png 1580w" sizes="(max-width: 300px) 100vw, 300px" /></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Auto Email Filter Script Python</title>
		<link>https://tristanpoulsen.com/auto-email-filter-script-python/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Wed, 21 Aug 2024 01:19:41 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Random Tech Posts]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=715</guid>

					<description><![CDATA[Today I built a python script that takes a csv file with a list of emails and using the Gmail API, moves the emails to the corresponding folder I&#8217;d like to move them to. Then it archives them. Now obviously you can do this in Gmail with an automated filter for incoming emails, so the ... <a title="Auto Email Filter Script Python" class="read-more" href="https://tristanpoulsen.com/auto-email-filter-script-python/" aria-label="Read more about Auto Email Filter Script Python">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size">Today I built a python script that takes a csv file with a list of emails and using the Gmail API, moves the emails to the corresponding folder I&#8217;d like to move them to. Then it archives them.<br><br>Now obviously you can do this in Gmail with an automated filter for incoming emails, so the reason I&#8217;ve done this is so occasionally, probably once every other week, I&#8217;ll check all the emails in my inbox and I move emails (99% of the time to the same folders). <br>I wanted to automate this cleaning process without using <a href="https://www.sanebox.com/">SaneBox</a> and I did try to use <a href="http://make.com">Make.com</a> to do the same thing, but this was honestly simpler and I can run it without the additional operations cost.</p>



<p class="has-medium-font-size">Here&#8217;s the csv format for the headers and for the Folders &#8211; I couldn&#8217;t get it to link via the name so I have it cross-reference the Label ID to match the folders:<br>email, label<br>example_email@yahoo.com, Label_55<br><br>This is what the output looks like:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="630" height="320" src="http://3.239.168.193/wp-content/uploads/2024/08/email_filter_python_script_image-e1724203635699.png" alt="" class="wp-image-719" srcset="https://tristanpoulsen.com/wp-content/uploads/2024/08/email_filter_python_script_image-e1724203635699.png 630w, https://tristanpoulsen.com/wp-content/uploads/2024/08/email_filter_python_script_image-e1724203635699-300x152.png 300w" sizes="(max-width: 630px) 100vw, 630px" /></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Here&#8217;s my code if anyone wants to make their own python script:</strong></h3>



<pre class="wp-block-code"><code>import os
import pickle
import pandas as pd
import base64
from google.oauth2.credentials import Credentials
from google.auth.transport.requests import Request
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google_auth_oauthlib.flow import InstalledAppFlow
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# Step 1: Authentication and Service Initialization
def authenticate_gmail_api():
    SCOPES = &#91;'https://www.googleapis.com/auth/gmail.modify']
    creds = None

    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)
    
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

    service = build('gmail', 'v1', credentials=creds)
    return service

# Step 2: Read Filters from CSV File
def read_filters_from_csv(csv_file):
    filters_df = pd.read_csv(csv_file)
    return filters_df

# Step 3: Search for Matching Emails
# Step 3: Search for Matching Emails
def search_emails(service, query):
    try:
        # Modify the query to explicitly search only within the INBOX
        query = f'label:inbox {query}'
        results = service.users().messages().list(userId='me', q=query).execute()
        messages = results.get('messages', &#91;])
        return messages
    except HttpError as error:
        print(f'An error occurred: {error}')
        return &#91;]


# Step 4: Apply Filters and Move Emails
def apply_filters(service, filters_df):
    for index, row in filters_df.iterrows():
        email_filter = row&#91;'email']
        label = row&#91;'label']

        query = f'from:{email_filter}'
        messages = search_emails(service, query)

        if not messages:
            print(f'No emails found for {email_filter}')
            continue

        for message in messages:
            msg_id = message&#91;'id']
            # Move email to the specified folder (label)
            service.users().messages().modify(
                userId='me',
                id=msg_id,
                body={'addLabelIds': &#91;label], 'removeLabelIds': &#91;'INBOX']}
            ).execute()
            print(f'Email from {email_filter} moved to {label} and archived.')

# Step 5: Retrieve and List Label IDs
def list_labels(service):
    results = service.users().labels().list(userId='me').execute()
    labels = results.get('labels', &#91;])

    if not labels:
        print('No labels found.')
    else:
        print('Labels:')
        for label in labels:
            print(f"{label&#91;'name']} - {label&#91;'id']}")

# Step 6: Main Function
def main():
    # Authenticate and create the Gmail API service
    service = authenticate_gmail_api()

    # Uncomment the line below to list all labels and their IDs
    list_labels(service)

    # Load filter rules from CSV
    csv_file = 'filters.csv'  # Replace with your CSV file
    filters_df = read_filters_from_csv(csv_file)

    # Apply filters to emails
    apply_filters(service, filters_df)

if __name__ == '__main__':
    main()
</code></pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>New TFP logo</title>
		<link>https://tristanpoulsen.com/new-tfp-logo/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Wed, 31 Jul 2024 19:42:42 +0000</pubDate>
				<category><![CDATA[Random Tech Posts]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=705</guid>

					<description><![CDATA[TFP new vs. Old I decided to add some additions to this portfolio website like the &#8220;App Ecosystems I Work With&#8221; &#38; I updated my personal logo &#8211; honestly it looks 300% better than the previous one I made over 10 years ago.. My graphic design skills have gotten better even though I&#8217;m more analytical ... <a title="New TFP logo" class="read-more" href="https://tristanpoulsen.com/new-tfp-logo/" aria-label="Read more about New TFP logo">Read more</a>]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="705" class="elementor elementor-705" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-45ea10d6 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="45ea10d6" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b708328" data-id="1b708328" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-04268a3 elementor-widget elementor-widget-heading" data-id="04268a3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">TFP new vs. Old</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-5eaa389 elementor-widget elementor-widget-text-editor" data-id="5eaa389" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									
<p>I decided to add some additions to this portfolio website like the <a href="http://3.239.168.193/app-ecosystems-i-work-with/" data-type="page" data-id="593">&#8220;App Ecosystems I Work With&#8221;</a></p>

<p>&amp;</p>

<p>I updated my personal logo &#8211; honestly it looks 300% better than the previous one I made over 10 years ago.. My graphic design skills have gotten better even though I&#8217;m more analytical than creative..<br /><br />Also needed to update some image links to be served locally as the reference links I had for facebook and twitter (now X) expired or were removed.</p>
								</div>
				</div>
				<div class="elementor-element elementor-element-91d9042 uael-ba-label-hover uael-ba-halign-flex-start elementor-widget elementor-widget-uael-ba-slider" data-id="91d9042" data-element_type="widget" data-e-type="widget" data-widget_type="uael-ba-slider.default">
				<div class="elementor-widget-container">
							<div class="uael-before-after-slider">
			<div class="uael-ba-container" data-move-on-hover="yes" data-orientation="horizontal" data-offset="0.5">
				<img decoding="async" class="uael-before-img" style="position: absolute" src="https://tristanpoulsen.com/wp-content/uploads/2024/07/tfp_before_comparison-1024x1024.png" alt="Before" />
				<img decoding="async" class="uael-after-img" src="https://tristanpoulsen.com/wp-content/uploads/2024/07/Tristan-Forryst-Poulsen-initials-logo-with-buffer-1024x1024.png" alt="After" />
			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Remedy for Flying</title>
		<link>https://tristanpoulsen.com/remedy-for-flying/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Tue, 16 May 2023 15:16:54 +0000</pubDate>
				<category><![CDATA[Random Other Posts]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=564</guid>

					<description><![CDATA[I was talking with a client of mine and he mentioned a few things that one can do to help prevent myself from getting sick after flying on an airplane &#8211; being jetlagged of course. I&#8217;m making this post mostly for my own collection so I can look back and read the quick remedies I&#8217;ve ... <a title="Remedy for Flying" class="read-more" href="https://tristanpoulsen.com/remedy-for-flying/" aria-label="Read more about Remedy for Flying">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>I was talking with a client of mine and he mentioned a few things that one can do to help prevent myself from getting sick after flying on an airplane &#8211; being jetlagged of course. I&#8217;m making this post mostly for my own collection so I can look back and read the quick remedies I&#8217;ve heard work. I&#8217;ll update this after I&#8217;ve done further testing myself.</p>



<ol class="wp-block-list">
<li>Most importantly drink water or if already feeling meh, mix 2/3 water with 1/3 Gatorade or some other electrolyte and sugar drink.
<ul class="wp-block-list">
<li>If already feeling meh after flying &#8211; drink some warm bone broth</li>
</ul>
</li>



<li>Dark chocolate prior to flying helps? Not sure why but chocolate in general is good before a flight</li>



<li>Lysine or L-lysine &#8211; is an essential amino acid protein block. It&#8217;s used for building proteins and it&#8217;ll help boost your immune system. It can be found in meat fish, dairy, eggs, and supplements. Take 500mg before flying.</li>



<li>Glutathione &#8211; is a Master anti-oxidant that is capable of preventing damage to important cellular components caused by sources such as reactive oxygen species, free radicals, peroxides, lipid peroxides, and heavy metals.</li>
</ol>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Having a Maximum Security Mindset is Important</title>
		<link>https://tristanpoulsen.com/having-a-maximum-security-mindset-is-important/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Fri, 10 Mar 2023 16:53:17 +0000</pubDate>
				<category><![CDATA[Cyber-Security]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=549</guid>

					<description><![CDATA[I’ve always tried to have the most secure mindset when it comes to my passwords. Unfortunately with the news of the recent LastPass hacks, I’ve had to migrate away from it (over a year ago at this point) but now with the more serious breach that occurred, I decided to update ALL of my passwords, ... <a title="Having a Maximum Security Mindset is Important" class="read-more" href="https://tristanpoulsen.com/having-a-maximum-security-mindset-is-important/" aria-label="Read more about Having a Maximum Security Mindset is Important">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>I’ve always tried to have the most secure mindset when it comes to my passwords. Unfortunately with the news of the recent LastPass hacks, I’ve had to migrate away from it (over a year ago at this point) but now with the more serious breach that occurred, I decided to update ALL of my passwords, quite literally over 1000 passwords, in order to maintain that maximum personal and business security mentality. I’ve probably spent 8 hours already, just updating passwords, usernames, and 2FA where available.</p>



<h3 class="wp-block-heading"><strong>2FA Availability</strong></h3>



<p>That’s the thing that I’m frustrated with at the moment, not all major companies offer Two Factor Authentication via a true 2FA App or even better a YubiKey physical key. Banks are the biggest offender of this. They might offer 2FA via your phone or email verification token, but as we all should know, your phone and your email ARE NOT SECURE EITHER. What do I have to do to get USBank and other major Banks to offer the best of the best in security for access to our digital currency?</p>



<p>All it takes is a hacker taking control of an email, or SIM jacking your phone number, and presto – they have access to the remainder of your personal information and money. Quite scary if you ask me.</p>



<p>Now that I’m looking into this I’m finding that Bank of America – BOA has the highest online security including support for YubiKey. That might be everyone’s best bet, especially large targets like Whales.</p>



<p>[insert picture of a whale]</p>



<p>“Whaling is a highly targeted phishing attack &#8211; aimed at senior executives &#8211; masquerading as a legitimate email. Whaling is digitally enabled fraud through social engineering, designed to encourage victims to perform a secondary action, such as initiating a wire transfer of funds.”</p>



<h3 class="wp-block-heading"><strong>SIM Jacking</strong></h3>



<p>Okay so I don’t have a solution for this, unfortunately, most carriers allow for a sim lock but that has its flaws, as someone with enough information could bypass that over the phone with a telecom customer service rep.</p>



<p>It would be cool if a startup or a current telecom company just made a High-security mode for your account/phone numbers linked to the account, which locks the phone number from being replicated to a different SIM without an In-Person double identity verification process. Possibly with fingerprint verification, again in-person to add a barrier to socially engineered methods like SIM jacking.</p>



<p>I think this is essential for everyone as our lives now live on our phones, and realistically I’ve noticed most people are less secure with their mobile devices than they are with their desktop computers. When in the real world your phone/phone number should be more important to protection as it ends up being that 2FA step that malicious entities would have to overcome, and currently it’s doable with the right attack vectors. No seriously how are these multi-millionaires not terrified that with their mindset in cyber-security and when they are targeted, they would be hacked in a matter of hours, not days or weeks? Leaving massive financial risk based on one of 3 attack vectors, compromised email, compromised mobile device, or a socially engineered SIM jacking.</p>



<h4 class="wp-block-heading">Get a Yubico Key for your personal or business cyber-security.</h4>



<script type="text/javascript">
amzn_assoc_tracking_id = "tristanp0c-20";
amzn_assoc_ad_mode = "manual";
amzn_assoc_ad_type = "smart";
amzn_assoc_marketplace = "amazon";
amzn_assoc_region = "US";
amzn_assoc_design = "enhanced_links";
amzn_assoc_asins = "B07HBD71HL";
amzn_assoc_placement = "adunit";
amzn_assoc_linkid = "fbe1ff348681137ee16615f55ceec90a";
</script>
<script src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US"></script>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pfsense pfblockerng blocking Google and Gmail for devices on network</title>
		<link>https://tristanpoulsen.com/pfsense-pfblockerng-blocking-google-and-gmail-for-devices-on-network/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Mon, 03 Oct 2022 23:19:06 +0000</pubDate>
				<category><![CDATA[Random Tech Posts]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=511</guid>

					<description><![CDATA[I&#8217;ve recently had an issue with a pfsense firewall version 2.6.0 that caused users on multiple devices to experience &#8220;connection timed out&#8221; for google.com and gmail. Youtube and other websites like bing were working fine. Ping google results in timed out, and traceroute wasn&#8217;t working either. I added google, Gmail, and youtube to the whitelist, ... <a title="Pfsense pfblockerng blocking Google and Gmail for devices on network" class="read-more" href="https://tristanpoulsen.com/pfsense-pfblockerng-blocking-google-and-gmail-for-devices-on-network/" aria-label="Read more about Pfsense pfblockerng blocking Google and Gmail for devices on network">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>I&#8217;ve recently had an issue with a pfsense firewall version 2.6.0 that caused users on multiple devices to experience &#8220;connection timed out&#8221; for google.com and gmail. Youtube and other websites like bing were working fine. Ping google results in timed out, and traceroute wasn&#8217;t working either.</p>



<p>I added google, Gmail, and youtube to the whitelist, and tested resetting DHCP and DNS. The only thing that seemed to work temporarily was to restart the pfsense device. I searched bing.com for the first time in years, also google on my phone, and none of the forums had the answer. One post on reddit even said <em>&#8220;It’s not pfsense, this is known in the industry as a layer 8 issue. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61c.png" alt="😜" class="wp-smiley" style="height: 1em; max-height: 1em;" />Check pfblocker logs and look for the blocks. A note on the whitelist, sometimes you may need to clear your state table (shouldn’t have to but with any rule changes, clearing the states is a good troubleshooting thing)&#8221;</em> Reading this, I felt hopeless and went to bed.</p>



<p>The next day, I cleared the states, and nothing still. The problem this time was permanent on my desktop but periodic for other devices that were on the wifi, which confused me more. So then, by finally looking through the proper logs, I found in pfblockerng that IP&#8217;s which I crossed referenced as googles servers, were being blocked by the &#8220;Block snort2c hosts&#8221; rule in the firewall. Okay, so I searched the snort2c table to find those exact IPs from google. Finally!</p>



<p>My current solution (which is still a work in progress) was to reset the snort2c table, which for some reason had the resolved google servers for google.com on the block table. I realized that even though I had whitelisted www.google.com and google.com, they were being blocked because pfblockerng / snort2c added the resolved google IP as a block.</p>



<p>Now all I need to do is diagnose why the rule in pfblockerng is causing the snort2c block, regardless of the addition of google to the whitelist. I&#8217;ll post an update when I find the best solution vs. just resetting the snort2c table.</p>



<h2 class="wp-block-heading"><strong>Update</strong> | 10-6-2022</h2>



<p>I&#8217;ve got an update to this post and so even though pfblockerng is showing the blocked IPs from google, apparently, Suricata is to blame. Hold on, I&#8217;m no pfsense master, just a humble student of networking, I&#8217;ll get to the point.</p>



<p>After some additional research on the all-mighty google &#8211; I think I might have found a solution (still testing the viability at the moment). Seems as though the best solution is to have a modified &#8220;<strong>Remove Blocked Hosts Interval</strong>&#8221; of 1 hour.<br>&#8220;Please select the amount of time you would like hosts to be blocked. Note this setting is only applicable when using Legacy Mode blocking! This setting is ignored when using Inline IPS Mode.<br>Hint: in most cases, 1 hour is a good choice.&#8221;</p>



<p>To find this setting: <strong>Services -> Suricata -> Global Settings -> towards the bottom [<strong>Remove Blocked Hosts Interval</strong></strong>]<br>I changed mine from 4 days to 1 hour in hopes that google IPs being blocked by snort will at least be removed at a faster rate than before in my configuration.<br>I also chose to turn on logs for Suricata below the remove blocked hosts setting.</p>



<p><strong>References:</strong><br>https://forum.netgate.com/topic/131510/pfsense-keeps-blocking-google-com-i-lost-all-hope<br>https://www.reddit.com/r/PFSENSE/comments/oq4s6s/pfsense_blocking_googlecom_and_searches_but/<br>https://forum.netgate.com/topic/171592/suricata-blocking-google-gmail<br>https://www.reddit.com/r/PFSENSE/comments/qnhqvr/help_100_packet_loss_on_wan_link_not_isp_does_not/</p>



<p>***https://forum.netgate.com/topic/137889/snort/2*** Solution<br></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ultimate 2022 Smart Apartment on a Budget</title>
		<link>https://tristanpoulsen.com/ultimate-2022-smart-apartment-on-a-budget/</link>
		
		<dc:creator><![CDATA[tristanpoulsen]]></dc:creator>
		<pubDate>Wed, 25 May 2022 17:39:28 +0000</pubDate>
				<category><![CDATA[Smart Home]]></category>
		<category><![CDATA[Tech]]></category>
		<guid isPermaLink="false">https://tristanpoulsen.com/?p=498</guid>

					<description><![CDATA[Ultimate Smart Apartment – On A Budget If you’re looking into how to automate and set up a smart home/apartment, these are my recommendations based on what I&#8217;ve bought and what I think would work great in any smart apartment setup. For software, I&#8217;m currently using the Smart Life App in tandem with Alexa to ... <a title="Ultimate 2022 Smart Apartment on a Budget" class="read-more" href="https://tristanpoulsen.com/ultimate-2022-smart-apartment-on-a-budget/" aria-label="Read more about Ultimate 2022 Smart Apartment on a Budget">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p>Ultimate Smart Apartment – On A Budget</p>



<p>If you’re looking into how to automate and set up a smart home/apartment, these are my recommendations based on what I&#8217;ve bought and what I think would work great in any smart apartment setup.</p>



<p>For software, I&#8217;m currently using the <a rel="noreferrer noopener" href="https://play.google.com/store/apps/details?id=com.tuya.smartlife&amp;hl=en_US&amp;gl=US" target="_blank">Smart Life App</a> in tandem with Alexa to control switches, devices, and lights in my apartment. The reviews of this app recently aren&#8217;t the best, still comes with a 4.7 rating overall and I&#8217;ve only had minor issues with the app, nothing detrimental, fortunately.</p>



<p>The first smart outlet I got was this Tantan Mini&nbsp;<strong>Smart</strong>&nbsp;Plug that works with Alexa and Google Home on amazon (no longer Tantan but Wisebot) It works well, and the upside is the button status light is off when off (unlike the next sensor) The main issue with this one is that you aren’t applying to plug in 2 at the same time which is a real bummer – it’s also lacking a few minor features</p>



<p>Now the next sensor I picked was this BN Link wifi Smart Plug. It comes in a heavy-duty 4 pack. Works with Google Assistant and Alexa of course. The good about this switch is that you can fit 2 or more stacked vertically (but not horizontally unless the outlet is wide enough). It also supports electric usage tracking directly in the app. The bad about this switch is that the status light is ALWAYS on.. You could probably tweak this but out of the box it’s a bit clunky</p>



<p>For the Garage, we got a triple plug that is a single switch for all three plugs. Works great for turning on battery tenders, and power tools in the garage.</p>



<p>And the one for the patio is a dual plug with the ability to control each individual plug. Made for outdoor use which is great for outside patio lights that I have plugged into this switch.</p>



<p>I have an older Alexa dot in the living room and a newer dot in the office both of which provide enough coverage to be heard from almost everywhere in our 1000sqft apartment. </p>



<p>For lighting, I have a lamp with a Sengled Smart bulb in the living room which works great for evening lighting.</p>



<p>For the kitchen, I have a non-smart LED kit under the cabinets which is on one of the Tantan switches mentioned above. I have it set to 50% brightness on the manual controller for the kit which works great for nighttime lighting. Swap the kit to 100% and it&#8217;s fantastic for lighting whilst cooking.</p>



<p>For bathrooms and hallways at night, I have these nifty little nightlights that have auto on/off. I&#8217;m unable to stack them vertically or with other large device plugs next to them, but they work great for a less harsh green light for those nightly bathroom trips.</p>



<p>Now this, makes the list ULTIMATE. The Coffee warmer 9000, just kidding, but seriously this coffee warming plate I found is amazing when paired with a smart switch for telling, &#8220;Alexa, turn on the coffee heating plate&#8221;, and voila, your coffee is being heated to either 131F/149F/167F which can keep coffee hot for hours at the 131/149 settings. 167 is steamy or is great for heating up lukewarm coffee in under 5 minutes!</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
