~cyborg/blog

0ec3dd0370a11cde6fb58b24aa57da240a86cecf — cyborg 17 days ago f8203e2
update reference to old blog.cleberg.io subdomain
M roll-your-own-static-commenting-system-in-php.html => roll-your-own-static-commenting-system-in-php.html +1 -1
@@ 244,7 244,7 @@ echo $comment_section;</code></pre>
                here that I may
                implement in the future:</p>
            <ul>
                <li>Create a secure moderator page with user authentication at <code>https://blog.cleberg.io/mod/</code>.
                <li>Create a secure moderator page with user authentication at <code>https://blog.example.com/mod/</code>.
                    This page could have the
                    option to edit or delete any comment found in <code>comments.json</code>.
                </li>

M rss.xml => rss.xml +94 -94
@@ 5,9 5,9 @@
     xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
    <channel>
        <atom:link href="https://blog.cleberg.io/rss.xml" rel="self" type="application/rss+xml"/>
        <atom:link href="https://cleberg.io/blog/rss.xml" rel="self" type="application/rss+xml"/>
        <title>Blog | Christian Cleberg</title>
        <link>https://blog.cleberg.io</link>
        <link>https://cleberg.io/blog</link>
        <description>This is the personal blog of Christian Cleberg. There are no specific topics to be covered in any
            of my blog posts but you can find information on auditing, security, software development, and other
            oddities in my life.


