<?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: Salmaan Ali</title>
    <description>The latest articles on DEV Community by Salmaan Ali (@sallyman128).</description>
    <link>https://dev.to/sallyman128</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%2F537404%2Fa2cc3d1b-64db-483f-b12a-5c3d8dcf1c0c.png</url>
      <title>DEV Community: Salmaan Ali</title>
      <link>https://dev.to/sallyman128</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sallyman128"/>
    <language>en</language>
    <item>
      <title>Unlocking Insights with ChatGPT for Data Analysis</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Thu, 06 Apr 2023 04:12:44 +0000</pubDate>
      <link>https://dev.to/sallyman128/unlocking-insights-with-chatgpt-for-data-analysis-41a7</link>
      <guid>https://dev.to/sallyman128/unlocking-insights-with-chatgpt-for-data-analysis-41a7</guid>
      <description>&lt;p&gt;Data analysis is a critical component of many businesses, but it can be time-consuming and resource-intensive. This is where ChatGPT can be incredibly useful. By leveraging its language modeling capabilities, ChatGPT can be used to analyze and interpret large volumes of text data, such as customer feedback, social media posts, and other sources.&lt;/p&gt;

&lt;p&gt;In this blog post, we'll explore how ChatGPT can be used to unlock insights from text data. We'll discuss the language modeling capabilities of ChatGPT and how they can be used to identify patterns and trends in the data. We'll provide examples of how businesses can use this information to improve their products and services, and provide tips for implementing ChatGPT for data analysis.&lt;/p&gt;

&lt;p&gt;One of the key advantages of ChatGPT's language modeling capabilities is its ability to understand context. This means that ChatGPT can accurately interpret the meaning behind text data, even if the data contains idiomatic expressions or other complexities. We'll explore this feature in more detail and provide tips for using ChatGPT effectively in data analysis.&lt;/p&gt;

&lt;p&gt;Overall, ChatGPT can be a valuable tool for businesses looking to unlock insights from text data. By leveraging its language modeling capabilities, businesses can gain a deeper understanding of their customers and improve their products and services.&lt;/p&gt;

</description>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Generating High-Quality Content with ChatGPT</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Thu, 06 Apr 2023 04:12:16 +0000</pubDate>
      <link>https://dev.to/sallyman128/generating-high-quality-content-with-chatgpt-45mi</link>
      <guid>https://dev.to/sallyman128/generating-high-quality-content-with-chatgpt-45mi</guid>
      <description>&lt;p&gt;Creating high-quality content is a time-consuming and resource-intensive process. This is where ChatGPT can be incredibly useful. By generating text that is indistinguishable from human-generated text, ChatGPT can reduce the time and cost associated with producing content, while maintaining the quality of the output.&lt;/p&gt;

&lt;p&gt;In this blog post, we'll explore how businesses can use ChatGPT to generate high-quality content with minimal human intervention. We'll provide examples of how ChatGPT can be used to generate blog posts, social media updates, and other types of content. We'll also discuss the benefits of using ChatGPT for content creation, such as reducing the time and cost associated with producing content, and providing tips for businesses looking to implement ChatGPT for their content creation.&lt;/p&gt;

&lt;p&gt;One of the key advantages of ChatGPT is its ability to learn from previous interactions and improve over time. This means that as more content is generated using ChatGPT, it becomes more intelligent and capable of producing higher-quality output. We'll explore this learning process in more detail and provide tips for businesses looking to train ChatGPT on their existing content.&lt;/p&gt;

&lt;p&gt;Overall, ChatGPT can be a valuable tool for businesses looking to generate high-quality content with minimal human intervention. By leveraging its natural language processing capabilities, businesses can reduce the time and cost associated with producing content, while maintaining the quality of the output.&lt;/p&gt;

</description>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Building Better Chatbots with ChatGPT</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Thu, 06 Apr 2023 04:11:47 +0000</pubDate>
      <link>https://dev.to/sallyman128/building-better-chatbots-with-chatgpt-3doi</link>
      <guid>https://dev.to/sallyman128/building-better-chatbots-with-chatgpt-3doi</guid>
      <description>&lt;p&gt;Chatbots have become increasingly popular in recent years, but their effectiveness can be limited by their inability to understand natural language. This is where ChatGPT can be incredibly useful. By providing more natural and human-like responses to users, ChatGPT can improve the performance of chatbots and provide a more engaging user experience.&lt;/p&gt;

