<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jared Caraway</title>
    <description>The latest articles on DEV Community by Jared Caraway (@jaredcaraway).</description>
    <link>https://dev.to/jaredcaraway</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F999110%2Fdf27db89-10da-40ce-835a-d5ba9e162b60.jpeg</url>
      <title>DEV Community: Jared Caraway</title>
      <link>https://dev.to/jaredcaraway</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jaredcaraway"/>
    <language>en</language>
    <item>
      <title>I’m installing FreshRSS on my Pi 5 for sweet RSS action</title>
      <dc:creator>Jared Caraway</dc:creator>
      <pubDate>Thu, 23 Jul 2026 06:55:03 +0000</pubDate>
      <link>https://dev.to/jaredcaraway/im-installing-freshrss-on-my-pi-5-for-sweet-rss-action-34il</link>
      <guid>https://dev.to/jaredcaraway/im-installing-freshrss-on-my-pi-5-for-sweet-rss-action-34il</guid>
      <description></description>
    </item>
    <item>
      <title>I'm building an SEOTesting clone</title>
      <dc:creator>Jared Caraway</dc:creator>
      <pubDate>Thu, 23 Jul 2026 03:52:49 +0000</pubDate>
      <link>https://dev.to/jaredcaraway/im-building-an-seotesting-clone-115m</link>
      <guid>https://dev.to/jaredcaraway/im-building-an-seotesting-clone-115m</guid>
      <description>&lt;p&gt;I've decided I'm going to embark on an ambitious project, and I'm going to do it in public. This is my first post outlining my plans.&lt;/p&gt;

&lt;p&gt;I am an organic search specialist (SEO). I have spent much of my professional career learning how search engines work so I can optimize websites to rank better. This involves many different tools, most of them paid. One of my favorite paid tools is SEOTesting.&lt;/p&gt;

&lt;p&gt;At my day job, I recently lost access to this tool. I was disappointed because there is nothing else readily available that complies with our strict corporate compliance requirements.&lt;/p&gt;

&lt;p&gt;Since LLMs have flattened the learning curve for building complex projects, I figured I'd leverage Claude to help me architect an SEOTesting clone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is SEOTesting?
&lt;/h2&gt;

&lt;p&gt;For those unfamiliar, SEOTesting is a web app which connects to Google Search Console. It allows you to create tests to track performance before and after implementing optimizations. You can also create content groups to permanently segment your traffic into logical site sections based on URL rules you set. It also houses your historical GSC data so you can see trends far beyond the 16-month window Google offers you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;The MVP is going to be dead simple (a naïve statement, I'm sure). I just want to be able to connect to Google Search Console and display basic metrics--clicks, impressions, CTR, and position--in a dashboard view. Once that's working, I will get testing functionality and other quality-of-life improvements online.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build plans
&lt;/h2&gt;

&lt;p&gt;Here's the rough sketch of the architecture stack I'm planning to build out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data source: Google Search Console&lt;/li&gt;
&lt;li&gt;Ingestion: Python script + cron job&lt;/li&gt;
&lt;li&gt;Database: SQLite&lt;/li&gt;
&lt;li&gt;API: FastAPI&lt;/li&gt;
&lt;li&gt;Frontend UI: Next.js + Tailwind + Tremor&lt;/li&gt;
&lt;li&gt;Hosting: Pi&lt;/li&gt;
&lt;li&gt;External access: Cloudflare Tunnel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As of now, that's all I have mapped out. Stay tuned for updates.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>raspberrypi</category>
    </item>
    <item>
      <title>TIL: shopt lets you cd without typing 'cd'</title>
      <dc:creator>Jared Caraway</dc:creator>
      <pubDate>Thu, 23 Jul 2026 01:48:20 +0000</pubDate>
      <link>https://dev.to/jaredcaraway/til-shopt-lets-you-cd-without-typing-cd-k3g</link>
      <guid>https://dev.to/jaredcaraway/til-shopt-lets-you-cd-without-typing-cd-k3g</guid>
      <description>&lt;p&gt;I've been using Linux for about 15 years now. I started out with an Ubuntu LTS distro loaded onto a friend's old, donated Windows box and learned all the basics I needed to get started. It's been downhill from there.&lt;/p&gt;

&lt;p&gt;One of the foundational commands for getting around in Linux by way of the terminal is &lt;strong&gt;cd&lt;/strong&gt;. I've known about it since before I knew about Linux by way of Windows: this command is so ubiquitous that it made its way over to the Windows shell, too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cd&lt;/strong&gt; means "&lt;strong&gt;c&lt;/strong&gt;hange &lt;strong&gt;d&lt;/strong&gt;irectory". You typically type something like &lt;code&gt;cd ~/Videos&lt;/code&gt; to change the terminal's current working directory to, in this case, Videos.&lt;/p&gt;

&lt;p&gt;I'm currently setting up our first household Raspberry Pi which brought me back into Linux land (which, as a Mac power user, I never &lt;em&gt;really&lt;/em&gt; left). In the process of tinkering with a fresh Linux distro, I figured I'd ask my old friend Claude what those with more knowledge of the Linuxverse would do to trick out their stock distros.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing: &lt;strong&gt;shopt&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Claude opened my eyes to the magic of &lt;strong&gt;shopt&lt;/strong&gt; (which stands for "&lt;strong&gt;sh&lt;/strong&gt;ell &lt;strong&gt;opt&lt;/strong&gt;ions). The Bash shell is POSIX-compliant by default, so additional options have been tucked away behind this command.&lt;/p&gt;

&lt;p&gt;I'll skip straight to the good stuff. Here's how you can upgrade your terminal so you can change directory simply by typing the target directory, sans &lt;code&gt;cd&lt;/code&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open Bash and edit the .bashrc file with your preferred editor (I'm a basic Nano guy still, don't @ me). Like so:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;nano ~/.bashrc&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the following lines somewhere - I usually just jump to the bottom:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;# cd into a directory by just typing its name (no cd needed) &lt;br&gt;
shopt -s autocd&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Save, close, and then refresh your .bashrc file:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;source ~/.bashrc&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What It Looks Like in Action
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcc0jaffjqfeqr17hzgom.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcc0jaffjqfeqr17hzgom.png" alt=" " width="800" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  That's it!
&lt;/h2&gt;

&lt;p&gt;Simple as Pi, eh? Thanks for reading - I hope you learned something today! Let me know if there's anything else you'd like me to cover in future articles.&lt;/p&gt;

</description>
      <category>bash</category>
      <category>linux</category>
      <category>shell</category>
      <category>terminal</category>
    </item>
  </channel>
</rss>