@@ 20,15 20,15 @@
        <image>
            <url>https://img.cleberg.io/share/profile.jpg</url>
            <title>Blog | Christian Cleberg</title>
            <link>https://blog.cleberg.io</link>
            <link>https://cleberg.io/blog</link>
        </image>
        <item>
            <title>How to Delete All GitLab Repositories</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/how-to-delete-all-gitlab-repositories.html</link>
            <link>https://cleberg.io/blog/how-to-delete-all-gitlab-repositories.html</link>
            <pubDate>Thu, 15 Jul 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/how-to-delete-all-gitlab-repositories.html</guid>
            <guid>https://cleberg.io/blog/how-to-delete-all-gitlab-repositories.html</guid>
            <description>
                <![CDATA[Use this simple Python script to delete all GitLab repositories without doing any manual work.]]></description>
            <content:encoded><![CDATA[<!doctype html>


@@ 174,9 174,9 @@ if __name__ == "__main__":
            <title>Changing Git Authors</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/changing-git-authors.html</link>
            <link>https://cleberg.io/blog/changing-git-authors.html</link>
            <pubDate>Sun, 30 May 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/changing-git-authors.html</guid>
            <guid>https://cleberg.io/blog/changing-git-authors.html</guid>
            <description>
                <![CDATA[Learn how to change Git author names and emails with this quick bash script.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 235,9 235,9 @@ done</code></pre>
            <title>Jumping Back Into Photography</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/jumping-back-into-photography.html</link>
            <link>https://cleberg.io/blog/jumping-back-into-photography.html</link>
            <pubDate>Wed, 28 Apr 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/jumping-back-into-photography.html</guid>
            <guid>https://cleberg.io/blog/jumping-back-into-photography.html</guid>
            <description><![CDATA[A quick description of my current photography kit.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><h2>Why Photography?</h2>


@@ 288,9 288,9 @@ camera -&gt; computer/cloud storage -&gt; editing -&gt; publishing process.</p>
            <title>Roll Your Own Static Commenting System in PHP</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/roll-your-own-static-commenting-system-in-php.html</link>
            <link>https://cleberg.io/blog/roll-your-own-static-commenting-system-in-php.html</link>
            <pubDate>Fri, 23 Apr 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/roll-your-own-static-commenting-system-in-php.html</guid>
            <guid>https://cleberg.io/blog/roll-your-own-static-commenting-system-in-php.html</guid>
            <description>
                <![CDATA[Tired of comment systems forcing you to use third-party frames or scripts? Use PHP to create a static set of comments and increase your blog engagement.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 463,12 463,12 @@ echo $comment_section;</code></pre>
<p>Finally, the last part of my current system is to create a Recent Comments page so that I can easily check-in on my blog
and moderate any spam. As an alternative, you could use PHP's <code>mail()</code> function to email you for each blog comment.</p>
<p>The code to do this is literally the same code as the previous section, I just make sure it is printed when someone
visits <a href="https://blog.cleberg.io/comments/" rel="noopener,noreferrer" target="_blank">https://blog.cleberg.io/comments/</a>.</p>
visits <a href="https://blog.example.com/comments/" rel="noopener,noreferrer" target="_blank">https://blog.example.com/comments/</a>.</p>
<h2>Possible Enhancements</h2>
<p>This comment system is by no means a fully-developed system. I have noted a few possible enhancements here that I may
implement in the future:</p>
<ul>
<li>Create a secure moderator page with user authentication at <code>https://blog.cleberg.io/mod/</code>. This page could have the
<li>Create a secure moderator page with user authentication at <code>https://blog.example.com/mod/</code>. This page could have the
option to edit or delete any comment found in <code>comments.json</code>.</li>
<li>Create a temporary file, such as <code>pending_comments.json</code>, that will store newly-submitted comments and won't display
on blog posts until approved by a moderator.</li>


@@ 481,14 481,14 @@ comments were rejected.</li>
            <title>Hosting a Gemini Server</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/hosting-a-gemini-server.html</link>
            <link>https://cleberg.io/blog/hosting-a-gemini-server.html</link>
            <pubDate>Sat, 17 Apr 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/hosting-a-gemini-server.html</guid>
            <guid>https://cleberg.io/blog/hosting-a-gemini-server.html</guid>
            <description>
                <![CDATA[An easy-to-follow tutorial on hosting your own Gemini server with Ubuntu 20.04.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><h2>A Recap on Gemini</h2>
<p>To read more about Gemini and ways to test out this new protocol without your own server, see my previous post <a href="https://blog.cleberg.io/post/launching-a-gemini-capsule.html" rel="noopener,noreferrer" target="_blank">Launching a Gemini Capsule</a>.</p>
<p>To read more about Gemini and ways to test out this new protocol without your own server, see my previous post <a href="https://cleberg.io/blog/launching-a-gemini-capsule.html" rel="noopener,noreferrer" target="_blank">Launching a Gemini Capsule</a>.</p>
<h2>Preparation</h2>
<p>This guide assumes you have access to a server accessible to the world through a public IP address and that you own a domain name used for this Gemini capsule.</p>
<h2>Getting Started with Agate</h2>


@@ 548,9 548,9 @@ Amfora: gemlog.cleberg.io</p></body></html>
            <title>How to Create a VPS Web Server</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/how-to-create-a-vps-web-server.html</link>
            <link>https://cleberg.io/blog/how-to-create-a-vps-web-server.html</link>
            <pubDate>Tue, 30 Mar 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/how-to-create-a-vps-web-server.html</guid>
            <guid>https://cleberg.io/blog/how-to-create-a-vps-web-server.html</guid>
            <description>
                <![CDATA[Read this guide to transferring websites from a shared hosting provider to a virtual private server (VPS).]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 714,7 714,7 @@ test automatic renewal for your certificates by running this command:</p>
<p>Now, test your domains by going to <code>https://example.com</code>.</p>
<h2>Firewall Security</h2>
<p>To enable better security on your server, you'll need to enable a basic firewall. For Ubuntu, we'll
use <a href="https://blog.cleberg.io/post/secure-your-network-with-the-uncomplicated-firewall.html" rel="noopener,noreferrer" target="_blank">the uncomplicated firewall</a>.</p>
use <a href="https://cleberg.io/blog/secure-your-network-with-the-uncomplicated-firewall.html" rel="noopener,noreferrer" target="_blank">the uncomplicated firewall</a>.</p>
<p>Now, add the following rules to the firewall allow SSH, Apache, and HTTP(S) connections. If you need to, you can enable
different ports for specifics applications, SFTP, etc.</p>
<pre><code class="language-bash">ufw allow OpenSSH


@@ 735,9 735,9 @@ and <code>error.log</code> files in the <code>/var/log/apache/</code> directory.
            <title>Vaporwave vs Outrun</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/vaporwave-vs-outrun.html</link>
            <link>https://cleberg.io/blog/vaporwave-vs-outrun.html</link>
            <pubDate>Sun, 28 Mar 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/vaporwave-vs-outrun.html</guid>
            <guid>https://cleberg.io/blog/vaporwave-vs-outrun.html</guid>
            <description>
                <![CDATA[This post describes the differences between Vaporwave and Outrun, aesthetic forms of media often confused for each other.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 806,9 806,9 @@ aesthetic we're looking for.</p></body></html>
            <title>Launching a Gemini Capsule</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/launching-a-gemini-capsule.html</link>
            <link>https://cleberg.io/blog/launching-a-gemini-capsule.html</link>
            <pubDate>Sun, 28 Mar 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/launching-a-gemini-capsule.html</guid>
            <guid>https://cleberg.io/blog/launching-a-gemini-capsule.html</guid>
            <description>
                <![CDATA[One of the major alternatives to HTTP(S), Gemini is quickly becoming a cult favorite in the world of internet protocols.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 904,9 904,9 @@ view the final results. Take a look at the image below for my Sourcehut Gemini c
            <title>How to Clone All Repositories from a GitHub Account</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/how-to-clone-all-github-repositories.html</link>
            <link>https://cleberg.io/blog/how-to-clone-all-github-repositories.html</link>
            <pubDate>Fri, 19 Mar 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/how-to-clone-all-github-repositories.html</guid>
            <guid>https://cleberg.io/blog/how-to-clone-all-github-repositories.html</guid>
            <description>
                <![CDATA[If you ever need to clone all repositories from a user's or organization's account on GitHub, simply run this script.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 995,9 995,9 @@ done</code></pre>
            <title>macOS: Testing Out A New OS</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/macos-testing-out-a-new-os.html</link>
            <link>https://cleberg.io/blog/macos-testing-out-a-new-os.html</link>
            <pubDate>Fri, 19 Feb 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/macos-testing-out-a-new-os.html</guid>
            <guid>https://cleberg.io/blog/macos-testing-out-a-new-os.html</guid>
            <description>
                <![CDATA[As a Linux user who grew up on Windows, MacOS is a whole new world for me. However, I've found that it's actually an incredibly useful OS.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1095,9 1095,9 @@ plugins=(git zsh-autosuggestions)</code></pre>
            <title>Secure Your Network with the Uncomplicated Firewall</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/secure-your-network-with-the-uncomplicated-firewall.html</link>
            <link>https://cleberg.io/blog/secure-your-network-with-the-uncomplicated-firewall.html</link>
            <pubDate>Thu, 07 Jan 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/secure-your-network-with-the-uncomplicated-firewall.html</guid>
            <guid>https://cleberg.io/blog/secure-your-network-with-the-uncomplicated-firewall.html</guid>
            <description>
                <![CDATA[Use the uncomplicated firewall (ufw) to secure your network with minimal effort.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1207,9 1207,9 @@ ports=88/tcp|9100/udp</code></pre>
            <title>A Simple Guide to the Fediverse</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/a-simple-guide-to-the-fediverse.html</link>
            <link>https://cleberg.io/blog/a-simple-guide-to-the-fediverse.html</link>
            <pubDate>Mon, 04 Jan 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/a-simple-guide-to-the-fediverse.html</guid>
            <guid>https://cleberg.io/blog/a-simple-guide-to-the-fediverse.html</guid>
            <description>
                <![CDATA[Read this short guide to understand how federated universes exists and how we can use it to our advantage.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1289,9 1289,9 @@ choose from. If you're looking for something else, try a web search for a federa
            <title>SEUM: Speedrunners from Hell</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/seum.html</link>
            <link>https://cleberg.io/blog/seum.html</link>
            <pubDate>Fri, 01 Jan 2021 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/seum.html</guid>
            <guid>https://cleberg.io/blog/seum.html</guid>
            <description>
                <![CDATA[SEUM: Spreedrunners from Hell makes gamers of all skill levels rage with fast-paced runs and impossible puzzles.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1348,9 1348,9 @@ quickly smash <code>R</code> to restart the level or <code>M</code> to return to
            <title>Zork: Let's Explore a Classic</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/zork.html</link>
            <link>https://cleberg.io/blog/zork.html</link>
            <pubDate>Tue, 29 Dec 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/zork.html</guid>
            <guid>https://cleberg.io/blog/zork.html</guid>
            <description>
                <![CDATA[Let's play Zork, one of the most iconic text-based adventure games of the 1980s.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1406,9 1406,9 @@ online version.</p></body></html>
            <title>Neon Drive: A Nostalgic 80s Arcade Racing Game</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/neon-drive.html</link>
            <link>https://cleberg.io/blog/neon-drive.html</link>
            <pubDate>Mon, 28 Dec 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/neon-drive.html</guid>
            <guid>https://cleberg.io/blog/neon-drive.html</guid>
            <description>
                <![CDATA[Neon Drive (released in 2016) gives users the nostalgic fun of an arcade racing game, while sticking to the core aesthetics of outrun and synthwave.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1469,9 1469,9 @@ or delve into the world of emulation.</p></body></html>
            <title>Redesigning My Website: The 5 KB Result</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/minimal-website-redesign.html</link>
            <link>https://cleberg.io/blog/minimal-website-redesign.html</link>
            <pubDate>Sun, 27 Dec 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/minimal-website-redesign.html</guid>
            <guid>https://cleberg.io/blog/minimal-website-redesign.html</guid>
            <description>
                <![CDATA[After struggling with indecision around designs for my homepage and test, I decided to scrap it all and go minimal.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1535,9 1535,9 @@ please <a href="mailto:hello@cleberg.io" rel="noopener,noreferrer" target="_blan
            <title>On the Pursuit of Mediocrity</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/on-the-pursuit-of-mediocrity.html</link>
            <link>https://cleberg.io/blog/on-the-pursuit-of-mediocrity.html</link>
            <pubDate>Mon, 12 Oct 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/on-the-pursuit-of-mediocrity.html</guid>
            <guid>https://cleberg.io/blog/on-the-pursuit-of-mediocrity.html</guid>
            <description>
                <![CDATA[As workers in the modern world, we often find ourselves searching for the perfect solutions to problems when there are better alternatives. However, we must consider when mediocrity isn't enough.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1614,9 1614,9 @@ outcomes we create.</p></body></html>
            <title>Data Visualization: World Choropleth Map of Happiness</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/data-visualization-world-choropleth-map-of-happiness.html</link>
            <link>https://cleberg.io/blog/data-visualization-world-choropleth-map-of-happiness.html</link>
            <pubDate>Fri, 25 Sep 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/data-visualization-world-choropleth-map-of-happiness.html</guid>
            <guid>https://cleberg.io/blog/data-visualization-world-choropleth-map-of-happiness.html</guid>
            <description>
                <![CDATA[Utilize Python and Folium to generate a world choropleth map that can display world happiness rankings, as well as other country statistics.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1782,9 1782,9 @@ world_map</code></pre>
            <title>What is Internal Audit?</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/what-is-internal-audit.html</link>
            <link>https://cleberg.io/blog/what-is-internal-audit.html</link>
            <pubDate>Tue, 22 Sep 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/what-is-internal-audit.html</guid>
            <guid>https://cleberg.io/blog/what-is-internal-audit.html</guid>
            <description>
                <![CDATA[Learn more about internal audit, a company's way of extracting more value from their processes, controlling risks, and satisfying government regulations.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 1930,9 1930,9 @@ more value from the data they&acirc;&#128;&#153;re using to form conclusions.</p
            <title>IBM Watson Visual Recognition</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/ibm-watson-visual-recognition.html</link>
            <link>https://cleberg.io/blog/ibm-watson-visual-recognition.html</link>
            <pubDate>Tue, 01 Sep 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/ibm-watson-visual-recognition.html</guid>
            <guid>https://cleberg.io/blog/ibm-watson-visual-recognition.html</guid>
            <description>
                <![CDATA[Jump into machine learning with a look at the IBM Watson Visual Recognition API. This post shows how to use Python to classify images automatically using IBM Watson.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 2126,9 2126,9 @@ thought about the tools that can help propel us further into the future of machi
            <title>PHP Authentication Flow</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/php-authentication-flow.html</link>
            <link>https://cleberg.io/blog/php-authentication-flow.html</link>
            <pubDate>Sat, 29 Aug 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/php-authentication-flow.html</guid>
            <guid>https://cleberg.io/blog/php-authentication-flow.html</guid>
            <description>
                <![CDATA[Learn how to authenticate user accounts, hash passwords, and maintain valid authentication across your site with PHP.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 2274,9 2274,9 @@ and <a href="https://www.php.net/manual/en/function.hash.php" rel="noopener,nore
            <title>Redirect GitHub Pages from Subdomain to the Top-Level Domain</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/github-pages-subdomain-to-tld.html</link>
            <link>https://cleberg.io/blog/github-pages-subdomain-to-tld.html</link>
            <pubDate>Sat, 22 Aug 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/github-pages-subdomain-to-tld.html</guid>
            <guid>https://cleberg.io/blog/github-pages-subdomain-to-tld.html</guid>
            <description>
                <![CDATA[Follow this easy steps to configure your GitHub Pages project to redirect from a subdomain (e.g. www.example.com) to the top-level domain (e.g. example.com).]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 2347,9 2347,9 @@ curl --header "Host: example.com" http://185.199.108.153/</code></pre>
            <title>Algorithmically Analyzing Local Businesses</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/algorithmically-analyzing-local-businesses.html</link>
            <link>https://cleberg.io/blog/algorithmically-analyzing-local-businesses.html</link>
            <pubDate>Sun, 26 Jul 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/algorithmically-analyzing-local-businesses.html</guid>
            <guid>https://cleberg.io/blog/algorithmically-analyzing-local-businesses.html</guid>
            <description>
                <![CDATA[In this project, we use the Foursquare API, Leaflet maps, and the k-means algorithm to cluster data points of location business geo-locations.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 2645,9 2645,9 @@ multiple sources, such as Google Maps and OpenStreetMap.</p></body></html>
            <title>Data Exploration: Video Game Sales</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/data-exploration-video-game-sales.html</link>
            <link>https://cleberg.io/blog/data-exploration-video-game-sales.html</link>
            <pubDate>Mon, 20 Jul 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/data-exploration-video-game-sales.html</guid>
            <guid>https://cleberg.io/blog/data-exploration-video-game-sales.html</guid>
            <description>
                <![CDATA[Use Python to explore a dataset of video game sales from 1980 to 2020, including basic analyses and visualizations.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 2819,9 2819,9 @@ world events are correlated with sales.</p></body></html>
            <title>Beginner's Guide: Customizing Ubuntu</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/customizing-ubuntu.html</link>
            <link>https://cleberg.io/blog/customizing-ubuntu.html</link>
            <pubDate>Tue, 19 May 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/customizing-ubuntu.html</guid>
            <guid>https://cleberg.io/blog/customizing-ubuntu.html</guid>
            <description>
                <![CDATA[Learn how to customize your Ubuntu Desktop 20.04 installation: choose your own application theme, shell theme, icons, cursors, fonts, and terminals!]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 2930,9 2930,9 @@ activated, so just add any other plugins to the parentheses separated by a space
            <title>An Inside Look at My Homelab</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/homelab.html</link>
            <link>https://cleberg.io/blog/homelab.html</link>
            <pubDate>Sun, 03 May 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/homelab.html</guid>
            <guid>https://cleberg.io/blog/homelab.html</guid>
            <description>
                <![CDATA[Walk through the beginning steps to creating my own homelab, including the hardware, tools, and services I am using to get it running.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 3021,9 3021,9 @@ Webmin to use a custom domain just like Nextcloud.</p></body></html>
            <title>Session Private Messenger</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/session-private-messenger.html</link>
            <link>https://cleberg.io/blog/session-private-messenger.html</link>
            <pubDate>Wed, 25 Mar 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/session-private-messenger.html</guid>
            <guid>https://cleberg.io/blog/session-private-messenger.html</guid>
            <description>
                <![CDATA[Learn more about Session, a private and decentralized messaging service from the Loki Network. Read more to get a preview of the app's main functions.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 3031,7 3031,7 @@ Webmin to use a custom domain just like Nextcloud.</p></body></html>
<p>The company behind Session (Loki Foundation) is from Australia. If you didn't know, Australia has
introduced <a href="https://parlinfo.aph.gov.au/parlInfo/download/legislation/bills/r6195_aspassed/toc_pdf/18204b01.pdf" rel="noopener,noreferrer" target="_blank">legislation</a>
mandating companies comply with government requests to build backdoor access into applications. For more information,
<a href="https://blog.cleberg.io/post/aes-encryption.html" rel="noopener,noreferrer" target="_blank">see my article on AES Encryption</a></p>
<a href="https://cleberg.io/blog/aes-encryption.html" rel="noopener,noreferrer" target="_blank">see my article on AES Encryption</a></p>
<h2>About Session</h2>
<p><a href="https://getsession.org" rel="noopener,noreferrer" target="_blank">Session</a> is a private, cross-platform messaging app from
the <a href="https://loki.foundation" rel="noopener,noreferrer" target="_blank">Loki Foundation</a>. As someone who has spent years looking for quality alternatives to major


@@ 3098,14 3098,14 @@ This is actually one of the reasons I stopped using Signal.</p>
            <title>Cryptography Basics</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/cryptography-basics.html</link>
            <link>https://cleberg.io/blog/cryptography-basics.html</link>
            <pubDate>Sun, 09 Feb 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/cryptography-basics.html</guid>
            <guid>https://cleberg.io/blog/cryptography-basics.html</guid>
            <description>
                <![CDATA[Brush up on the basics of cryptography, encryption techniques, and intelligent IT controls to mitigate cryptographic risks.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p><strong>Similar Article Available</strong></p>
<p>If you haven't already, read my previous article on <a href="https://blog.cleberg.io/post/aes-encryption.html" rel="noopener,noreferrer" target="_blank">AES Encryption</a></p>
<p>If you haven't already, read my previous article on <a href="https://cleberg.io/blog/aes-encryption.html" rel="noopener,noreferrer" target="_blank">AES Encryption</a></p>
<h2>What is Cryptography?</h2>
<p>In layman's terms, cryptography is a process that can change data from a readable format into an unreadable format (and
vice-versa) through a series of processes and secrets. More technically, this is the Internet Security Glossary's


@@ 3132,7 3132,7 @@ to reverse, which is why it's commonly used to verify integrity.</li>
<h2>Symmetric Systems (Secret Key Cryptography)</h2>
<p>Symmetric cryptography utilizes a secret, bidirectional key to perform both encryption and decryption of the data. The
most common implementation of symmetric cryptography is
the <a href="https://blog.cleberg.io/article/aes-encryption.html" rel="noopener,noreferrer" target="_blank">Advanced Encryption Standard</a>, which uses keys that are 128
the <a href="https://cleberg.io/blog/aes-encryption.html" rel="noopener,noreferrer" target="_blank">Advanced Encryption Standard</a>, which uses keys that are 128
bits to 256 bits in size. This standard came after the National Institute of Standards and Technology (NIST) decided to
retire the Data Encryption Standard (DES) in 2001.</p>
<p>Since brute force attacks strongly correlate with key length, the 56-bit key length of DES was considered insecure after


@@ 3203,16 3203,16 @@ robust, and align with recommended guidelines.</p>
            <title>Linux Gaming Tweak: Steam on NTFS Drives</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/steam-on-ntfs-drives.html</link>
            <link>https://cleberg.io/blog/steam-on-ntfs-drives.html</link>
            <pubDate>Sun, 26 Jan 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/steam-on-ntfs-drives.html</guid>
            <guid>https://cleberg.io/blog/steam-on-ntfs-drives.html</guid>
            <description>
                <![CDATA[Having trouble launching Steam games after installing them on another drive? Read here how to fix it.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><h2>Auto-Mount Steam Drives</h2>
<p><img src="https://img.cleberg.io/blog/007-the-best-linux-software/steam.png" alt="Steam example" class="img-fluid" title="Steam example"></p>
<p>If you want to see how to install Steam on Linux, see my other
post: <a href="https://blog.cleberg.io/article/the-best-linux-software.html" rel="noopener,noreferrer" target="_blank">The Best Linux Software</a>.</p>
post: <a href="https://cleberg.io/blog/the-best-linux-software.html" rel="noopener,noreferrer" target="_blank">The Best Linux Software</a>.</p>
<p>Are you having trouble launching games, even though they've installed correctly? This may happen if you're storing your
games on an nfts-formatted drive. This shouldn't be an issue if you're storing your games on the same drive that Steam
is on, but some gamers prefer to put Steam on their main drive and game files on another SSD or HDD.</p>


@@ 3250,9 3250,9 @@ computer, and it will be done for you automatically.</p></body></html>
            <title>The Best Linux Software</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/the-best-linux-software.html</link>
            <link>https://cleberg.io/blog/the-best-linux-software.html</link>
            <pubDate>Sat, 25 Jan 2020 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/the-best-linux-software.html</guid>
            <guid>https://cleberg.io/blog/the-best-linux-software.html</guid>
            <description>
                <![CDATA[A running-list of notable applications, packages, and other software available for use on Linux.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 3345,7 3345,7 @@ the <code>multilib</code> source. To do so, use the following command:</p>
Include = /etc/pacman.d/mirrorlist</code></pre>
<p>Finally, install the program:</p>
<pre><code class="language-bash">sudo pacman -S steam</code></pre>
<p><a href="https://blog.cleberg.io/article/steam-on-ntfs-drives.html" rel="noopener,noreferrer" target="_blank">Problem Launching Steam Games? Click Here.</a></p>
<p><a href="https://cleberg.io/blog/steam-on-ntfs-drives.html" rel="noopener,noreferrer" target="_blank">Problem Launching Steam Games? Click Here.</a></p>
<hr>
<h2>Command-Line Packages</h2>
<h3><a href="https://github.com/dylanaraps/neofetch" rel="noopener,noreferrer" target="_blank">neofetch</a></h3>


@@ 3378,9 3378,9 @@ install Python if you don't have it already. You can check to see if you have Py
            <title>Password Security</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/password-security.html</link>
            <link>https://cleberg.io/blog/password-security.html</link>
            <pubDate>Mon, 16 Dec 2019 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/password-security.html</guid>
            <guid>https://cleberg.io/blog/password-security.html</guid>
            <description>
                <![CDATA[In a world full of insecure data practices, it's our responsibility to ensure proper security and fidelity.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 3453,9 3453,9 @@ assertions in the total <a href="https://pages.nist.gov/800-63-3/" rel="noopener
            <title>The Ansoff Matrix</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/the-ansoff-matrix.html</link>
            <link>https://cleberg.io/blog/the-ansoff-matrix.html</link>
            <pubDate>Tue, 03 Dec 2019 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/the-ansoff-matrix.html</guid>
            <guid>https://cleberg.io/blog/the-ansoff-matrix.html</guid>
            <description>
                <![CDATA[A quick dive into the power of the Ansoff Matrix, one of the most popular strategic planning frameworks.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 3464,15 3464,15 @@ assertions in the total <a href="https://pages.nist.gov/800-63-3/" rel="noopener
According to Dess, McNamara, Eisner, and Lee, managers must be willing to adapt to the modern business environment by
going beyond "'incremental management', whereby they view their job as making a series of small, minor changes to
improve the efficiency of the firm's
operations" <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[1]</a>. One reason that strategic
operations" <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[1]</a>. One reason that strategic
management is crucial is because most businesses that fail in the United States each year fail due to a lack of
strategic focus or direction <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[2]</a>. The rate of
strategic focus or direction <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[2]</a>. The rate of
failure for businesses with poor strategies shows that strategic planning and management are crucial to a business's
strength and longevity, injecting the critical factors of growth and direction into a company's business plan.</p>
<p>One of the most significant strategic planning and management frameworks that companies can use is the Ansoff Matrix.
While this framework has unique purposes and use-cases, it can effectively help an organization grow and compete.
Specifically, the Ansoff matrix is one of the most effective frameworks for companies who want to focus on increasing
sales revenue or profitability <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[3]</a>.</p>
sales revenue or profitability <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[3]</a>.</p>
<p>This framework uses a two-by-two figure to show the four strategic options for companies to use in this framework:
market penetration, market development, product development, and diversification (see <strong>Figure 1</strong>). The x-axis of the
matrix focuses on the firm's markets and also determines if the firm is looking to enter new markets or innovate in its


@@ 3482,30 3482,30 @@ strategies around their existing products or explore new products.</p>
<em>Figure 1: The Ansoff Matrix</em></p>
<h2>Market Penetration</h2>
<p>The most straightforward strategy in the Ansoff matrix is to focus on existing products in existing markets, also known
as market penetration <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[3]</a>. Companies such as
as market penetration <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[3]</a>. Companies such as
Coca-Cola have used market penetration successfully by investing a lot of money to get further value out of their
current markets. Coca-Cola does this by introducing new features such as Christmas-themed bottles, personal names on the
bottles, and other marketing schemes.</p>
<h2>Market Development</h2>
<p>market development extends existing products into new markets in an attempt to increase the number of buyers. One
interesting way that Coca-Cola used this strategy comes from the stigma that Diet Coke is a woman's
drink <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>. Coca-Cola introduced Coca-Cola Zero,
drink <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>. Coca-Cola introduced Coca-Cola Zero,
which contained the same nutritional content as Diet Coke, but was packaged in a dark black can to appear more "
manly" <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>.</p>
manly" <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>.</p>
<h2>Product Development</h2>
<p>Product development uses existing markets to introduce new products so that the firm can better meet customer
needs <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>. The extreme end of diversification is
needs <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>. The extreme end of diversification is
home to companies such as Johnson &amp; Johnson, a healthcare company that has developed a business portfolio of more than
60,000 different products <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[5]</a>. Johnson &amp;
60,000 different products <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[5]</a>. Johnson &amp;
Johnson's dedication to continuous diversification has led them to a balance sheet rating of "AAA", industry recognition
for diversification, and increases in their investor dividends for 57 consecutive
years <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[6]</a>.</p>
years <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[6]</a>.</p>
<h2>Related Diversification</h2>
<p>Diversification, the final strategy of the Ansoff Matrix, is more difficult than the others since it involves exploring
both new markets and new products. Related diversification is a diversification strategy that closely relates to the
firm's core business. Coca-Cola's best example of related diversification is its acquisition of Glaceau and Vitamin
Water, which expanded their drinking lines of
business <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>.</p>
business <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references" rel="noopener,noreferrer" target="_blank">[4]</a>.</p>
<h2>Unrelated Diversification</h2>
<p>Unrelated diversification is a diversification strategy that does not really relate to the firm's core business but
still diversifies their business portfolio. A good example of this would be a coffee company who has decided to enter


@@ 3546,9 3546,9 @@ from <a href="http://www.investor.jnj.com/_document/2018-investor-fact-sheet-4-1
            <title>Data Analysis in Auditing</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/data-analysis-in-auditing.html</link>
            <link>https://cleberg.io/blog/data-analysis-in-auditing.html</link>
            <pubDate>Mon, 09 Sep 2019 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/data-analysis-in-auditing.html</guid>
            <guid>https://cleberg.io/blog/data-analysis-in-auditing.html</guid>
            <description>
                <![CDATA[My current take on incorporating data analysis into the internal auditing function.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 3693,9 3693,9 @@ exploring new options as your processes grow and evolve.</p></body></html>
            <title>Useful CSS Snippets</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/useful-css-snippets.html</link>
            <link>https://cleberg.io/blog/useful-css-snippets.html</link>
            <pubDate>Mon, 07 Jan 2019 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/useful-css-snippets.html</guid>
            <guid>https://cleberg.io/blog/useful-css-snippets.html</guid>
            <description>
                <![CDATA[Some quick and easy CSS snippets that can help you save time or learn something new.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">


@@ 3776,9 3776,9 @@ or <a href="https://uimovement.com" rel="noopener,noreferrer" target="_blank">UI
            <title>AES Encryption</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/aes-encryption.html</link>
            <link>https://cleberg.io/blog/aes-encryption.html</link>
            <pubDate>Sat, 08 Dec 2018 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/aes-encryption.html</guid>
            <guid>https://cleberg.io/blog/aes-encryption.html</guid>
            <description><![CDATA[A beginner's introduction to the AES encryption model.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><h2>Basic AES</h2>


@@ 3861,9 3861,9 @@ take advantage of these forced exploits.</p>
            <title>The C++ Compiler</title>
            <author>Christian Cleberg</author>
            <dc:creator>Christian Cleberg</dc:creator>
            <link>https://blog.cleberg.io/post/cpp-compiler.html</link>
            <link>https://cleberg.io/blog/cpp-compiler.html</link>
            <pubDate>Wed, 28 Nov 2018 00:00:00 UTC</pubDate>
            <guid>https://blog.cleberg.io/post/cpp-compiler.html</guid>
            <guid>https://cleberg.io/blog/cpp-compiler.html</guid>
            <description><![CDATA[An easy, straight-forward way to understand the C++ compiler.]]></description>
            <content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><h2>A Brief Introduction</h2>

M the-ansoff-matrix.html => the-ansoff-matrix.html +10 -10
@@ 34,11 34,11 @@
                going beyond "'incremental management', whereby they view their job as making a series of small, minor
                changes to
                improve the efficiency of the firm's
                operations" <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                operations" <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                               rel="noopener,noreferrer" target="_blank">[1]</a>. One reason that strategic
                management is crucial is because most businesses that fail in the United States each year fail due to a
                lack of
                strategic focus or direction <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                strategic focus or direction <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                                                rel="noopener,noreferrer" target="_blank">[2]</a>. The rate of
                failure for businesses with poor strategies shows that strategic planning and management are crucial to
                a business's


@@ 51,7 51,7 @@
                Specifically, the Ansoff matrix is one of the most effective frameworks for companies who want to focus
                on increasing
                sales revenue or profitability <a
                        href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                        href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                        rel="noopener,noreferrer" target="_blank">[3]</a>.</p>
            <p>This framework uses a two-by-two figure to show the four strategic options for companies to use in this
                framework:


@@ 68,7 68,7 @@
            <h2>Market Penetration</h2>
            <p>The most straightforward strategy in the Ansoff matrix is to focus on existing products in existing
                markets, also known
                as market penetration <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                as market penetration <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                                         rel="noopener,noreferrer" target="_blank">[3]</a>. Companies such as
                Coca-Cola have used market penetration successfully by investing a lot of money to get further value out
                of their


@@ 79,25 79,25 @@
            <p>market development extends existing products into new markets in an attempt to increase the number of
                buyers. One
                interesting way that Coca-Cola used this strategy comes from the stigma that Diet Coke is a woman's
                drink <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                drink <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                         rel="noopener,noreferrer" target="_blank">[4]</a>. Coca-Cola introduced Coca-Cola Zero,
                which contained the same nutritional content as Diet Coke, but was packaged in a dark black can to
                appear more "
                manly" <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                manly" <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                          rel="noopener,noreferrer" target="_blank">[4]</a>.</p>
            <h2>Product Development</h2>
            <p>Product development uses existing markets to introduce new products so that the firm can better meet
                customer
                needs <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                needs <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                         rel="noopener,noreferrer" target="_blank">[4]</a>. The extreme end of diversification is
                home to companies such as Johnson &amp; Johnson, a healthcare company that has developed a business
                portfolio of more than
                60,000 different products <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                60,000 different products <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                                             rel="noopener,noreferrer" target="_blank">[5]</a>. Johnson &amp;
                Johnson's dedication to continuous diversification has led them to a balance sheet rating of "AAA",
                industry recognition
                for diversification, and increases in their investor dividends for 57 consecutive
                years <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                years <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                         rel="noopener,noreferrer" target="_blank">[6]</a>.</p>
            <h2>Related Diversification</h2>
            <p>Diversification, the final strategy of the Ansoff Matrix, is more difficult than the others since it


@@ 107,7 107,7 @@
                firm's core business. Coca-Cola's best example of related diversification is its acquisition of Glaceau
                and Vitamin
                Water, which expanded their drinking lines of
                business <a href="https://blog.cleberg.io/article/the-ansoff-matrix.html#references"
                business <a href="https://cleberg.io/blog/the-ansoff-matrix.html#references"
                            rel="noopener,noreferrer" target="_blank">[4]</a>.</p>
            <h2>Unrelated Diversification</h2>
            <p>Unrelated diversification is a diversification strategy that does not really relate to the firm's core

M the-best-linux-software.html => the-best-linux-software.html +1 -1
@@ 151,7 151,7 @@
Include = /etc/pacman.d/mirrorlist</code></pre>
            <p>Finally, install the program:</p>
            <pre><code class="language-bash">sudo pacman -S steam</code></pre>
            <p><a href="https://blog.cleberg.io/article/steam-on-ntfs-drives.html" rel="noopener,noreferrer"
            <p><a href="https://cleberg.io/blog/steam-on-ntfs-drives.html" rel="noopener,noreferrer"
                  target="_blank">Problem Launching Steam Games? Click Here.</a></p>
            <hr>
            <h2>Command-Line Packages</h2>