&lt;p&gt;In this blog post, we'll explore how ChatGPT can be used to build better chatbots. We'll provide examples of common chatbot interactions, such as booking a hotel room or ordering a pizza, and demonstrate how ChatGPT can provide more personalized responses to users. We'll also discuss the benefits of using ChatGPT for chatbot interactions, such as reducing the workload of customer support teams and improving customer satisfaction.&lt;/p&gt;

&lt;p&gt;One of the key advantages of ChatGPT is its ability to generate text that is indistinguishable from human-generated text. This means that users interacting with a chatbot powered by ChatGPT may not even realize that they are interacting with a machine. We'll explore this feature in more detail and provide tips for building chatbots that leverage ChatGPT's natural language processing capabilities.&lt;/p&gt;

&lt;p&gt;Additionally, we'll discuss how businesses can use ChatGPT to improve the performance of their existing chatbots. By training ChatGPT on previous chatbot interactions, businesses can improve the accuracy and effectiveness of their chatbots. We'll provide examples of how this can be done, and explore the potential benefits of using ChatGPT to optimize chatbot performance.&lt;/p&gt;

&lt;p&gt;Overall, ChatGPT can be a game-changer for businesses looking to improve the performance of their chatbots. By providing more natural and engaging responses to users, businesses can improve customer satisfaction and reduce the workload of their customer support teams.&lt;/p&gt;

</description>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Breaking Down Language Barriers with ChatGPT</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Thu, 06 Apr 2023 04:11:09 +0000</pubDate>
      <link>https://dev.to/sallyman128/breaking-down-language-barriers-with-chatgpt-57m9</link>
      <guid>https://dev.to/sallyman128/breaking-down-language-barriers-with-chatgpt-57m9</guid>
      <description>&lt;p&gt;Language barriers can be a significant challenge in today's globalized world. Whether you're traveling to a foreign country or communicating with colleagues from different parts of the world, language can often be a barrier to effective communication. This is where ChatGPT can be incredibly useful.&lt;/p&gt;

&lt;p&gt;In this blog post, we'll explore how ChatGPT can be used to break down language barriers between people from different countries and cultures. We'll discuss the language translation capabilities of ChatGPT and how they can be used in real-world scenarios, such as travel and hospitality. We'll also provide examples of how ChatGPT can be integrated into existing platforms, such as messaging apps and chatbots.&lt;/p&gt;

&lt;p&gt;One of the key advantages of ChatGPT's language translation capabilities is its ability to understand context. This means that ChatGPT can accurately translate idiomatic expressions and phrases that might not be directly translatable. We'll explore this feature in more detail and provide tips for using ChatGPT effectively in multilingual environments.&lt;/p&gt;

&lt;p&gt;Overall, ChatGPT can be a powerful tool for breaking down language barriers and improving communication between people from different parts of the world. By leveraging its language translation capabilities, businesses can expand their global reach and provide more personalized service to their customers.&lt;/p&gt;

</description>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Revolutionizing Customer Support with ChatGPT</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Thu, 06 Apr 2023 04:10:19 +0000</pubDate>
      <link>https://dev.to/sallyman128/revolutionizing-customer-support-with-chatgpt-mpb</link>
      <guid>https://dev.to/sallyman128/revolutionizing-customer-support-with-chatgpt-mpb</guid>
      <description>&lt;p&gt;Customer support is an essential part of any business, but it can be time-consuming and resource-intensive. This is where ChatGPT comes in. By leveraging the natural language processing capabilities of ChatGPT, companies can automate their customer support and provide personalized responses to their customers.&lt;/p&gt;

&lt;p&gt;In this blog post, we'll explore how ChatGPT can revolutionize customer support for businesses. We'll provide examples of common customer support queries, such as product questions or account issues, and demonstrate how ChatGPT can provide personalized responses that are tailored to each customer's needs. We'll also discuss the benefits of using ChatGPT for customer support, such as reducing the time and cost associated with handling customer queries.&lt;/p&gt;

