<?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: spinner77</title>
    <description>The latest articles on DEV Community by spinner77 (@spinner77).</description>
    <link>https://dev.to/spinner77</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%2F2202414%2F72894ae5-0082-46a1-840c-f4448022eb77.png</url>
      <title>DEV Community: spinner77</title>
      <link>https://dev.to/spinner77</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/spinner77"/>
    <language>en</language>
    <item>
      <title>"How AI is Revolutionizing Crocheting: My Journey with Copilot and ChatGPT4"</title>
      <dc:creator>spinner77</dc:creator>
      <pubDate>Sat, 11 Jan 2025 10:29:00 +0000</pubDate>
      <link>https://dev.to/spinner77/how-ai-is-revolutionizing-crocheting-my-journey-with-copilot-and-chatgpt4-4di8</link>
      <guid>https://dev.to/spinner77/how-ai-is-revolutionizing-crocheting-my-journey-with-copilot-and-chatgpt4-4di8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github"&gt;GitHub Copilot Challenge &lt;/a&gt;: Transitions and Transformations&lt;/em&gt;&lt;/p&gt;

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

&lt;h1&gt;
  
  
  Planned Pooling Web App
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Welcome to the &lt;strong&gt;Planned Pooling Web App&lt;/strong&gt;, a tool specifically designed for &lt;strong&gt;crocheters&lt;/strong&gt; who want to experiment with &lt;strong&gt;color patterns&lt;/strong&gt; and &lt;strong&gt;yarns&lt;/strong&gt;. This web app allows users to explore the world of &lt;strong&gt;intentional color pooling&lt;/strong&gt; by visualizing how different yarns and color combinations interact across a project. It helps you plan your crochet projects by showing you how colors will align and pool in a grid, giving you the opportunity to experiment and adjust your choices until you achieve the perfect pattern.&lt;/p&gt;

&lt;p&gt;This app is inspired by the concept of &lt;strong&gt;transitions&lt;/strong&gt;—the subtle, yet powerful changes that occur as one color morphs into another, much like the way a caterpillar transforms into a butterfly. It allows users to experience and control these transitions, turning the sometimes unpredictable world of color pooling into a planned, manageable journey. Whether you're a beginner or a seasoned crocheter, this tool will help you visualize your project before you start, making the creative process smoother and more enjoyable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Purpose and Features
&lt;/h2&gt;

&lt;p&gt;The Planned Pooling Web App is designed for &lt;strong&gt;crocheters&lt;/strong&gt; who want to visualize and plan color pooling projects. The app helps you experiment with different yarns and patterns, allowing you to perfect your crochet project before picking up the hook.&lt;/p&gt;

&lt;p&gt;Key features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Yarn Preview&lt;/strong&gt;: Instantly see how different color combinations look when worked into a stitch grid.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stitch Calculator&lt;/strong&gt;: Determine the perfect stitch count and pattern alignment for your yarn colors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personalized Suggestions&lt;/strong&gt;: The app provides guidance on common yarns that work well for color pooling techniques.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step-by-Step Guides&lt;/strong&gt;: Learn how to master color pooling with educational content, including a swatch calculator for finishing size.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export to Excel&lt;/strong&gt;: Save your yarn combinations, stitch counts, and pattern details in an Excel file for easy reference.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Target Audience
&lt;/h2&gt;

&lt;p&gt;This web app is built for &lt;strong&gt;crocheters&lt;/strong&gt; who want to experiment with color pooling techniques and create beautifully planned crochet projects. It’s ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Beginner Crocheters&lt;/strong&gt;: Those who are new to the concept of color pooling and want a tool to help plan their projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seasoned Crocheters&lt;/strong&gt;: Experienced crafters who want to explore new color patterns and improve their color pooling skills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creative Makers&lt;/strong&gt;: Anyone who enjoys experimenting with yarn combinations and needs a visual guide to perfect their designs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The app allows users to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Select Yarn Colors&lt;/strong&gt;: Choose from a variety of color options using a color picker.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Input Stitch Counts&lt;/strong&gt;: Specify how many stitches per color to use, helping you maintain a consistent pattern throughout the project.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preview&lt;/strong&gt;: View the color pooling in real-time as the app calculates how the colors will interact with one another in the context of your project.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Download&lt;/strong&gt;: Export your planned pattern into an Excel sheet to keep track of your work.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Creative Vision: Transitions and Transformations
&lt;/h2&gt;

