<?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: Poobalan</title>
    <description>The latest articles on DEV Community by Poobalan (@poobalan1210).</description>
    <link>https://dev.to/poobalan1210</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%2F413534%2F396bebb9-cecc-4d17-978a-a775d3b51db7.jpeg</url>
      <title>DEV Community: Poobalan</title>
      <link>https://dev.to/poobalan1210</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/poobalan1210"/>
    <language>en</language>
    <item>
      <title>🚀 Building a Galaxian Game with Amazon Q CLI</title>
      <dc:creator>Poobalan</dc:creator>
      <pubDate>Sat, 31 May 2025 11:14:44 +0000</pubDate>
      <link>https://dev.to/poobalan1210/building-a-galaxian-game-with-amazon-q-cli-hio</link>
      <guid>https://dev.to/poobalan1210/building-a-galaxian-game-with-amazon-q-cli-hio</guid>
      <description>&lt;h2&gt;
  
  
  🎮  Introduction
&lt;/h2&gt;

&lt;p&gt;Galaxian fixed shooter video game. The player assumes control of the ship in its mission to protect Earth from waves of aliens. Gameplay involves destroying each formation of aliens, who dive down towards the player in an attempt to hit them.&lt;/p&gt;

&lt;h2&gt;
  
  
  🖥️  What Is Amazon Q CLI?
&lt;/h2&gt;

&lt;p&gt;Amazon Q Developer CLI is a command-line tool that integrates with Amazon Q, a generative AI-powered assistant, to provide developers with a more efficient and intelligent development experience. It brings features like IDE-style autocomplete, natural language chat, and agentic capabilities directly to the terminal, streamlining tasks and improving developer productivity. &lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 The Goal
&lt;/h2&gt;

&lt;p&gt;To build a working Galaxian-style fixed shooter game that&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Features classic alien waves attacking the player's spaceship.&lt;/li&gt;
&lt;li&gt;Includes two powerups, &lt;strong&gt;Shield&lt;/strong&gt; that protects the ship for 30 seconds and &lt;strong&gt;Rocket Launcher&lt;/strong&gt; that destroys enemies within a certain radius.&lt;/li&gt;
&lt;li&gt;Has improved graphics and timed power-up drops.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧠 Prompts Used with Q CLI
&lt;/h2&gt;

&lt;p&gt;Initially I started with this prompt&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a galaxian game using pygame in python. 
Galaxian is a space themed fixed shooter game.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2F9r761rx7xlbok52ydrx7.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%2F9r761rx7xlbok52ydrx7.png" alt="Image description" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the above prompt, Amazon Q CLI it took care of the heavy lifting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It set up a basic Pygame project structure.&lt;/li&gt;
&lt;li&gt;Implemented a working Galaxian-style game loop.&lt;/li&gt;
&lt;li&gt;Gave me a solid codebase to enhance further.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the base of the game is set, I have asked it to enchance the game by adding additional powerups and also asked to enchance the GUI to look nice. With the below prompt&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Add these additional power-ups in the game
- Shield for 30 Secs which will protect the galaxip from the enemies.
- Rocket launcher which will destroy enemies within some radius.
These power-ups should be dropped like in certain time interval.
Make the game look nice with good graphics.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For the above prompt&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It added the Shield and Rocket Launcher powerup logic, complete with a timer and visual effect.&lt;/li&gt;
&lt;li&gt;Set up timed intervals for the powerups to drop.&lt;/li&gt;
&lt;li&gt;Improved the visuals — including background effects, sprite enhancements, and simple animations for powerups.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🕹️ Game Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Classic Gameplay&lt;/li&gt;
&lt;li&gt;Shield PowerUp&lt;/li&gt;
&lt;li&gt;Rocket Launcher PowerUp&lt;/li&gt;
&lt;li&gt;Unique Patterns of enemies&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  👨🏻‍💻 What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The time to idea to prototyping can be done in minutes using AI tools like Amazon Q CLI, which helps the developers spend less time in scaffolding, creating a boilerplate code and gets you started with a working code in no time.&lt;/li&gt;
&lt;li&gt;If these tools integrated with a wide variety of external tools with the help of MCP, then it will be more powerful and helps the developers to go to production with natural prompts. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Adding More tools via MCP to Q CLI is really like giving thanos all the infinity stones, the more stones the more powerful he becomes.&lt;/p&gt;
&lt;/blockquote&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%2Feia9ha0dqdg494bypoj8.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%2Feia9ha0dqdg494bypoj8.png" alt="Image description" width="498" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Screenshots
&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.amazonaws.com%2Fuploads%2Farticles%2Fszsh8i556923nm21sgal.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%2Fszsh8i556923nm21sgal.png" alt="Image description" width="800" height="625"&gt;&lt;/a&gt;&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%2Fjz6ue6i6l7qu7tpgps9b.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%2Fjz6ue6i6l7qu7tpgps9b.png" alt="Image description" width="800" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Installation Docs - &lt;a href="https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Challenge Blog - &lt;a href="https://community.aws/content/2xIoduO0xhkhUApQpVUIqBFGmAc/build-games-with-amazon-q-cli-and-score-a-t-shirt?trk=b085178b-f0cb-447b-b32d-bd0641720467&amp;amp;sc_channel=el" rel="noopener noreferrer"&gt;https://community.aws/content/2xIoduO0xhkhUApQpVUIqBFGmAc/build-games-with-amazon-q-cli-and-score-a-t-shirt?trk=b085178b-f0cb-447b-b32d-bd0641720467&amp;amp;sc_channel=el&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Linkedin Post - &lt;a href="https://www.linkedin.com/posts/poobalan-p_amazonqcli-awschallenge-aws-activity-7334478649120739330-qBvX?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAACx1pKsBpvr0WZ7keMgT_f_5pHsO4KpAipE" rel="noopener noreferrer"&gt;https://www.linkedin.com/posts/poobalan-p_amazonqcli-awschallenge-aws-activity-7334478649120739330-qBvX?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAACx1pKsBpvr0WZ7keMgT_f_5pHsO4KpAipE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Github Repo - &lt;a href="https://github.com/Poobalan1210/galaxian-q-challenge" rel="noopener noreferrer"&gt;https://github.com/Poobalan1210/galaxian-q-challenge&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>awschallenge</category>
      <category>awsqcli</category>
      <category>aws</category>
      <category>amazonqcli</category>
    </item>
    <item>
      <title>Know what's inside your AWS S3 bucket using Rekognition and Bedrock</title>
      <dc:creator>Poobalan</dc:creator>
      <pubDate>Wed, 26 Feb 2025 18:10:34 +0000</pubDate>
      <link>https://dev.to/poobalan1210/know-whats-inside-your-aws-s3-bucket-using-rekognition-and-bedrock-2o0j</link>
      <guid>https://dev.to/poobalan1210/know-whats-inside-your-aws-s3-bucket-using-rekognition-and-bedrock-2o0j</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Managing images in an S3 bucket is a common use case. &lt;/p&gt;