&lt;p&gt;One of the key benefits of ChatGPT is its ability to learn from previous interactions and improve over time. This means that as more customers interact with ChatGPT, it becomes more intelligent and capable of handling complex queries. We'll explore this learning process in more detail, and provide tips for businesses looking to implement ChatGPT for their customer support.&lt;/p&gt;

&lt;p&gt;Overall, ChatGPT can be a game-changer for businesses looking to improve their customer support. By providing personalized responses and automating common queries, ChatGPT can reduce the workload of customer support teams and improve customer satisfaction.&lt;/p&gt;

</description>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Importance of Git</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Fri, 08 Oct 2021 23:03:17 +0000</pubDate>
      <link>https://dev.to/sallyman128/importance-of-git-9dh</link>
      <guid>https://dev.to/sallyman128/importance-of-git-9dh</guid>
      <description>&lt;p&gt;It's definitely tedious and often annoying to pause working on a project so frequently to commit to your git repo. However, it is such a fantastic benefit if you do it well.&lt;/p&gt;

&lt;p&gt;I've learned that coding projects can so easily become larger than what you had initially expected. They can also change direction midway through the development phase. If you barely know the direction of project in the present, trust me, it will be near impossible to re-learn it in the future.&lt;/p&gt;

&lt;p&gt;That's where the beauty of frequent git commits come in.&lt;/p&gt;

&lt;p&gt;Of course git is first-and-foremost a version control system, but it is also a fantastic story teller. By having frequent and descriptive commits, you have a much better chance of following along with the train of thought you had at that moment of development.&lt;/p&gt;

&lt;p&gt;This mechanism of storytelling has three great purposes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Maybe you want to revisit a project and continue developing it. By reading the few most recent commits, you can put yourself back in that state-of-mind and progress onward with little difficulty.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maybe somebody wants to offer an added feature to one of your existing open-source projects. By reading the README.md and following along with your commit messages, that somebody can better understand how the project was built.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maybe you are applying for a job and the recruiter wants you to explain code from one of your projects. It'd be wonderful to go back in time and see what message you logged at the time of adding that code. Fortunately, the git file offers that pleasure, but only if you've committed your edits descriptively and frequently. It will show to the recruiter that you are highly organized with your logging of changes and know how to get quickly familiar with a project.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I am still working on my efforts to commit more often to git, but I absolutely see the benefits in the tool and know that it's worth the short and temporary hassle.&lt;/p&gt;

</description>
      <category>github</category>
      <category>codenewbie</category>
      <category>codequality</category>
    </item>
    <item>
      <title>First React-Redux with Rails Web-App</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Fri, 08 Oct 2021 22:47:10 +0000</pubDate>
      <link>https://dev.to/sallyman128/first-react-redux-with-rails-web-app-3hg6</link>
      <guid>https://dev.to/sallyman128/first-react-redux-with-rails-web-app-3hg6</guid>
      <description>&lt;p&gt;I'm recently realizing my joy for education and experiencing the glorious "ah-hah" moments. My career goal is to combine this joy with my developer skills. With this in consideration, I decided to build a prototype learning management software (LMS) as my first React-Redux with Rails project. The application would allow users (teachers) to enroll students in courses and then post assignments to those courses.&lt;/p&gt;

&lt;p&gt;From my previous developer experiences, I learned the crucial importance of planning a project. Although I definitely find it most exciting and fascinating to swiftly begin coding and see a product dynamically appear on a web screen, I specifically focused more attention on the planning for this project.&lt;/p&gt;

&lt;p&gt;My planning phase primarily included whiteboarding the user story, defining the model attributes and relationships, and generally exploring the design of the overall product. Once I had completed that, I eagerly began coding my project.&lt;/p&gt;

&lt;p&gt;With React being my most recently developed skill, I figured I should start with the client side of the application and then eventually work on the server side. I followed the general project principle of first focusing on the low-hanging-fruit. I quickly learned that this may not always be the best tactic, especially if focusing on that low-hanging-fruit is simply so that you can avoid the tougher challenges.&lt;/p&gt;