&lt;p&gt;The theme of this web app is centered around the &lt;strong&gt;transitions&lt;/strong&gt; and &lt;strong&gt;transformations&lt;/strong&gt; that happen when color and stitch patterns evolve across a project. Just as metamorphosis transforms a caterpillar into a butterfly, this app transforms your raw material—the yarn—into a masterpiece. The dynamic grid visualizations serve as a metaphor for &lt;strong&gt;evolution&lt;/strong&gt;—how tiny changes, stitch by stitch, come together to create something beautiful and intricate.&lt;/p&gt;

&lt;p&gt;The user journey itself also mirrors a &lt;strong&gt;personal transformation&lt;/strong&gt;: from confusion and uncertainty about how the yarn will behave in a project, to confidence and clarity through the real-time previews and guided input options.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilizing GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;In developing this web app, I utilized &lt;strong&gt;GitHub Copilot&lt;/strong&gt; as an essential tool for streamlining the development process. The autocomplete, suggestions, and context-aware code assistance provided by Copilot allowed me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accelerate the creation of complex JavaScript functions for the yarn preview and grid visualizations.&lt;/li&gt;
&lt;li&gt;Implement effective error handling and user input validation quickly.&lt;/li&gt;
&lt;li&gt;Develop key features like the Excel export functionality by generating precise and optimized code for handling data in the background.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This experience emphasized the importance of &lt;strong&gt;transitions and transformations&lt;/strong&gt;, both in coding and in creative design, as Copilot helped me transform my ideas into a functional, interactive tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accessibility
&lt;/h2&gt;

&lt;p&gt;The Planned Pooling Web App was designed with accessibility in mind:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Color Accessibility&lt;/strong&gt;: Colors are used in a way that contrasts well with the background for users with visual impairments. Users can also adjust colors if needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyboard Navigation&lt;/strong&gt;: The app is fully navigable via keyboard, ensuring that users with limited mobility can interact with it easily.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screen Reader Support&lt;/strong&gt;: Descriptions for color inputs and stitch counts are provided to ensure compatibility with screen readers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Future Improvements
&lt;/h2&gt;

&lt;p&gt;While this app is functional and ready to help users plan their color-pooling projects, future updates will include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expanded yarn database with a broader range of brands and colors.&lt;/li&gt;
&lt;li&gt;Advanced pattern suggestions and algorithms to generate personalized recommendations.&lt;/li&gt;
&lt;li&gt;Mobile app version for easier access on-the-go.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;To get started with the Planned Pooling Web App:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Simply visit the app's homepage and start experimenting with yarn color combinations.&lt;/li&gt;
&lt;li&gt;Use the color picker to select your yarn colors.&lt;/li&gt;
&lt;li&gt;Input stitch counts and preview your planned pooling pattern.&lt;/li&gt;
&lt;li&gt;Download the pattern as an Excel sheet or continue refining your choices.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The Planned Pooling Web App is more than just a tool—it's a journey through transformation. With each stitch, each change in color, you're witnessing the power of gradual transformation at work. By providing a guided, visual way to plan color-pooling crochet projects, this app brings the beauty of change to the fingertips of creators everywhere.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/spinner77/PlannedPooling" rel="noopener noreferrer"&gt;https://github.com/spinner77/PlannedPooling&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%2Fqh59z4h0ikg314zd7pe7.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%2Fqh59z4h0ikg314zd7pe7.png" alt="Image description" width="800" height="425"&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%2Frnhjrczgzpk6tenc22ge.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%2Frnhjrczgzpk6tenc22ge.png" alt="Image description" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Repo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/spinner77/PlannedPooling" rel="noopener noreferrer"&gt;https://github.com/spinner77/PlannedPooling&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Copilot Experience
&lt;/h2&gt;

&lt;p&gt;Here is the complete list of all the copilot prompts and AI support I used to make this project.  Almost all of the code used to make this webapp is generated by either copilot or ChatGPT4.&lt;/p&gt;

&lt;p&gt;I found copilot became less effective the more I used it, so I changed models when I found the code being generated wasn't working as expected and this seemed to solve the issues.  In general, copilot is good at generating boilerplate code, generating functions and methods from natural language prompts but is poor at debugging its own code.  This is when I opted to use ChatGPT4 to assist with debugging and this seemed to be an effective strategy overall.&lt;/p&gt;

&lt;h1&gt;
  
  
  Co-Pilot Updates
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Create and open a HTML file with boilerplate HTML for a web app.&lt;/li&gt;
&lt;li&gt;Add a header to the HTML which will have the text "Planned Pooling Generator" and space for a logo to be added later.&lt;/li&gt;
&lt;li&gt;The app is to be in three main sections:

&lt;ul&gt;
&lt;li&gt;First section: Explains what the app is for and how to use it, running across the top of the page.&lt;/li&gt;
&lt;li&gt;Second section: Runs down the left side of the page and will include buttons to add colors and inputs for how many stitches each color will have.&lt;/li&gt;
&lt;li&gt;Third section: A live grid generated from the color and stitches variables.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;When the user clicks on the 'Add Color' button, a color picker and number of stitches input should appear each time to build a list of colors and stitches.&lt;/li&gt;
&lt;li&gt;Add tooltips to the Add Color button and the color picker and number of stitches input.&lt;/li&gt;
&lt;li&gt;Change the cursor on the Add Color button and the color picker.&lt;/li&gt;
&lt;li&gt;In the controls section, add an input for how many stitches across the user wants their project to be, with a tooltip explaining its purpose.&lt;/li&gt;
&lt;li&gt;Develop the logic for the live grid: The grid should repeat the colors inputted by the user (e.g., red, green, blue in a repeating pattern).&lt;/li&gt;
&lt;li&gt;Fix a bug where entering "1" into the "number of stitches across" input results in a grid that is too wide.&lt;/li&gt;
&lt;li&gt;Adjust the grid orientation so that it runs from bottom-left to top-right.&lt;/li&gt;
&lt;li&gt;Implement alternating stitch directions (left to right on one row, right to left on the next, etc.).&lt;/li&gt;
&lt;li&gt;Add a remove color button next to each color/stitch input so users can easily modify their selections.&lt;/li&gt;
&lt;li&gt;Ensure the live grid updates when the remove button is clicked.&lt;/li&gt;
&lt;li&gt;Modify the JavaScript logic to use &lt;code&gt;if (row % 2 !== 0)&lt;/code&gt; for alternating stitch patterns.&lt;/li&gt;
&lt;li&gt;Enable the live grid to shrink to fit its container when there are a large number of stitches.&lt;/li&gt;
&lt;li&gt;Ensure the live grid updates whenever the number of stitches for a color or the color itself is changed.&lt;/li&gt;
&lt;li&gt;Make the squares of the live grid smaller when the number of stitches across is small for better user experience.&lt;/li&gt;
&lt;li&gt;Address an issue where the grid squares are distorted (taller than wide) and there are gaps between columns.&lt;/li&gt;
&lt;li&gt;Modify the layout so the container shrinks to fit the grid, with the squares resizing to fit the maximum container size when needed.&lt;/li&gt;
&lt;li&gt;Use ChatGPT-4 to resolve the live grid issues by maintaining square shape and ensuring user-friendly visuals.&lt;/li&gt;
&lt;li&gt;Add a "Save" button to the live grid, allowing the user to save the grid as an image on their local computer.&lt;/li&gt;
&lt;li&gt;Debug the "Save" button functionality to ensure the live grid can be saved as an image.&lt;/li&gt;
&lt;li&gt;Focus on enhancing the visual appeal of the app by creating a clean, modern layout with a creative, earthy color palette.&lt;/li&gt;
&lt;li&gt;Focus on making the page visually appealing with a user-friendly design and creative color scheme.&lt;/li&gt;
&lt;li&gt;Add a swatch calculator to the controls section that calculates the finished blanket width based on swatch gauge and number of stitches in a row.&lt;/li&gt;
&lt;li&gt;Ensure the controls section spans the entire width of the page, with the swatch calculator on the left and color picker on the right.&lt;/li&gt;
&lt;li&gt;Position the live grid section below the controls section.&lt;/li&gt;
&lt;li&gt;Make the controls section a main content container rather than a sidebar.&lt;/li&gt;
&lt;li&gt;Split the controls section into two containers: the left side for the swatch calculator and the right side for the color picker.&lt;/li&gt;
&lt;li&gt;Display the swatch calculator on the left and the color picker on the right, making both areas equal in size.&lt;/li&gt;
&lt;li&gt;Update the swatch calculator to show the final blanket width based on the swatch gauge and number of stitches in a row.&lt;/li&gt;
&lt;li&gt;Use the existing "number of stitches in the row" input for the swatch calculator calculation.&lt;/li&gt;
&lt;li&gt;Put additional information about color pooling in a dropdown so the user can access it optionally.&lt;/li&gt;
&lt;li&gt;Move the "What is Planned Pooling?" section to the left side and create another section with a dropdown for instructions on how to use the site on the right.&lt;/li&gt;
&lt;li&gt;Set the background for the header to &lt;code&gt;assets/background-875120.jpg&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Change the header font to something creative.&lt;/li&gt;
&lt;li&gt;Set the main section background to &lt;code&gt;assets/neule-888375_1920.png&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Change the main container back to its original state and set the body background to the new image.&lt;/li&gt;
&lt;li&gt;Enhance the visibility of the header text.&lt;/li&gt;
&lt;li&gt;Change the color of the header text to something brighter, but keep the same effect.&lt;/li&gt;
&lt;li&gt;Change the "Learn More" buttons to a lozenge shape.&lt;/li&gt;
&lt;li&gt;Remove the border from the number of stitches input box.&lt;/li&gt;
&lt;li&gt;Make the "number of stitches in the row" input match the &lt;code&gt;.stitches-input&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Ask ChatGPT-4 if it is possible to save the live grid from the app as an Excel spreadsheet, including other data.&lt;/li&gt;
&lt;li&gt;Use JavaScript libraries to implement the Excel export functionality, with a step-by-step guide.&lt;/li&gt;
&lt;li&gt;Collect data for the Excel spreadsheet, including hook size, yarn weight, final blanket width, colors used, and stitch counts, with the live grid formatted correctly.&lt;/li&gt;
&lt;li&gt;Provide the full updated JavaScript code for saving the live grid data in an Excel workbook.&lt;/li&gt;
&lt;li&gt;Modify the Excel export to represent colors as actual colors, not hexadecimals, and ensure the cells are appropriately sized.&lt;/li&gt;
&lt;li&gt;Ensure that the "Save Grid" and "Export to Excel" buttons are separate features, and provide the updated JavaScript code with all fixes.&lt;/li&gt;
&lt;li&gt;Debug the save grid and export to Excel functionalities, ensuring both work as expected.&lt;/li&gt;
&lt;li&gt;Change the "Save Grid" button to match the appearance of other buttons.&lt;/li&gt;
&lt;li&gt;Style the "How to Use This App" section to match the "What is Planned Pooling" section.&lt;/li&gt;
&lt;li&gt;Make the "What is Planned Pooling" and "How to Use This App" sections the same size.&lt;/li&gt;
&lt;li&gt;Halve the height of both the "What is Planned Pooling" and "How to Use This App" sections and ensure they are aligned.&lt;/li&gt;
&lt;li&gt;Choose a different font for the heading.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  GitHub Models
&lt;/h2&gt;

