<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Musselman Development</title><link>https://musselman.dev/</link><description>Recent content on Musselman Development</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 24 Nov 2024 13:56:18 -0600</lastBuildDate><atom:link href="https://musselman.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Demystifying SELinux</title><link>https://musselman.dev/posts/demystifying-selinux/</link><pubDate>Sun, 24 Nov 2024 13:56:18 -0600</pubDate><guid>https://musselman.dev/posts/demystifying-selinux/</guid><description>&lt;p>&lt;strong>SELinux&lt;/strong> (Security-Enhanced Linux) is an integral part of maintaining system security, especially in sensitive cloud and enterprise environments. It provides fine-grained access control policies through mandatory access controls, enforcing rules that protect users and processes from unauthorized access. It is a extension of the everyday Linux Kernel.&lt;/p>
&lt;p>If SELinux seems confusing at first glance, don&amp;rsquo;t worry. Understanding it is like learning the intricacies of an exclusive club with strict entry protocols. This article will break down the basics and provide a practical guide to help you get started.&lt;/p></description></item><item><title>Further Simplifying Blog and Service Deployment</title><link>https://musselman.dev/posts/further-simplifying-blog-and-service-deployment/</link><pubDate>Sat, 15 Jun 2024 11:39:09 -0500</pubDate><guid>https://musselman.dev/posts/further-simplifying-blog-and-service-deployment/</guid><description>&lt;p>This article is a follow-up to my previous posts (see &lt;a href="https://musselman.dev/posts/automating-blog-deployment-using-forgejo-actions/index.md">blog post automation&lt;/a> and &lt;a href="https://musselman.dev/posts/moving-from-nginx-to-caddy/">switching to a simpler web server&lt;/a>), I wanted to make setting up all my services easier. One of the problems I have been thoroughly tackling is the amount of steps it takes to set up a service. Even though the steps to set up a service were vastly decreased when I switched to Caddy, there was still room for simplification and automation. Most of what I was left doing could easily be transformed into a series of templates as there were only small changes between each item. Below are the changes I made to enable this and the current iteration of the script I use to deploy a new service.&lt;/p></description></item><item><title>Moving From Nginx to Caddy</title><link>https://musselman.dev/posts/moving-from-nginx-to-caddy/</link><pubDate>Fri, 14 Jun 2024 18:26:58 -0500</pubDate><guid>https://musselman.dev/posts/moving-from-nginx-to-caddy/</guid><description>&lt;p>Today was a long day. On days like these I seek out something that I find meditative to work on. More often than not I gravitate towards improving my self-hosted infrastructure. One pain point I have always had was the many moving parts that I had to run manually when setting up a new service. Today I decided I have had enough of the hassle and did something about it.&lt;/p></description></item><item><title>Automating Blog Deployment Using Forgejo Actions</title><link>https://musselman.dev/posts/automating-blog-deployment-using-forgejo-actions/</link><pubDate>Tue, 04 Jun 2024 20:58:14 -0500</pubDate><guid>https://musselman.dev/posts/automating-blog-deployment-using-forgejo-actions/</guid><description>&lt;p>Recently I have been dedicating a bit of each day to work on programming projects to give me a break from job hunting. With most programming projects that I have done in the past year or so I have used Jenkins for CI/CD to automate and run tests on my codebases. It was temperamental at best, and causing issues system-wide at worst, so I decided it was time to move on shortly after the end of my senior capstone. The question was what to replace it with.&lt;/p></description></item><item><title>Cookie Policy</title><link>https://musselman.dev/policies/cookies/</link><pubDate>Tue, 12 Mar 2024 10:28:24 +0000</pubDate><guid>https://musselman.dev/policies/cookies/</guid><description>&lt;p>This Cookies Policy explains how cookies are used on our Hugo based website. Please note that as of now, we do not utilize any cookies on our site. However, if we decide to incorporate cookies in the future, this policy will be updated accordingly to provide you with transparent information on their usage.&lt;/p>
&lt;h2 id="what-are-cookies">What are Cookies?&lt;/h2>
&lt;p>Cookies are small text files that are placed on your device when you visit a website. They are commonly used to enhance user experience, analyze website traffic, and provide personalized content.&lt;/p></description></item><item><title>Privacy Policy</title><link>https://musselman.dev/policies/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://musselman.dev/policies/privacy/</guid><description>&lt;p>This Privacy Policy outlines how we collect and use information when you interact with our website/application. We prioritize the privacy and security of your personal data and aim to provide transparent practices.&lt;/p>
&lt;h2 id="collection-and-usage-of-information">Collection and Usage of Information&lt;/h2>
&lt;p>We collect anonymized data via plausible analytics for the purpose of analyzing website traffic and usage patterns as well as preventing and mitigating Distributed Denial of Service (DDoS) attacks. This data includes but is not limited to IP addresses, browser types, and referring pages. IP adddresses are anonymized immediately and deleted after 24 hours. This approach makes it highly compliant with GDPR, CCPA, and other privacy laws. We do not collect any personally identifiable information (PII) or other sensitive data.&lt;/p></description></item><item><title>Terms of Service</title><link>https://musselman.dev/policies/terms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://musselman.dev/policies/terms/</guid><description>&lt;p>These Terms of Service (&amp;ldquo;Terms&amp;rdquo;) govern your use of our Hugo based website (&amp;ldquo;the Site&amp;rdquo;). By accessing or using the Site, you agree to abide by these Terms. If you do not agree with any part of these Terms, please refrain from using the Site.&lt;/p>
&lt;h2 id="content-sharing-and-attribution">Content Sharing and Attribution&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>You may share the content from the Site, including articles, images, and other resources, with proper attribution. When sharing, you must clearly indicate the source of the content by providing a link or reference to the original page on our Site.&lt;/p></description></item></channel></rss>