<?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: Gavin Rose</title>
    <description>The latest articles on DEV Community by Gavin Rose (@scarabdata).</description>
    <link>https://dev.to/scarabdata</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3120898%2F13cd61c5-4cc6-4ecb-ac97-a67fbae8fe9c.jpeg</url>
      <title>DEV Community: Gavin Rose</title>
      <link>https://dev.to/scarabdata</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/scarabdata"/>
    <language>en</language>
    <item>
      <title>Zikrah Audit Logging</title>
      <dc:creator>Gavin Rose</dc:creator>
      <pubDate>Fri, 12 Sep 2025 23:11:03 +0000</pubDate>
      <link>https://dev.to/scarabdata/zikrah-audit-logging-46pd</link>
      <guid>https://dev.to/scarabdata/zikrah-audit-logging-46pd</guid>
      <description>&lt;h1&gt;
  
  
  🚀 Introducing Zikrah - Now Free to Test!
&lt;/h1&gt;

&lt;p&gt;Hey developers! 👋&lt;/p&gt;

&lt;p&gt;We're excited to share &lt;strong&gt;Zikrah&lt;/strong&gt;, our new platform that we've been building with Phoenix/Elixir. We're looking for early testers to help us shape the product before our official launch.&lt;/p&gt;

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

&lt;p&gt;Zikrah is a logging platform that helps other developers and services to offload potential risks when creating audit logs. Our logs are immutable and verified through various levels of security based on tier. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Test Now?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Completely FREE&lt;/strong&gt; - Payments aren't live yet, so everything is available at no cost&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shape the product&lt;/strong&gt; - Your feedback directly influences our development roadmap
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Early access&lt;/strong&gt; - Get familiar with the platform before everyone else&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built with Phoenix&lt;/strong&gt; - Fast, reliable, and scalable architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Testing Zikrah is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visit our platform at [&lt;a href="https://zikrah.dev" rel="noopener noreferrer"&gt;https://zikrah.dev&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Sign up for a free account&lt;/li&gt;
&lt;li&gt;Explore all features without any payment requirements&lt;/li&gt;
&lt;li&gt;Share your feedback with our team&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  We Want Your Feedback
&lt;/h2&gt;

&lt;p&gt;As developers ourselves, we know how valuable community input is. We're particularly interested in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User experience and interface feedback&lt;/li&gt;
&lt;li&gt;Feature requests and suggestions&lt;/li&gt;
&lt;li&gt;Performance observations&lt;/li&gt;
&lt;li&gt;Any bugs or issues you encounter&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;p&gt;For those curious about what's under the hood:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Phoenix Framework&lt;/strong&gt; - Robust web framework&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Elixir&lt;/strong&gt; - Concurrent and fault-tolerant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LiveView&lt;/strong&gt; - Real-time, interactive experiences&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Join Our Testing Community
&lt;/h2&gt;

&lt;p&gt;Ready to give Zikrah a try? We'd love to have you as part of our early testing community!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions? Comments? Drop them below or reach out to our team directly. We're here to help and always excited to connect with fellow developers!&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  elixir #phoenix #startup #testing #developers #webdev
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>elixir</category>
      <category>programming</category>
      <category>testing</category>
    </item>
    <item>
      <title>Help Me Test ShareShard!</title>
      <dc:creator>Gavin Rose</dc:creator>
      <pubDate>Sun, 08 Jun 2025 04:51:10 +0000</pubDate>
      <link>https://dev.to/scarabdata/help-me-test-shareshard-1d4g</link>
      <guid>https://dev.to/scarabdata/help-me-test-shareshard-1d4g</guid>
      <description>&lt;p&gt;We are continuing to make improvements to &lt;a href="https://shareshard.net" rel="noopener noreferrer"&gt;ShareShard&lt;/a&gt; and would like your feedback!&lt;/p&gt;

&lt;p&gt;ShareShard was created as an easy to use developer alternative to other file sharing platforms. Things you share expire in 24 hours or if you are on the pro plan, never. &lt;/p&gt;

&lt;p&gt;Still early in development, we are searching for feedback and ways to improve the service. Lets get cooking!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>python</category>
      <category>discuss</category>
    </item>
    <item>
      <title>ShareShard</title>
      <dc:creator>Gavin Rose</dc:creator>
      <pubDate>Thu, 05 Jun 2025 00:43:57 +0000</pubDate>
      <link>https://dev.to/scarabdata/shareshard-3652</link>
      <guid>https://dev.to/scarabdata/shareshard-3652</guid>
      <description>&lt;h1&gt;
  
  
  🚀 Introducing &lt;strong&gt;ShareShard&lt;/strong&gt; — Effortless Sharing for Code, Images, and More
&lt;/h1&gt;

&lt;p&gt;Ever wanted to quickly share a code snippet, image, or debug output with someone without creating a repo or cluttering a chat thread?&lt;/p&gt;

&lt;p&gt;Meet &lt;strong&gt;&lt;a href="https://shareshard.net" rel="noopener noreferrer"&gt;ShareShard&lt;/a&gt;&lt;/strong&gt; — a minimal, developer-focused sharing platform that lets you upload files (code, images, text, etc.) and showcase your stuff without any hassle.&lt;/p&gt;

&lt;p&gt;Whether you're collaborating on a side project, showing off a bug, or just passing around a funny screenshot, ShareShard gets out of your way and lets you share &lt;strong&gt;instantly&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 What It Does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Instant uploads&lt;/strong&gt; of code, images, logs, and more
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Syntax highlighting&lt;/strong&gt; for an expanding list of languages &lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Built-in expiration&lt;/strong&gt; after 24 hours or never on the pro plan
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;No sign-up needed&lt;/strong&gt; for basic usage
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Built for Developers
&lt;/h2&gt;

&lt;p&gt;ShareShard is like Imgur or Pastebin, but made with developers in mind:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designed with a clean, no-friction UX
&lt;/li&gt;
&lt;li&gt;Respects your time &lt;/li&gt;
&lt;li&gt;Fast enough to use during a live coding call
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎯 Why I Built It
&lt;/h2&gt;

&lt;p&gt;I was tired of juggling Dropbox, Gists, and random Imgur uploads when I just wanted to share a quick bit of info. Most tools either felt bloated or lacked control. So I built &lt;strong&gt;ShareShard&lt;/strong&gt;: a dead-simple tool that solves a real need without getting in the way.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌐 Try It Out
&lt;/h2&gt;

&lt;p&gt;You can start using it right now, no sign-up needed:&lt;br&gt;&lt;br&gt;
👉 &lt;strong&gt;&lt;a href="https://shareshard.net" rel="noopener noreferrer"&gt;shareshard.net&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Upload. Share. Done.&lt;/p&gt;




&lt;h2&gt;
  
  
  🙌 Feedback Wanted
&lt;/h2&gt;

&lt;p&gt;I’m actively developing new features — versioning, embeds, and more — and would love your feedback. If you have thoughts, feature ideas, or bugs to report, drop a comment!&lt;/p&gt;




&lt;p&gt;Thanks for checking it out — and happy sharing!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>computerscience</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Suggest some features I could add!</title>
      <dc:creator>Gavin Rose</dc:creator>
      <pubDate>Sun, 11 May 2025 00:35:44 +0000</pubDate>
      <link>https://dev.to/scarabdata/suggest-some-features-i-could-add-91h</link>
      <guid>https://dev.to/scarabdata/suggest-some-features-i-could-add-91h</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/scarabdata/duq-duq-goose-c4n" class="crayons-story__hidden-navigation-link"&gt;Developer Utilities with Q (Docstrings, README, etc.)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/scarabdata" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3120898%2F13cd61c5-4cc6-4ecb-ac97-a67fbae8fe9c.jpeg" alt="scarabdata profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/scarabdata" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Gavin Rose
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Gavin Rose
                
              
              &lt;div id="story-author-preview-content-2474455" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/scarabdata" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3120898%2F13cd61c5-4cc6-4ecb-ac97-a67fbae8fe9c.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Gavin Rose&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/scarabdata/duq-duq-goose-c4n" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 10 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/scarabdata/duq-duq-goose-c4n" id="article-link-2474455"&gt;
          Developer Utilities with Q (Docstrings, README, etc.)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/awschallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;awschallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/scarabdata/duq-duq-goose-c4n" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;10&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/scarabdata/duq-duq-goose-c4n#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>devchallenge</category>
      <category>awschallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Developer Utilities with Q (Docstrings, README, etc.)</title>
      <dc:creator>Gavin Rose</dc:creator>
      <pubDate>Sat, 10 May 2025 08:18:50 +0000</pubDate>
      <link>https://dev.to/scarabdata/duq-duq-goose-c4n</link>
      <guid>https://dev.to/scarabdata/duq-duq-goose-c4n</guid>
      <description>&lt;h3&gt;
  
  
  This is a submission for the &lt;a href="https://dev.to/challenges/aws-amazon-q-v2025-04-30"&gt;Amazon Q Developer "Quack The Code" Challenge&lt;/a&gt;: Crushing the Command Line
&lt;/h3&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Dreading docstrings? Tired of writing boilerplate README files? Wish you could automate those tedious development tasks? Meet &lt;strong&gt;duq CLI&lt;/strong&gt; (Developer Utility with Q) - a command-line tool that supercharges your development workflow by leveraging Amazon Q to handle the boring stuff.&lt;/p&gt;

&lt;p&gt;duq CLI wraps the Amazon Q CLI with specialized prompt templates to automate common development tasks like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generating comprehensive README files for your projects&lt;/li&gt;
&lt;li&gt;Adding proper docstrings to your code files&lt;/li&gt;
&lt;li&gt;Creating test cases for your functions&lt;/li&gt;
&lt;li&gt;Suggesting code refactoring improvements&lt;/li&gt;
&lt;li&gt;Performing security analysis on your codebase&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best part? It maintains a backup system that lets you revert the most recent changes made with the duq CLI with a simple command, giving you the confidence to experiment with AI-powered code improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here's a quick example of how duq CLI can transform your workflow:&lt;br&gt;
&lt;a href="https://imgur.com/a/duq-duq-goose-32QeSBX" rel="noopener noreferrer"&gt;https://imgur.com/a/duq-duq-goose-32QeSBX&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Generate a README for your project&lt;/span&gt;
duq document ./my-project

&lt;span class="c"&gt;# Add docstrings to a file&lt;/span&gt;
duq docstrings ./src/utils.js

&lt;span class="c"&gt;# Generate test cases&lt;/span&gt;
duq &lt;span class="nb"&gt;test&lt;/span&gt; ./src/api.js

&lt;span class="c"&gt;# Chain commands together&lt;/span&gt;
duq chain ./src/models.js &lt;span class="s2"&gt;"refactor,docstrings,test"&lt;/span&gt;

&lt;span class="c"&gt;# Oops! Changed your mind? Revert the changes&lt;/span&gt;
duq revert
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Code Repository
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/scarab-data/duq-cli" rel="noopener noreferrer"&gt;https://github.com/scarab-data/duq-cli&lt;/a&gt;&lt;br&gt;
&lt;em&gt;or&lt;/em&gt;&lt;br&gt;
try it for yourself by running &lt;code&gt;npm install -g duq-cli&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Amazon Q Developer
&lt;/h2&gt;

&lt;p&gt;Amazon Q Developer was the secret sauce that made duq CLI possible. Aside from Amazon Q being the brains behind the operation, it was also a valuable asset in creating the CLI tool.&lt;/p&gt;

&lt;p&gt;To test the efficacy of the idea, I thought it important to consider prompt engineering when initially speaking with Amazon Q. &lt;br&gt;
Short or rushed prompts such as...&lt;br&gt;
&lt;code&gt;q chat "create a readme"&lt;/code&gt;&lt;br&gt;
Returned responses like...&lt;br&gt;
&lt;code&gt;Q: I'd be more than happy to assist you in creating a README for your project. Please share the path to your project so that I can get started!&lt;/code&gt;&lt;br&gt;
Continuing on the path of chaos...&lt;br&gt;
&lt;code&gt;Me: just do it&lt;/code&gt;&lt;br&gt;
Q was able to handle this hasty response with ease, and began scanning through the directory in which the chat was started. Due to lack of instruction and poor prompting, Q wound up generating a README that was seemingly perfect and detailed. Upon further inspection, it turned out Q had hallucinated a file structure that didn't exist within the directory - or anywhere on the computer for that matter.&lt;/p&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.amazonaws.com%2Fuploads%2Farticles%2Fi4iprb78waqbbw0anp2c.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.amazonaws.com%2Fuploads%2Farticles%2Fi4iprb78waqbbw0anp2c.png" alt="README with hallucinations" width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It also seemed as if just because the word 'test' was in the directory name, Q incorrectly assumed that the whole project was for testing, when in reality, it was just a safe place to test out the duq CLI, that is, until &lt;code&gt;duq revert&lt;/code&gt; was implemented.&lt;/p&gt;

&lt;p&gt;Prompt engineering is definitely an important part of getting what you want out of any AI, and even more so with programming, it is just as important to give context. This is where the duq CLI really helps Amazon Q shine! Certain duq commands such as README take in a directory path, or if none is given, it will analyze the current directory. It feeds information to Q and gives it that ever-so-important context. &lt;/p&gt;

&lt;p&gt;One important piece of insight I gained was that Amazon Q excels at understanding context and generating appropriate responses when given well-structured prompts. By designing my CLI to provide rich context (file contents, directory structures) along with clear instructions, I was able to get remarkably useful and consistent outputs.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>awschallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