&lt;p&gt;As I continued working on the project, and naturally encountered challenges, I typically would spend some time working on a solution and if I wasn't able to find one, I would progress with another branch of the project and return to that challenge later. However, I would now highly advise against this approach, especially if you are unsure what the path will look like once you have found the solution to that challenge. There are so many dependencies in coding projects that it's best to fully know what you are depending on.&lt;/p&gt;

&lt;p&gt;In the end, I often had to refactor some of my code to expect a different result from the original challenge than as I had initially assumed.&lt;/p&gt;

&lt;p&gt;This definitely comes back to the importance of planning.&lt;/p&gt;

&lt;p&gt;No matter how much planning you do, you will naturally encounter unexpected situations once you begin developing. Rather than avoiding those situations, I think it is best to tackle them head on and fully understand how it may effect your plan.&lt;/p&gt;

&lt;p&gt;I no longer see planning as simply a phase that comes before coding/developing. It is more likely an ongoing exercise that starts before you begin any building and continues on until the end of the project. It is crucial to consistently reflect on how your current path compares to the planned one. It's absolutely tedious, but it will save so much time and headaches later on.&lt;/p&gt;

&lt;p&gt;If you'd like to check out my app, below is the link to the GitHub repo. This is just the base of what is possible after 10 months of software developer experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/sallyman128/mod4-final-project"&gt;https://github.com/sallyman128/mod4-final-project&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>rails</category>
      <category>redux</category>
      <category>webdev</category>
    </item>
    <item>
      <title>First Fullstack Web App</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Wed, 28 Jul 2021 15:32:35 +0000</pubDate>
      <link>https://dev.to/sallyman128/first-fullstack-web-app-le5</link>
      <guid>https://dev.to/sallyman128/first-fullstack-web-app-le5</guid>
      <description>&lt;p&gt;After separately learning Ruby on Rails and then Javascript, it was finally time to bring the two together for a fullstack project. Using JS/HTML/CSS for the frontend and a Ruby on Rails API for the backend, I built a fully functioning note taking app. A user can create, read, and delete notes. They can then create, read, and delete the relevant tags to each of their published notes.&lt;/p&gt;

&lt;p&gt;One interesting thing I gained from working on this project was a greater appreciation for the websites I encounter on the daily. I learned that building an application that can digest a variety of events and correctly assume the behavior of users is definitely more complex than I had initially thought. And then furthermore, being able to organize and build the code such that it is flexible for scaling is super impressive.  &lt;/p&gt;

&lt;p&gt;Some of the challenges I faced were with regards to organizing the JS code. At first, I had written all the code in one file and separated the blocks of associated code into sections delineated by a comment that described that section of the code. After I had the full application successfully running, I wanted to extract some of the repeated code into class object files associated to each of the models: Note and Tag. Once I had these multiple files working together, I had trouble determining how to distinguish the purpose of each file. Should the class object be responsible for fetching data from the backend or should it be responsible for rendering the data to the frontend? None of the actual coding was all that challenging once I knew what I needed to do, but tackling this last question was definitely the hardest part. But I figure this will likely be solved with personal experience and from reading others' codes.&lt;/p&gt;

&lt;p&gt;Looking forward to continuing to grow!&lt;/p&gt;

&lt;p&gt;Here's the link to my repo:&lt;br&gt;
&lt;a href="https://github.com/sallyman128/mod4-final-project"&gt;https://github.com/sallyman128/mod4-final-project&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>ruby</category>
      <category>rails</category>
    </item>
    <item>
      <title>First Complete Rails App</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Mon, 31 May 2021 06:24:57 +0000</pubDate>
      <link>https://dev.to/sallyman128/first-complete-rails-app-2ej8</link>
      <guid>https://dev.to/sallyman128/first-complete-rails-app-2ej8</guid>
      <description>&lt;p&gt;Having learned from my last few projects, I made sure this time to spend a few moments planning rather than jumping straight into coding. And it saved me a ton of headaches! I drew out my models with each of their attributes and illustrated their relationships. And it was through this process that I realized some initial model ideas weren't going to work out. Eventually I came up with the project idea for allowing users to create galleries where they can save their favorite paintings.&lt;/p&gt;

&lt;p&gt;Once each those models were fully concocted, I was ready to start building the rails app.&lt;/p&gt;