&lt;p&gt;I didn't use GitHub models as I am not familiar enough with it to use it within the 24hour timeframe of the challenge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Reflection on My Experience with Copilot and AI in Developing the Planned Pooling Web App
&lt;/h3&gt;

&lt;p&gt;Throughout the development of my planned pooling web app, I had a valuable learning experience with GitHub Copilot and AI. As a keen crocheter, I am always searching for ways to enhance my craft through technology, and using AI to build this app allowed me to explore how these tools can revolutionize the crocheting world. Copilot, in particular, proved to be incredibly useful in the early stages of development. It excelled at generating boilerplate code, as well as helping me translate natural language prompts into specific functions and methods. It was like having a knowledgeable assistant who could quickly provide code based on simple instructions, which saved me a lot of time and effort.&lt;/p&gt;

&lt;p&gt;However, I found that Copilot's effectiveness began to decrease the more I used it. As the project grew in complexity, the generated code didn't always align with my expectations, especially when it came to debugging. Copilot struggled with fixing issues in the code, which led me to shift strategies. I decided to turn to ChatGPT4 for debugging assistance, and this shift proved to be an effective solution. ChatGPT4 provided clear explanations and debugging support that helped me resolve issues in the code, making it a valuable resource when Copilot's generated code didn't work as anticipated.&lt;/p&gt;

&lt;p&gt;This experience highlighted a crucial aspect of working with AI: while these tools are excellent for generating initial code and handling straightforward tasks, they still require human oversight for more complex tasks like debugging. Nevertheless, the combination of Copilot and ChatGPT4 allowed me to continue developing the web app with minimal setbacks, and ultimately, I was able to create a tool that I am proud of.&lt;/p&gt;