&lt;p&gt;However, manually inspecting each image to understand the bucket's contents can be cumbersome. &lt;/p&gt;

&lt;p&gt;Automating the process to generate a comprehensive summary of the bucket's content can greatly enhance efficiency and insight into what is stored within the bucket. &lt;/p&gt;

&lt;p&gt;This blog explores a solution that provides a meaningful summary of your S3 bucket's contents, offering a streamlined approach to managing and understanding stored data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview on AWS Services Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS S3&lt;/strong&gt; - Amazon Simple Storage Service (Amazon S3) is an object storage service offering industry-leading scalability, data availability, security, and performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS Rekognition&lt;/strong&gt; - Amazon Rekognition automates image recognition and video analysis for your applications without machine learning (ML) experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS Bedrock&lt;/strong&gt; - Amazon Bedrock is a fully managed service that offers a choice of high-performing foundation models (FMs) from leading AI companies like AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI, and Amazon&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Approach
&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.amazonaws.com%2Fuploads%2Farticles%2Fj9xjwoyntcmxydorwy5n.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%2Fj9xjwoyntcmxydorwy5n.png" alt="Image description" width="569" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have used boto3 library to interact with the AWS Services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. List Buckets and Objects in S3:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;List all the buckets available in Amazon S3. Once a user selects a specific bucket, you retrieve the objects stored inside that bucket.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Image Recognition with Amazon Rekognition:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All images retrieved from the selected bucket are sent to AWS Rekognition.&lt;/li&gt;
&lt;li&gt;Rekognition identifies labels and provides predictions about the content of these images.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Using Predicted Labels as Context:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a prompt for the LLM to summarize the contents of the bucket with the predicted labels of each image as the context.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Summarization Using Amazon Bedrock:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using Amazon Bedrock (model name = anthropic.claude-3-haiku-20240307-v1:0) to generate a summary.&lt;/li&gt;
&lt;li&gt;Provide the context (predicted labels + prompt) to LLM, to summarize the content of the bucket.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Returning the Summarized Response:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The summarized response generated by the language model is returned to the user.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Things to know
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS Rekognition&lt;/strong&gt;: Using AWS Rekognition for image analysis may incur costs based on the number of images processed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amazon Bedrock&lt;/strong&gt;: Accessing and utilizing the language model (LLM) within Amazon Bedrock for summarization may also involve costs. These costs can vary depending on the usage and the specific LLM model selected. Note, we have to request for model access in bedrock console.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>s3</category>
      <category>bedrock</category>
      <category>rekognition</category>
    </item>
    <item>
      <title>#90DaysOfDevOps - Introduction - Day 1</title>
      <dc:creator>Poobalan</dc:creator>
      <pubDate>Tue, 19 Apr 2022 16:53:14 +0000</pubDate>
      <link>https://dev.to/poobalan1210/90daysofdevops-introduction-day-1-1f65</link>
      <guid>https://dev.to/poobalan1210/90daysofdevops-introduction-day-1-1f65</guid>
      <description>&lt;h2&gt;
  
  
  Introduction - Day 1
&lt;/h2&gt;

&lt;p&gt;hi&lt;/p&gt;

</description>
      <category>devops</category>
      <category>90daysofdevops</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