&lt;p&gt;Another thing I've learned from my past projects is the importance of seed data. It makes testing the app SOOOOO much easier! Previously, I would build the seed data manually. But a friend put me on to the faker gem. And it made generating random attributes so much easier. And way more fun too! Now I've got random StarWars characters as my users and random book titles as the titles of my paintings.&lt;/p&gt;

&lt;p&gt;Onto the developing!&lt;/p&gt;

&lt;p&gt;Most of the process was pretty smooth. I've grown comfortable with the basic MVC structure and so, building out the foundation of the app was relatively seamless. But once I started building the form views, I challenged myself to use the new form_with actionview helper method rather than the form_for or form_tag helpers that I originally learned. Knowing how the latter two worked definitely helped understand the former, but it did take some time and research to learn how to properly use it.&lt;/p&gt;

&lt;p&gt;The fields_for form was also challenging. I hadn't used it much before and it took some time to learn how the data was captured in params. And then also how to submit those params datapoints to a nested model. After many quick trial and errors, I slowly examined the full process and realized that the issue I had was a missing setter method for the nested model. Once I build that new instance method into the model, it was smooth sailing again.&lt;/p&gt;

&lt;p&gt;In the end, it was a success :) It sure had its fair share of challenges, but overcoming each hump is such a gratifying feeling!&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
    </item>
    <item>
      <title>First Sinatra Project</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Sun, 28 Mar 2021 04:09:59 +0000</pubDate>
      <link>https://dev.to/sallyman128/first-sinatra-project-2p6p</link>
      <guid>https://dev.to/sallyman128/first-sinatra-project-2p6p</guid>
      <description>&lt;p&gt;I've just completed my first MVC ruby project with Sinatra. And the most important thing I learned during the process was to plan plan plan. My biggest mistake was jumping straight into the project, wanting to satisfy my coding itch, without first considering what it was exactly I was trying to build.&lt;/p&gt;

&lt;p&gt;I gave the project requirements a quick read over and basically knew that I had to build an MVC app that gave one of my models the full CRUD capability. So I jumped in and started coding. At first my project was to have a list of video games where users could add, edit, or delete from the central community list. But what value was there in that? Why would users simply add a video game to a community library? Wouldn't it be more valuable for users to edit their personal library, and maybe share that list with the community? And did it make sense that any user could add whatever they wanted to that central list of video games? Expectedly, I started second guessing my idea. But maybe because of some sunken cost fallacy, I felt like I needed to continue with that initial idea since I had already begun coding.&lt;/p&gt;

&lt;p&gt;That night when I went to bed, I was finally away from my computer and it gave me the time to think more about the project. I started thinking it all through in my head and began realizing that I needed to add another feature to the app where individual users could actually own and interact with their personal contributions, and have it be well coexistent with the overall community members' contributions in the app.&lt;/p&gt;

&lt;p&gt;Reviews! That's it. The app will list a ton of games, and users will be able to review each game and read the reviews of other users.&lt;/p&gt;

&lt;p&gt;Although this new idea was related to the original one, I did have to do some significant back-tracking. But once I had that clearer goal in mind, the overall building of the app was much easier.&lt;/p&gt;

&lt;p&gt;I was confidently able to declare ActiveRecord associations between the models, seed the database with realistic records, and build out each of the routes tactically.&lt;/p&gt;

&lt;p&gt;I definitely would have myself a ton of time and stress if I started slow and thoroughly planned my project.&lt;/p&gt;

&lt;p&gt;In the end it all worked out :). Users are now able to submit reviews of any game on the list. If you want to check it out, I've copied the github repo below. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/sallyman128/salmaan_sinatra_mod_project"&gt;https://github.com/sallyman128/salmaan_sinatra_mod_project&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sinatra</category>
    </item>
    <item>
      <title>TodaysWeather: My first Ruby CLI Gem</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Mon, 01 Feb 2021 18:52:17 +0000</pubDate>
      <link>https://dev.to/sallyman128/todaysweather-my-first-ruby-cli-gem-303m</link>
      <guid>https://dev.to/sallyman128/todaysweather-my-first-ruby-cli-gem-303m</guid>
      <description>&lt;p&gt;It's now been close to 2 months since starting my software engineering journey with Flatiron. And I'm proud to announce that I've successfully created my first Ruby CLI gem using an object-oriented design. It's called TodaysWeather. And as you might guess, it provides the user with today's weather in the zip code of their choice.&lt;/p&gt;