&lt;p&gt;The impact of this project, however, extends beyond my personal experience as a developer. As a crocheter, I believe that AI and tools like Copilot have the potential to dramatically change the crocheting world. Many crocheters are incredibly creative, yet the technical barrier to creating custom tools to enhance their craft is often too high. Most crocheters aren't programming literate, but with Copilot and AI, we can bridge that gap. These tools open the doors for crocheters to experiment and create bespoke apps tailored to their needs by simply using natural language prompts. This means that more people in the community can harness the power of technology to bring their creative visions to life, making the crocheting world more accessible and innovative. &lt;/p&gt;

&lt;p&gt;In conclusion, my experience with Copilot and ChatGPT4 has reinforced my belief in the transformative potential of AI, not just for developers, but for creative communities like crocheters. The ability to create tailored tools without needing deep programming knowledge is a game-changer, and I believe this could empower crocheters to explore new dimensions of their craft, ultimately enhancing the creativity within the community.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>My first Python Program: Tarot</title>
      <dc:creator>spinner77</dc:creator>
      <pubDate>Sat, 12 Oct 2024 16:07:08 +0000</pubDate>
      <link>https://dev.to/spinner77/my-first-python-program-tarot-17m</link>
      <guid>https://dev.to/spinner77/my-first-python-program-tarot-17m</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;br&gt;
My career path has been quite the rollercoaster ride! I’ve hopped from job to job, ranging from serving up pints as a barmaid to providing medical care as a nurse. My friends and family like to tease me about my tendency to switch things up, but I can't help but embrace the journey!&lt;br&gt;
So, it's no shocker that I'm now diving headfirst into the world of computer science through Codeacademy and CS50. Sure, some might say it's a far cry from giving I.V.'s to writing code, but for me, chasing knowledge and learning has always been my lifelong passion.&lt;br&gt;
If curiosity calls, you’ll find me eagerly diving into a new subject. Lately, I've been itching to unravel the wonders of computers and harness their power to make life more awesome for myself and others.&lt;br&gt;
For my first project, I've decided to keep things simple (but equally enchanting!) by creating a Python program for my portfolio. Being a curious soul, I've always been captivated by the mystic charm of tarot cards ever since I was a little girl, rummaging through my dad's fascinating book on fortune-telling.&lt;br&gt;
Now, I’ve taken my love for the enchanting art of tarot reading and combined it with my newfound passion for coding. I've crafted a program that dishes out a "three-card spread," which delves into your past, present, and future. The result? A delightful mix of technology and mystical charm!&lt;br&gt;
While I may approach fortune-telling with a mountain of salt these days, I can't deny the fun memories of giving readings to my friends back in the day. It's only fitting that my first "how does this work?" fascination fuels my maiden voyage into the world of coding.&lt;br&gt;
&lt;strong&gt;Background Info:&lt;/strong&gt;&lt;br&gt;
Tarot cards have been used for centuries as a tool for divination and self-reflection. Each card represents a different archetype or life lesson, offering guidance and perspective on various aspects of one's life. My goal in creating this program was to provide users with an accessible and engaging way to delve into the world of tarot and use it as a means of personal growth.&lt;br&gt;
&lt;strong&gt;Program Overview:&lt;/strong&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%2Fmp48tluqkab5hpwo7fof.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%2Fmp48tluqkab5hpwo7fof.png" alt="A snapshot of my code in VSC, showing the ascii art" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My Python program generates a three-card tarot reading, providing users with insights into their past, present, and future. Each card is selected at random from a list of only the major arcana tarot cards, and the program includes detailed descriptions of the upright and reversed meanings for each card.&lt;br&gt;
&lt;strong&gt;The Python Code:&lt;/strong&gt;&lt;br&gt;
To create this program, I utilized Python’s built-in libraries, like random, to select cards at random from a list. Each card is represented as an instance of a custom-defined Card class, which includes the card's name, upright meaning, and reversed meaning. I've organized my code into functions for shuffling, drawing cards, and printing card meanings, making the program easy to read and maintain.&lt;br&gt;
You can find the entire codebase on my &lt;a href="https://github.com/spinner77/portfolio" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
Working on this Python-meets-tarot project has been a fun ride! I got to play around with Python's built-in libraries and found some cool ways to spice up my code. I also dipped my toes into the world of ASCII art and learned how to create Classes and methods to make the most of their capabilities.&lt;br&gt;
My Codeacademy lessons were a huge help, and I found some great resources on python.org too. As I keep learning and growing, I'd love to hear your thoughts on my project. Feel free to share your feedback – it's always appreciated and helps me become a better coder for future projects!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>python</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