&lt;p&gt;The process was initially trickier than expected. Up until now, I've been building my fundamental dev skills through exercises with clear-cut answers. This was the first time that I had to tap into my own imagination and creativity to solve a problem from scratch using those new skills.&lt;/p&gt;

&lt;p&gt;Once I decided on the purpose of the gem being to provide the user with the weather information, I hit my first roadblock. My experience so far had been solely with coding. But the first task of creating the gem was to create and organize the overall framework of files. Something I'd never done or experienced before. Where do I even start? Ugh. But with all other coding questions I've had so far, I immediately turned to Google. In a quick search, I learned that there's a simple command for creating the basic framework of files for a gem: $bundle gem project_name.&lt;/p&gt;

&lt;p&gt;And it was great! It built the general framework and came with all the bells and whistles! The basic architecture of files. The MIT license. A README template that helps organize the developer's thoughts to the user. Sweet!! I was ready to get started!&lt;/p&gt;

&lt;p&gt;Over the next 2-3 days, I coded the entire project with a few hurdles here and there. The main hurdles were staying focused on a single task at a time and properly organizing methods between the different objects I had created. I had to keep reminding myself to pace myself and to not worry too much about complete cleanliness now. Let's just get this thing working and then I can refactor it later to be more organized and concise.&lt;/p&gt;

&lt;p&gt;I found a free weather API from OpenWeatherMap.org. I created an account with them and they provided me with a unique API key to access their weather data. I integrated the API key with my code and was successfully able to access their weather data stored in a hash.&lt;/p&gt;

&lt;p&gt;I had previously linked my code to a repository on my GitHub account. After I had committed and pushed my updates, I got an alarming automated email from GitHub. My API key had been exposed. I immediately changed my repository settings to private and googled the situation.&lt;/p&gt;

&lt;p&gt;I didn't even consider that my API key could be used by others on the internet. Fortunately, I had acted soon enough (much thanks to GitHub) that there weren't any problems. I deleted my original API key, generated a new one, and learned to save it in an environment variable that I could gitignore from being pushed to my public repository. Phew! That mistake could have costed me upwards of $2,000!&lt;/p&gt;

&lt;p&gt;In the end, this was an extremely valuable experience. I learned a ton of new lessons and with my first gem successfully developed, I definitely gained some nice confidence boosts.&lt;/p&gt;

&lt;p&gt;Stay tuned for more updates on this journey!&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>cli</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Why did you decide to study software engineering?</title>
      <dc:creator>Salmaan Ali</dc:creator>
      <pubDate>Thu, 10 Dec 2020 02:45:07 +0000</pubDate>
      <link>https://dev.to/sallyman128/why-did-you-decide-to-study-software-engineering-1e61</link>
      <guid>https://dev.to/sallyman128/why-did-you-decide-to-study-software-engineering-1e61</guid>
      <description>&lt;p&gt;My first experience with coding was not the hottest. It made me feel like I didn't have the aptitude for software engineering. Many years later, though, I found myself in the office wanting to solve problems that could only be solved with coding. I decided to try my hand it again. And to my surprise, I now found the process totally enjoyable! More than just the complete satisfaction of successfully running my program, but also the iterative process of building it, the continuous learning that would feed into improving it, the consideration of all users (front end and back end), and the incredibly resourceful community online. I absolutely loved the full experience!&lt;/p&gt;

&lt;p&gt;The only problem was that I had already begun on an economics career path and I wasn't sure if I should drop it all to start on a new career.&lt;/p&gt;

&lt;p&gt;I struggled with the decision for over a year. But I've now decided to take the risk and embark on this journey. And I'm honestly over the moon for it!&lt;/p&gt;

&lt;p&gt;I'm excited to eventually meld my experience in economics with software engineering to pursue a career in either the FinTech or eLearning industries.&lt;/p&gt;

&lt;p&gt;Let's do this!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
